On 05/28/2013 03:08 PM, Wolfgang Denk wrote: > Dear Simon Glass, > > In message <1369769778-12455-1-git-send-email-...@chromium.org> you wrote: >> >> Some device tree files use the word 'linux' which gets replaced with '1' by >> many version of gcc, including version 4.7. So undefine this. > > I think this is not a good way to address this issue. The GCC > documentation (section "System-specific Predefined Macros" [1]) > desribes how this should be handled. The "correct" (TM) way to fix > this is by adding "-ansi" or any "-std" option that requests strict > conformance to the compiler/preprocessor command line. > > [1] > http://gcc.gnu.org/onlinedocs/cpp/System_002dspecific-Predefined-Macros.html#System_002dspecific-Predefined-Macros
-ansi at least was considered when the Linux kernel patches for dtc+cpp support were being developed, but it was rejected. While it possibly does solve this specific issue fine, there were other more general problems; IIRC (and I might not) it completely changes the way macro expansion happens, which results in it being pretty useless. Hence, "-x assembler-with-cpp" was chosen over e.g. "-ansi". _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss