This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/34859] New: g++ -D__STDC_LIMIT_MACROS -D__STDC_LIMIT_MACROS causes error
- From: "peeterj at ca dot ibm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Jan 2008 22:57:16 -0000
- Subject: [Bug c++/34859] New: g++ -D__STDC_LIMIT_MACROS -D__STDC_LIMIT_MACROS causes error
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Have a situation where some ugly make recursion is causing -D related cflags
for compilation to be duplicated (only for one file out of thousands)
When that duplication happens to include -D__STDC_LIMIT_MACROS the g++ 4.3
(using 20080111 snapshot) ends up with the following error:
<command-line>: error: "__STDC_LIMIT_MACROS" redefined
<command-line>: error: this is the location of the previous definition
Can reproduce this as follows:
rm -rf r.C
touch r.C
gcc-4.3-20080111/bin/g++ -c -D__STDC_LIMIT_MACROS -D__STDC_LIMIT_MACROS r.C
Other -D values do not appear to cause any sort of trouble. Example:
gcc-4.3-20080111/bin/g++ -c -D__BLAH -D__BLAH r.C
gcc-4.3-20080111/bin/g++ -c -DXXX -DXXX r.Cvim h
But it appears that duplicate -D statements for anything that starts with
-D__STDC_ causes this error (-D__STDC is okay).
Any explaination for the special casing of the flags that start with __STDC_?
This behaviour has not been observed with g++ 4.2 or lower.
--
Summary: g++ -D__STDC_LIMIT_MACROS -D__STDC_LIMIT_MACROS causes
error
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: peeterj at ca dot ibm dot com
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34859