Not exactly: the C Standard *allows* ? to be escaped as \?, it does not specify that it should be.

Hmm .. I stand corrected! OK - so if it sees \? its ? and if it sees ? it checks to see if its a trigraph, and if it sees \??= then it cries.

Imagine you have a date template that looks like this:  “??/??/??”
It looks pretty harmless, but with trigraph conversion, it translates as “\\??”

As I read this I was thinking .. why would they escape a question mark? And then I saw the word trigraphs and thought .. what were trigraphs again? And then I looked it up and went .. OH YEAH! Not only have I never needed them, but I don't even understand WHEN I would need them. Apparently, I will never need them and it doesn't matter. If I haven't used em in 25 years, its not gonna happen.

The good news is tcc does not support trigraphs at all, but try gcc and clang on this ;-)

That is good news! If it supported them I would hack the code out of the source to make my copy a little bit smaller.
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to