Because they still wanted to support some EBCDIC code pages which don't include { or }.
See also: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n291...
See also: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n291...
It's remarkable that such systems still exist (and are apparently being updated, without their foundational cracks fixed) still today!
FFS, if you somehow find both of these to be true, preprocess your source to convert trigraphs to the corresponding glyphs, and to a character encoding that supports them. I can't possibly believe that they're running a C++17 compiler on a system that has no support for such a character set.