diff options
Diffstat (limited to 'clang/test/Parser/cxx-default-args.cpp')
-rw-r--r-- | clang/test/Parser/cxx-default-args.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/Parser/cxx-default-args.cpp b/clang/test/Parser/cxx-default-args.cpp new file mode 100644 index 0000000..7fe8474 --- /dev/null +++ b/clang/test/Parser/cxx-default-args.cpp @@ -0,0 +1,16 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +// PR6647 +class C { + // After the error, the rest of the tokens inside the default arg should be + // skipped, avoiding a "expected ';' after class" after 'undecl'. + void m(int x = undecl + 0); // expected-error {{use of undeclared identifier 'undecl'}} +}; + +typedef struct Inst { + void m(int x=0); +} *InstPtr; + +struct X { + void f(int x = 1:); // expected-error {{unexpected end of default argument expression}} +}; |