]> granicus.if.org Git - clang/commit
Found a subtle bug caused by an implicit enum-to-bool conversion (of the TentativePar...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sun, 5 Oct 2008 18:52:21 +0000 (18:52 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sun, 5 Oct 2008 18:52:21 +0000 (18:52 +0000)
commitb9f341916e484ff6ba2c2d28c8b2dd5fa12b0015
tree24b6c4b1ca0febeff26a1d24621bebf39388e840
parent770918281c5bdc7b5b3942285c407e3d62270053
Found a subtle bug caused by an implicit enum-to-bool conversion (of the TentativeParsingResult enum).
This was the motivation of the following changes:

-'TentativeParsingResult' enum is replaced by a 'TPResult' class that basically encapsulates the enum.
-TPR_true, TPR_false, TPR_ambiguous, and TPR_error enum constants are replaced by TPResult::True(), TPResult::False(), etc. calls that return a TPResult object.
-Also fixed the subtle bug in Parser::isCXXFunctionDeclarator (caught by the above changes as a compilation error).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57125 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Parse/Parser.h
lib/Parse/ParseTentative.cpp
test/SemaCXX/decl-expr-ambiguity.cpp