← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH 2/3] Include <iso646.h> for "not", "and" and "or" keywords

 

What? Those keywords are part of the C++ standard from 2003(at least).
Its only MSVC that is backwards and broken in this regard.


They are not part of the C standards and thats why <iso646.h> exists
for those hipsters with non-qwerty keyboards (I joke)

https://en.wikipedia.org/wiki/C_alternative_tokens
"The above mentioned identifiers are operator keywords in the ISO C++
programming language and do not require the inclusion of a header
file."

In fact, here's the standard (C++11 doc at least):
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf

Go to page 22 (pdf page 37). It defines the operators as part of C++.


This is the header on the linux libstdc++
https://gcc.gnu.org/onlinedocs/gcc-4.8.5/libstdc++/api/a00786_source.html

But yea the include ~should~ be harmless for gcc since the file is
blank anyway and it'll fix Microsoft's brokenness.


Follow ups

References