| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 194994
|
| |
|
|
|
|
|
| |
the GNU documentation: the attribute only appertains to the label if it is
followed by a semicolon. Based on a patch by Aaron Ballman!
llvm-svn: 194869
|
| |
|
|
| |
llvm-svn: 194850
|
| |
|
|
|
|
| |
The PowerPC and ARM native builders spotted this.
llvm-svn: 193688
|
| |
|
|
|
|
|
| |
It's possible to embed the frontend in applications that haven't initialized
backend targets so we need to handle this condition gracefully.
llvm-svn: 193685
|
| |
|
|
|
|
| |
statement (after a case label, if, etc). Patch by Olivier Goffart!
llvm-svn: 193545
|
| |
|
|
|
|
|
|
|
|
| |
This patch wasn't reviewed, and isn't correctly preserving the behaviors
relied upon by QT. I don't have a direct example of fallout, but it
should go through the standard code review process. For example, it
should never have removed the QT test case that was added when fixing
those users.
llvm-svn: 193174
|
| |
|
|
|
|
|
|
| |
This is a fix to PR17649, caused by fix in r193073. QT uses 'break' statement
to implement their 'foreach' macro. To enable build of QT, this fix reenables
break but only in 'for' statement specifier and only in the third expression.
llvm-svn: 193170
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to statement expressions supported as GCC extension, it is possible
to put 'break' or 'continue' into a loop/switch statement but outside its
body, for example:
for ( ; ({ if (first) { first = 0; continue; } 0; }); )
Such usage must be diagnosed as an error, GCC rejects it. To recognize
this and similar patterns the flags BreakScope and ContinueScope are
temporarily turned off while parsing condition expression.
Differential Revision: http://llvm-reviews.chandlerc.com/D1762
llvm-svn: 193073
|
| |
|
|
|
|
| |
a patch by Michael Han.
llvm-svn: 192666
|
| |
|
|
| |
llvm-svn: 191798
|
| |
|
|
| |
llvm-svn: 191589
|
| |
|
|
| |
llvm-svn: 191545
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move some tests from typo-correction.cpp to typo-correction-pt2.cpp
because they were running afoul of the hard-coded limit of 20 typos
corrected. Some of the tests after it were still working due to the
limit not applying to cached corrections and in cases where a non-NULL
MemberContext is passed in to Sema::CorrectTypo. Most of the moved tests
still passed after being moved, but the test involving "data_struct" had
only been passing because the test had exceeded that limit so a fix for
it is also included (most of the changes to ParseStmt.cpp are shared with
and originated from another typo correction impovement that was split
into a separate commit).
llvm-svn: 191544
|
| |
|
|
| |
llvm-svn: 190806
|
| |
|
|
| |
llvm-svn: 190601
|
| |
|
|
|
|
|
|
| |
changing Parameter from MutableArrayRef to
ArrayRef.
No functionality change intended.
llvm-svn: 188994
|
| |
|
|
|
|
|
|
|
| |
We generally don't warn about extensions involving keywords reserved
for the implementation, so we shouldn't warn here either: the
standard doesn't require it, and it doesn't provide useful information
to the user.
llvm-svn: 188840
|
| |
|
|
|
|
|
|
| |
changing Parameter of Sema::ActOnCompoundStmt from MutableArrayRef to
ArrayRef.
No functionality change intended.
llvm-svn: 188705
|
| |
|
|
| |
llvm-svn: 186647
|
| |
|
|
|
|
|
|
| |
Sema::ActOnDocumentableDecls.
Patch by Robert Wilhelm.
llvm-svn: 185931
|
| |
|
|
| |
llvm-svn: 184176
|
| |
|
|
| |
llvm-svn: 181681
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the actual parser and support arbitrary id-expressions.
We're actually basically set up to do arbitrary expressions here
if we wanted to.
Assembly operands permit things like A::x to be written regardless
of language mode, which forces us to embellish the evaluation
context logic somewhat. The logic here under template instantiation
is incorrect; we need to preserve the fact that an expression was
unevaluated. Of course, template instantiation in general is fishy
here because we have no way of delaying semantic analysis in the
MC parser. It's all just fishy.
I've also fixed the serialization of MS asm statements.
This commit depends on an LLVM commit.
llvm-svn: 180976
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch implements parsing ‘#pragma clang __debug’ as a first step for
implementing captured statements. Captured statements are a mechanism for
doing outlining in the AST.
see http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-January/027540.html.
Currently returns StmtEmpty
Author: Andy Zhang <andy.zhang@intel.com>
Differential Revision: http://llvm-reviews.chandlerc.com/D369
llvm-svn: 179614
|
| |
|
|
|
|
| |
sugar for the _Atomic type specifier.
llvm-svn: 178210
|
| |
|
|
| |
llvm-svn: 177705
|
| |
|
|
|
|
|
|
|
|
|
|
| |
picking up cleanups from earlier in the statement. Also fix a
crash-on-invalid where a reference to an invalid decl from an
enclosing scope was causing an expression to fail to build, but
only *after* a cleanup was registered from that statement,
causing an assertion downstream.
The crash-on-valid is rdar://13459289.
llvm-svn: 177692
|
| |
|
|
| |
llvm-svn: 175860
|
| |
|
|
|
|
|
| |
diagnose attributes on alias declarations, using directives, and attribute
declarations.
llvm-svn: 175649
|
| |
|
|
|
|
|
| |
we don't do the scope checks otherwise we are going to hit assertion checks
since a label may not have been actually added.
llvm-svn: 175281
|
| |
|
|
| |
llvm-svn: 173779
|
| |
|
|
|
|
| |
inline assembly can be enable with -fasm-blocks or -fms-extensions alone.
llvm-svn: 173186
|
| |
|
|
|
|
| |
supported.
llvm-svn: 173177
|
| |
|
|
|
|
|
|
| |
ActOnFinishFullExpr that some of its checks only apply to discarded-value
expressions. This adds missing checks for unexpanded variadic template
parameter packs to a handful of constructs.
llvm-svn: 172485
|
| |
|
|
|
|
| |
nearby 'C++0x' comments.
llvm-svn: 171372
|
| |
|
|
| |
llvm-svn: 171367
|
| |
|
|
| |
llvm-svn: 171268
|
| |
|
|
|
|
| |
that was skipped by the parser.
llvm-svn: 169531
|
| |
|
|
|
|
|
| |
-fasm-blocks flag, not the -fms-extensions flag.
rdar://12808010
llvm-svn: 169422
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
uncovered.
This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.
I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.
llvm-svn: 169237
|
| |
|
|
|
|
| |
them in order to parse the rest of the file.
llvm-svn: 168327
|
| |
|
|
|
|
| |
Based on post-commit review feedback for r167766 by Richard Smith.
llvm-svn: 167856
|
| |
|
|
|
|
|
| |
Introduces more clear scoping flags & flag combinations which should hopefully
be more understandable.
llvm-svn: 167766
|
| |
|
|
|
|
|
|
|
|
|
|
| |
C++11 3.3.3/2 "A parameter name shall not be redeclared in the outermost block
of the function definition nor in the outermost block of any handler associated
with a function-try-block."
It's not totally clear to me whether the "FIXME" case is covered by this, but
Richard Smith thinks it probably should be. It's just a bit more involved to
fix that case.
llvm-svn: 167650
|
| |
|
|
|
|
| |
compound statement.
llvm-svn: 167363
|
| |
|
|
|
|
|
|
| |
directly
without using tentative parsing.
llvm-svn: 167142
|
| |
|
|
| |
llvm-svn: 166867
|
| |
|
|
|
|
|
| |
declarations and statements. Emit an error if the FP_CONTRACT is used
later in a compound statement.
llvm-svn: 166383
|
| |
|
|
|
|
|
| |
I think our general framework for parser pragmas needs a bit more work,
but I'm not planning on working on it at the moment.
llvm-svn: 165558
|