faisalv closed this revision.
faisalv added a comment.
Committed here : https://reviews.llvm.org/rL303492
https://reviews.llvm.org/D31588
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm
faisalv accepted this revision.
faisalv added a comment.
This revision is now accepted and ready to land.
Modified and committed as:
http://llvm.org/viewvc/llvm-project?view=revision&revision=303492
https://reviews.llvm.org/D31588
___
cfe-commits m
rsmith added inline comments.
Comment at: lib/Parse/ParseExpr.cpp:203-222
+ // Create the ExpressionEvaluationContext on the stack - but only if asked
to.
+ struct EnterExpressionEvaluationContextConditionalRAII {
+llvm::AlignedCharArray
+MyStackStorage;
+const
faisalv added a comment.
*ping*
*ping*
https://reviews.llvm.org/D31588
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
faisalv added a comment.
*ping*
https://reviews.llvm.org/D31588
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
faisalv updated this revision to Diff 96861.
faisalv added a comment.
Fixed a regression test that should have passed without emitting error
diagnostics - and now does.
https://reviews.llvm.org/D31588
Files:
include/clang/Parse/Parser.h
lib/Parse/ParseExpr.cpp
lib/Parse/ParseTemplate.cpp
faisalv updated this revision to Diff 96858.
faisalv marked 3 inline comments as done.
faisalv added a comment.
Updated the patch following Richard's feedback:
- teach ParseConstantExpression to create its own ExpressionEvaluationContext
only if asked to.
https://reviews.llvm.org/D31588
Files
rsmith added inline comments.
Comment at: lib/Parse/ParseTemplate.cpp:1203-1204
+ {
+EnterExpressionEvaluationContext EnterConstantEvaluated(
+Actions, Sema::ExpressionEvaluationContext::ConstantEvaluated);
+if (isCXXTypeId(TypeIdAsTemplateArgument)) {
--
faisalv created this revision.
This patch ensures that clang processes the expression-nodes that are generated
when disambiguating between types and expressions within template arguments, as
if they were truly constant-expressions. Currently, trunk correctly
disambiguates, and identifies the e