[Bug driver/71930] New: g++ invokes the wrong preprocessor
noloader at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Jul 19 11:18:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71930
Bug ID: 71930
Summary: g++ invokes the wrong preprocessor
Product: gcc
Version: 6.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: driver
Assignee: unassigned at gcc dot gnu.org
Reporter: noloader at gmail dot com
Target Milestone: ---
I don't believe this is expected behavior, especially since (1) g++ is being
used, and (2) -std=c++17 is being used.
$ /opt/local/bin/g++ -std=c++17 -dM -E - </dev/null | grep __cplusplus
cc1: warning: command line option '-std=c++1z' is valid for C++/ObjC++ but not
for C
And:
$ /opt/local/bin/g++ --version
g++-mp-6 (MacPorts gcc6 6.1.0_0) 6.1.0
Force including a C++ header resulted in an error:
$ /opt/local/bin/g++ -std=c++17 -include string -dM -E - </dev/null | grep
__cplusplus
cc1: warning: command line option '-std=c++1z' is valid for C++/ObjC++ but not
for C
cc1: fatal error: string: No such file or directory
It seems like if the right preprocessor were used, I could get GCC to give me
the value of __cplusplus without a lot of aggravations.
More information about the Gcc-bugs
mailing list