Andrew Benton wrote: > On Fri, 03 Feb 2012 21:44:34 -0800 Bryan Kadzban > <[email protected]> wrote: > >> Do you get __USE_ISOC11 #define'd (to what value?) or #undef'ed? >> What about __cplusplus (again, what value)? >> > > andy@eccles:/mnt/lfs/sources$ /tools/bin/x86_64-lfs-linux-gnu-gcc -E > -D_GNU_SOURCE -Wp,-dU /tools/include/stdio.h | grep __USE_ISOC11
Ah, sorry, no -- g++, not gcc. :-) > #define __USE_ISOC11 1 > > andy@eccles:/mnt/lfs/sources$ /tools/bin/x86_64-lfs-linux-gnu-gcc -E > -D_GNU_SOURCE -Wp,-dU /tools/include/stdio.h | grep __cplusplus > #undef __cplusplus Yeah, that's because somewhere the header file tested for #ifdef __cplusplus (or equivalent) and it wasn't set. But it wasn't set because this started by running gcc, not g++. :-) (Actually, I should probably have specified this as well: I don't know what other flags gcc pass2 is passing to g++ when compiling libstdc++, but matching those flags will be good as well. In particular, -D<foo> and -std=<foo> flags are important here. Double checking the output of your test g++ run for whether you see a prototype for "gets" is also a good idea.) > I'm out of my depth here. The important bit is the -dU passed to the preprocessor. You can see docs in the cpp info pages, but basically, it dumps out the preprocessed output, along with all #define lines that it hits, but only for #define macros that are actually used. (It dumps them when they're first used.) Also, if it sees a #if or #ifdef that's testing a macro that isn't set, a "#undef <macro-name>" line is dumped at that point. It's rather useful for debugging preprocessor mazes like what glibc and gcc have created. :-) Actually, the full output will be useful as well. In the meantime, I'll poke a bit at the stdio.h file above, and see if I can come up with anything. (The full output will tell me what random other preprocessor macros are set to, as well, if they get tested in the header.)
signature.asc
Description: OpenPGP digital signature
-- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
