| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
// rdar://11577384
llvm-svn: 172102
|
|
|
|
|
|
|
|
|
| |
in case condition type. // rdar://11577384.
Test is conditionalized on x86_64-apple triple as
I am not sure if the INT_MAX/LONG_MAX values in the test
will pass this test for other hosts.
llvm-svn: 172016
|
|
|
|
| |
llvm-svn: 171367
|
|
|
|
| |
llvm-svn: 171239
|
|
|
|
| |
llvm-svn: 171238
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 168293
|
|
|
|
| |
llvm-svn: 165976
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
but can be dereferenced to form an expression which does have viable begin/end
functions, then typo-correct the range, even if something else goes wrong with
the statement (such as inaccessible begin/end or the wrong type of loop
variable).
In order to ensure we recover correctly and produce any followup diagnostics in
this case, redo semantic analysis on the for-range statement outside of the
diagnostic trap, after issuing the typo-correction.
llvm-svn: 164323
|
|
|
|
| |
llvm-svn: 163350
|
|
|
|
| |
llvm-svn: 163149
|
|
|
|
|
|
| |
Also a minor fix to __except printing in StmtPrinter.cpp. Thanks to Aaron Ballman for review.
llvm-svn: 163083
|
|
|
|
|
|
| |
expression expanded from a macro. This is of dubious utility in general, but is specifically a major issue for the linux kernel. This resolves PR13747.
llvm-svn: 163034
|
|
|
|
|
|
|
|
| |
MutableArrayRef.
This required changing all get() calls to data() and using the simpler constructors.
llvm-svn: 162501
|
|
|
|
|
|
|
| |
These were nops for quite a while and only lead to confusion. ASTMultiPtr
now behaves like a proper dumb array reference.
llvm-svn: 162475
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old error message stating that 'begin' was an undeclared identifier
is replaced with a new message explaining that the error is in the range
expression, along with which of the begin() and end() functions was
problematic if relevant.
Additionally, if the range was a pointer type or defines operator*,
attempt to dereference the range, and offer a FixIt if the modified range
works.
llvm-svn: 162248
|
|
|
|
|
|
| |
pollute SemaStmt with extraneous asm handling logic.
llvm-svn: 162132
|
|
|
|
|
|
| |
instruction, not emitting them, so a NullStream is fine.
llvm-svn: 162105
|
|
|
|
| |
llvm-svn: 162055
|
|
|
|
|
|
| |
tokens we don't know how to handle; this should aid when debugging.
llvm-svn: 162053
|
|
|
|
|
|
| |
simple asm.
llvm-svn: 162051
|
|
|
|
|
|
|
|
| |
These require special handling, which we don't currently handle. This is being
put in place to ensure we don't do invalid symbol table lookups or try to parse
invalid assembly. The test cases just makes sure the latter isn't happening.
llvm-svn: 162050
|
|
|
|
| |
llvm-svn: 162048
|
|
|
|
|
|
|
| |
this information to determine valid MC operands. This will also be used for
semantic analysis.
llvm-svn: 162043
|
|
|
|
|
|
|
|
| |
variables, function or label references. The former is a potential clobber.
The latter is either an input or an output. Unfortunately, it's difficult to
test this patch at the moment, but the added test case will eventually do so.
llvm-svn: 162026
|
|
|
|
| |
llvm-svn: 162000
|
|
|
|
| |
llvm-svn: 161991
|
|
|
|
|
|
| |
building the AsmString.
llvm-svn: 161988
|
|
|
|
|
|
|
|
|
|
|
|
| |
statement. For example,
if (x)
__asm out dx, ax __asm out dx, ax
results in a single inline asm statement (i.e., both "out dx, ax" statements are
predicated on if(x)).
llvm-svn: 161986
|
|
|
|
|
|
| |
anyways. Also, simplify some conditional logic.
llvm-svn: 161977
|
|
|
|
| |
llvm-svn: 161966
|
|
|
|
|
|
| |
printer. Patch by Enea Zaffanella <zaffanella@cs.unipr.it>.
llvm-svn: 161958
|
|
|
|
|
|
| |
llvm::AsmToken.
llvm-svn: 161927
|
|
|
|
| |
llvm-svn: 161913
|
|
|
|
| |
llvm-svn: 161904
|
|
|
|
|
|
| |
Token::isAtStartOfLine() APIs.
llvm-svn: 161898
|
|
|
|
| |
llvm-svn: 161896
|
|
|
|
|
|
| |
track the LineEnds now that single line asm statments aren't merged.
llvm-svn: 161893
|
|
|
|
| |
llvm-svn: 161796
|
|
|
|
| |
llvm-svn: 161793
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The AsmParser expects a single asm instruction, but valid ms-style inline asm
statements may contain multiple instructions.
This happens with asm blocks
__asm {
mov ebx, eax
mov ecx, ebx
}
or when multiple asm statements are adjacent to one another
__asm mov ebx, eax
__asm mov ecx, ebx
and
__asm mov ebx, eax __asm mov ecx, ebx
Currently, asm blocks are not properly handled.
llvm-svn: 161780
|
|
|
|
|
|
|
| |
statements. Therefore, we can't pass the PatchedAsmString to the AsmParser
and expect things to work.
llvm-svn: 161701
|
|
|
|
| |
llvm-svn: 161698
|
|
|
|
| |
llvm-svn: 161686
|
|
|
|
| |
llvm-svn: 161676
|
|
|
|
| |
llvm-svn: 161673
|
|
|
|
| |
llvm-svn: 161622
|
|
|
|
| |
llvm-svn: 161619
|
|
|
|
| |
llvm-svn: 161615
|
|
|
|
| |
llvm-svn: 161614
|