| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 70143
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
input/output constraint mismatch
Before we emitted:
$ clang t.c -S -m64
llvm: error: Unsupported asm: input constraint with a matching output constraint of incompatible type!
Now we produce:
$ clang t.c -S -m64
t.c:5:40: error: unsupported inline asm: input with type 'unsigned long' matching output with type 'int'
asm volatile("foo " : "=a" (a) :"0" (b));
~~~ ~^~
llvm-svn: 70142
|
| |
|
|
| |
llvm-svn: 70138
|
| |
|
|
|
|
| |
flags.
llvm-svn: 70137
|
| |
|
|
| |
llvm-svn: 70136
|
| |
|
|
|
|
| |
instead of passing it around in addition to it.
llvm-svn: 70135
|
| |
|
|
|
|
| |
types. Also adding a test case to check the indices type allowed into struct.
llvm-svn: 70134
|
| |
|
|
|
|
| |
This fixes all the -emit-pch problems discovered by utils/pch-test.pl.
llvm-svn: 70125
|
| |
|
|
| |
llvm-svn: 70122
|
| |
|
|
|
|
| |
validity of the conversion.
llvm-svn: 70121
|
| |
|
|
| |
llvm-svn: 70115
|
| |
|
|
|
|
| |
the enum along with some other data.
llvm-svn: 70114
|
| |
|
|
| |
llvm-svn: 70113
|
| |
|
|
| |
llvm-svn: 70112
|
| |
|
|
|
|
| |
context, even if we're not going to initialize the __builin_* identifiers
llvm-svn: 70111
|
| |
|
|
|
|
|
|
| |
dump their contents for all of the compilable tests in Clang's
testsuite. All of the tests pass for C, but there are still many
failures for Objective-C.
llvm-svn: 70110
|
| |
|
|
|
|
|
|
|
|
|
| |
necessary and iterate until all types and declarations have been
written. This reduces the Cocoa.h PCH file size by about 4% (since we
don't write types we don't need), and fixes problems where writing a
declaration generates a new type.
This doesn't seem to have any impact on performance either way.
llvm-svn: 70109
|
| |
|
|
|
|
|
|
| |
declaration rather than printing through the HandleTopLevelDecl
action. Using this, one can deserialize an entire PCH file and dump
it.
llvm-svn: 70108
|
| |
|
|
| |
llvm-svn: 70107
|
| |
|
|
| |
llvm-svn: 70106
|
| |
|
|
| |
llvm-svn: 70105
|
| |
|
|
|
|
|
| |
cleanup attribute checking. The difference isn't normally visible, but it
can make a difference...
llvm-svn: 70104
|
| |
|
|
| |
llvm-svn: 70103
|
| |
|
|
|
|
|
|
|
| |
- This can be used to supply a default value for -std=; the idea is
that this can be used in conjunction with CCC_ADD_ARGS or
QA_OVERRIDE_GCC3_OPTIONS to change the default without having to
modify the build system.
llvm-svn: 70102
|
| |
|
|
|
|
| |
should be joined or separate.
llvm-svn: 70101
|
| |
|
|
|
|
| |
the missing bits of ObjCMessageExpr.
llvm-svn: 70100
|
| |
|
|
|
|
| |
bugs and improved performance. Will be reverted after Mr. Speedy gets done with it
llvm-svn: 70099
|
| |
|
|
|
|
| |
make sure to bitcast the argument so it has the same type as the first argument of the cleanup function. Fixes <rdar://problem/6827047>.
llvm-svn: 70098
|
| |
|
|
|
|
|
|
|
|
|
|
| |
most of which are ignored. Instead, move the __COUNTER__ value out to
a PCH-level record (since it is handled eagerly) and move the header
file information into the SourceManager block (which is also,
currently, loaded eagerly).
This results in another 17% performance improvement in the
Cocoa-prefixed "Hello, World" with PCH.
llvm-svn: 70097
|
| |
|
|
|
|
|
| |
I wasn't originally going to use this approach, but cases like
test/Sema/expr-comma.c make things difficult.
llvm-svn: 70096
|
| |
|
|
| |
llvm-svn: 70095
|
| |
|
|
|
|
|
|
| |
PCH file. In the Cocoa-prefixed "Hello, World" benchmark, this takes
us from reading 503 identifiers down to 37 and from 470 macros down to
4. It also results in an 8% performance improvement.
llvm-svn: 70094
|
| |
|
|
|
|
|
|
| |
and passes the test in the test suite. It also fixes a crash when using recent versions of GNU libobjc and compiling modules that do not contain any constant strings but do contain a declaration of the constant string class and possible some other corner cases (thanks to Pete French for providing me with a test case for that one)."
Patch by David Chisnall!
llvm-svn: 70093
|
| |
|
|
| |
llvm-svn: 70092
|
| |
|
|
| |
llvm-svn: 70091
|
| |
|
|
|
|
| |
any issues now that we have our own tgmath.h.
llvm-svn: 70090
|
| |
|
|
|
|
|
| |
Overall, I'm not particularly happy with the current situation regarding
constant expression diagnostics, but I plan to improve it at some point.
llvm-svn: 70089
|
| |
|
|
|
|
| |
Josef Eisl!
llvm-svn: 70087
|
| |
|
|
| |
llvm-svn: 70086
|
| |
|
|
| |
llvm-svn: 70085
|
| |
|
|
|
|
| |
Patch by Jeffrey Yasskin!
llvm-svn: 70084
|
| |
|
|
|
|
| |
patch by Jeffrey Yasskin!
llvm-svn: 70083
|
| |
|
|
| |
llvm-svn: 70082
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
VerifyIntegerConstantExpression instead of isIntegerConstantExpr.
This makes it ext-warn but tolerate things that fold to a constant
but that are not valid i-c-e's.
There must be a bug in the i-c-e computation though, because it
doesn't catch this case even with pedantic.
This also switches the later code to use EvaluateAsInt which is
simpler and handles everything that evaluate does.
llvm-svn: 70081
|
| |
|
|
| |
llvm-svn: 70080
|
| |
|
|
|
|
|
|
|
|
|
| |
The real fix for this whole mess is to require the operand of the
alias to be a *GlobalValue* (not a general constant, including
constant exprs) but allow the operand and the alias type to be
unrelated.
This fixes PR4066
llvm-svn: 70079
|
| |
|
|
|
|
|
|
|
|
| |
identifier's ID. In this case, we know where the identifier's entry is
located in the hash table (it starts right before the identifier
string itself), so skip the hash table lookup and read the entry
directly. The performance improvement here is, gain, hard to quantify,
but it's the right thing to do.
llvm-svn: 70078
|
| |
|
|
|
|
| |
new stuff. PR3924.
llvm-svn: 70077
|
| |
|
|
| |
llvm-svn: 70076
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"interesting" identifiers (e.g., those where the IdentifierInfo has
some useful information) from "uninteresting" identifiers (where the
IdentifierInfo is just a name). This makes the hash table smaller (so
searching in it should be faster) and, when loading "uninteresting"
identifiers, we skip the lookup in the hash table.
PCH file size is slightly smaller than before (since we don't emit the
contents of the uninteresting IdentifierInfo structures). The
Cocoa.h-prefixed "Hello, World" doesn't show any speedup, although
we're getting to the point where system noise is a bit issue.
llvm-svn: 70075
|