-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build-time warnings using g++ as compiler #191
Comments
#190 -- which is a cherry-pick of a patch from @rurban from 2 years ago -- appears to clear up most of these warnings. Here is my before/after comparison: Effect of applying rurban patch 5599d1a in branch gpp-build-time-warnings-20210505
|
With one more commit to the gpp-build-time-warnings-20210505 branch (#190), we can reduce the remaining number of g++ build-time warnings from 3 to 2.
|
With release of CPAN version 6.10, 2 |
|
My local and remote machines have been upgraded. Here is a status update on warnings emitted during Ubuntu Linux 22.04 LTS
FreeBSD-13
So on both platforms
I don't follow C++ development. Is there anyone who could shed some light on this? |
In an attempt to eliminate build-time warnings. See: timbunce#191.
In an attempt to eliminate build-time warnings. See: timbunce#191.
Done to eliminate build-time warnings. See: timbunce#191. Increment $VERSION to 6.12_004 for additional trial release.
Done to eliminate build-time warnings. See: timbunce#191. When compiled with a perl built with g++, there now remain two '-Wwrite-strings' warnings which look like this: ISO C++ forbids converting a string constant to char* Increment $VERSION to 6.12_004 for additional trial release.
The 4 |
Done to eliminate build-time warnings. See: #191. When compiled with a perl built with g++, there now remain two '-Wwrite-strings' warnings which look like this: ISO C++ forbids converting a string constant to char* Increment $VERSION to 6.12_004 for additional trial release.
Changes in Devel::NYTProf 6.14 - 18th Oct 2023 There should be no significant differences in the performance of Devel-NYTProf from that of the previous release. This release is primarily maintenance- focused. More build-time warnings using recent versions of C compilers have been eliminated, particularly with recent production releases of Perl. Thanks to Karl Williamson for guidance on updating ppport.h and using it to update NYTProf.xs. Changes in Devel::NYTProf 6.13 - 10th Oct 2023 There should be no significant differences in the performance of Devel-NYTProf from that of the previous release. This release is primarily maintenance- focused. The largest difference in the distribution is the removal of the nytprofpf program (GH 206 <timbunce/devel-nytprof#206>). This program was written for an open-source software competition which is no longer being held. Other changes include: Removal of remaining reference to Travis CI (GH 202 <timbunce/devel-nytprof#202>). Elimination of 'bad-function-cast' warnings during 'make' (GH 205 <timbunce/devel-nytprof#205>). Correction of typographic error in nytprofhtml thanks to Amory Meltzer (GH 210 <timbunce/devel-nytprof#210>). Depending on Per version, skip one test file that was exercising 'given' and 'when' keywords (now deprecated) (GH 211 <timbunce/devel-nytprof#211>). Elimination of the 'register' keyword from NYTProf.xs (partial resolution of GH 191 <timbunce/devel-nytprof#191>) which is forbidden as of ISO C++17.
Just remove the register token. Perl 5 core removed the register keyword very long ago, and NYTProf's use looks like copy pastes from pre-5.6 Perl. Keyword "register" has little purpose nowadays other than syntax forbidding & address of operator. No production C compiler will ever listen to the register keyword for optimization vs the CC's own variable liveness analysis code and the CC's bundled optimization algos. Homework/educational C compilers written over a weekend might use it, but its just not applicable nowadays. Decades ago register keyword was used for integrating "inline assembly" features into C. The keyword was a ISO C spec "portal" to a huge amount of vendor specific CC features. Microsoft removed inline assembly 20 years ago. GCC inline assembly, the psuedo assembly syntax/grammar has the mechanism to capture/transfer integers between C lang and GCC assembly lang, the syntax isn't the C lang side of GCC, |
With a
perl-5.32.1
compiled on FreeBSD withg++
, I got these build-time errors when runningmake
for Devel-NYTProf:The text was updated successfully, but these errors were encountered: