diff --git a/clang/lib/Parse/ParseExprCXX.cpp b/clang/lib/Parse/ParseExprCXX.cpp --- a/clang/lib/Parse/ParseExprCXX.cpp +++ b/clang/lib/Parse/ParseExprCXX.cpp @@ -2270,7 +2270,6 @@ /// bool Parser::ParseCXXTypeSpecifierSeq(DeclSpec &DS) { ParseSpecifierQualifierList(DS, AS_none, DeclSpecContext::DSC_type_specifier); - DS.Finish(Actions, Actions.getASTContext().getPrintingPolicy()); return false; } diff --git a/clang/test/Parser/cxx98-char.cpp b/clang/test/Parser/cxx98-char.cpp new file mode 100644 --- /dev/null +++ b/clang/test/Parser/cxx98-char.cpp @@ -0,0 +1,7 @@ +// RUN: %clang_cc1 -std=c++11 -Wc++98-compat -verify=cxx11 -fcxx-exceptions %s +void foo() +{ + try { } + catch (char16_t b) {} // cxx11-warning {{'char16_t' type specifier is incompatible with C++98}} + catch (char32_t c) {} // cxx11-warning {{'char32_t' type specifier is incompatible with C++98}} +}