C++0x flags/keywords

The attached patch adds all of the various bits to introduce a C++0x dialect into Clang, including the dialect option, C++0x keywords, and command-line switches for the driver.

While adding keywords, I ran into this confusing bit:

KEYWORD(_Complex , EXTC90) // C99/C++

_Complex isn't part of C++, so shouldn't this be marked EXTC99|EXTCPP|EXTCPP0x?

When running "make test" in the clang directory, I get a lot of output that includes several "FAILED!" indicators. Should I expect the output of "make test" to be clean, with no errors? Is there a simple way to get a count of tests run/errors/etc. (aside from grep)?

  - Doug

clang-cxx0x-mode.patch (9.81 KB)

The attached patch adds all of the various bits to introduce a C++0x dialect into Clang, including the dialect option, C++0x keywords, and command-line switches for the driver.

Thanks, applied!

While adding keywords, I ran into this confusing bit:

KEYWORD(_Complex , EXTC90) // C99/C++

_Complex isn't part of C++, so shouldn't this be marked EXTC99|EXTCPP>EXTCPP0x?

You're right. Interesting mistake, I've corrected it, thanks!

When running "make test" in the clang directory, I get a lot of output that includes several "FAILED!" indicators. Should I expect the output of "make test" to be clean, with no errors? Is there a simple way to get a count of tests run/errors/etc. (aside from grep)?

You should only get a single failure, which is xfailed:

XFAILED 'Parser/expressions.c': // XFAIL: *
******************** TEST 'Parser/expressions.c' FAILED!