History log of /external/clang/test/Parser/cxx-default-args.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e1e90090d94a1f96ba58d3a2f25315ccf352998c 09-Aug-2010 Argiris Kirtzidis <akyrtzi@gmail.com> Change warning about incomplete parsing of C++ default arg to error and provide a test case; thanks Doug!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx-default-args.cpp
d81673ac7aeab829338a57c161fb28879fcf11b3 06-Aug-2010 Argiris Kirtzidis <akyrtzi@gmail.com> Introduce a new token kind 'cxx_defaultarg_end' to mark the end of C++ default arguments that were part of
lexed method declarations.

This avoid interference with tokens coming after the point where the default arg tokens were 'injected', e.g. for

typedef struct Inst {
void m(int x=0);
} *InstPtr;

when parsing '0' the next token would be '*' and things would be messed up.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx-default-args.cpp
9f76885bbab4aa6b579072bbe3a8905745466e48 31-Mar-2010 Argiris Kirtzidis <akyrtzi@gmail.com> When "delayed parsing" C++ default arguments, if there is an error, there may be tokens left in the token stream
that will interfere (they will be parsed as if they are after the class' '}') and a crash will occur because
the CachedTokens that holds them will be deleted while the lexer is still using them.

Make sure that the tokens of default args are removed from the token stream.
Fixes PR6647.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx-default-args.cpp