| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-Wfor-loop-analysis warnings for a for-loop with a condition variable. In such
a case, the loop condition variable is modified on each iteration of the loop
by definition.
Original commit message:
Rearrange condition handling so that semantic checks on a condition variable
are performed before the other substatements of the construct are parsed,
rather than deferring them until the end. This allows better error recovery
from semantic errors in the condition, improves diagnostic order, and is a
prerequisite for C++17 constexpr if.
llvm-svn: 273600
|
|
|
|
|
|
|
|
| |
condition variable"
as it caused a regression in -Wfor-loop-analysis.
llvm-svn: 273589
|
|
|
|
|
|
|
|
|
| |
are performed before the other substatements of the construct are parsed,
rather than deferring them until the end. This allows better error recovery
from semantic errors in the condition, improves diagnostic order, and is a
prerequisite for C++17 constexpr if.
llvm-svn: 273548
|
|
|
|
|
|
|
| |
Added expected diagnostics new to C++11.
Expanded RUN line to: default, C++98/03 and C++11.
llvm-svn: 253371
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The motivation is to fix a crash on
struct S {} s;
Foo S::~S() { s.~S(); }
What was happening here was that S::~S() was marked as invalid since its
return type is invalid, and as a consequence CheckFunctionDeclaration() wasn't
called and S::~S() didn't get merged into S's implicit destructor. This way,
the class ended up with two destructors, which confused the overload printer
when it suddenly had to print two possible destructors for `s.~S()`.
In addition to fixing the crash, this change also seems to improve diagnostics
in a few other places, see test changes.
Crash found by SLi's bot.
llvm-svn: 229639
|
|
|
|
|
|
| |
clause causes clang to crash.
llvm-svn: 216778
|
|
|
|
|
|
| |
This patch fixes PR16989.
llvm-svn: 196352
|
|
|
|
|
|
|
| |
If source code is invalid, error recovery can lead to name lookup in a set containing invalid declaration. The lookup is stopped once found such declaration, but LookupResult object could remain in inconsistent state. Its destructor triggered a check, which caused assert violation.
This patch fixes PR16964 and PR12791.
llvm-svn: 189916
|
|
|
|
| |
llvm-svn: 167232
|
|
|
|
| |
llvm-svn: 166894
|
|
|
|
| |
llvm-svn: 166866
|
|
|
|
|
|
| |
Makes sure we don't overflow the stack.
llvm-svn: 160511
|
|
|
|
|
|
| |
ActOnDeclarator can return NULL. Fixes PR10270, from Hans Wennborg!
llvm-svn: 134416
|
|
|
|
| |
llvm-svn: 124034
|
|
|
|
| |
llvm-svn: 123914
|
|
|
|
|
|
| |
make sure to setup the instantiation stack. Fixes rdar://8620775 & http://llvm.org/PR8234
llvm-svn: 118314
|
|
|
|
|
|
|
|
|
| |
semantic error.
We already flag the error with InitListChecker's hadError and we mess up the AST unnecessarily.
Fixes rdar://8605381.
llvm-svn: 117760
|
|
|
|
| |
llvm-svn: 117759
|
|
llvm-svn: 117758
|