]> granicus.if.org Git - clang/commit
Allow paren casted throw statements inside of ternary expressions
authorDavid Majnemer <david.majnemer@gmail.com>
Sun, 2 Jun 2013 08:40:42 +0000 (08:40 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Sun, 2 Jun 2013 08:40:42 +0000 (08:40 +0000)
commitc063cb1e1a2e4b76f27762fcf56b4ba2ede8f0a9
treee905712eadb98f36e2efebdd87a6508488118477
parentad69e0cc6590f2d208fa863c48697563960e4a61
Allow paren casted throw statements inside of ternary expressions

clang would incorrectly not allow the following:

int x = true ? (throw 1) : 2;

The problem exists because we don't see beyond the parens.
This, in turn, causes us to believe that we are choosing between void
and int which we diagnose as an error.

Instead, allow clang to see the 'throw' inside the parens.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183085 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaExprCXX.cpp
test/CodeGenCXX/throw-expressions.cpp
test/SemaCXX/conditional-expr.cpp