]> granicus.if.org Git - clang/commit
Introduce a new token kind 'cxx_defaultarg_end' to mark the end of C++ default argume...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Fri, 6 Aug 2010 09:47:24 +0000 (09:47 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Fri, 6 Aug 2010 09:47:24 +0000 (09:47 +0000)
commit2b602adf9798eaf13850efaf8ed41c69d3cf7da6
tree67aa07cc6eda84e08dad6d8300fcdd9ea71d3f56
parentfcecd3cc07ad395e05db864bc21f7790f7878156
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
include/clang/Basic/TokenKinds.def
lib/Parse/ParseCXXInlineMethods.cpp
lib/Parse/ParseDecl.cpp
test/Parser/cxx-default-args.cpp