Created attachment 14310 [details] patch to workaround naming conflict between sys/time.h and TargetParser.h Changset 2369000 appears to introduce a new enumeration into TargetParser.h + // Arch extension modifiers for CPUs. + enum ArchExtKind { + INVALID_ARCHEXT = 0, + CRC, + CRYPTO, + FP, + HWDIV, + MP, + SEC, + VIRT, + LAST_ARCHEXT + }; sys/time.h on Solaris (and possibly other systems) defines "SEC" as "1" using a cpp macro. The result is that this fails to compile. A temporary workaround seems to be to #undef SEC in Solaris.h, but a better answer might be to prefix the enumeration values so there were no conflicts.
Generally our solution is to undef the macro. The enum is already namespaced inside ARM::, so adding a prefix would be pretty redundant.
I'm ok with adding the prefix, if that's preferred. I just kept the same names for consistency with the previous code. Thinking about macros, conflicts with things like CRC and CRYPTO might be more common than we think...
Adding prefixes to the enums in r237112 / r237113.