| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 74642
|
|
|
|
|
|
| |
No change in functionality.
llvm-svn: 74639
|
|
|
|
|
|
| |
- Refactored slightly to make control flow more obvious.
llvm-svn: 74637
|
|
|
|
| |
llvm-svn: 74636
|
|
|
|
|
|
|
|
|
| |
- The Compilation is just a helper class, it shouldn't have that amount of
logic in it.
- No functionality change.
llvm-svn: 74634
|
|
|
|
|
|
| |
Also has fix for bugzilla-4469.
llvm-svn: 74631
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Not all tools give good error messages, and sometimes the tool can fail w/o
any error (for example, when signalled).
- We suppress this message when the failing command is the compiler and it
failed normally (exit code == 1), under the assumption that it gave a good
diagnostic.
For example, for a linker failure we now get:
--
ddunbar@lordcrumb:tmp$ clang a.c b.c
ld: duplicate symbol _x in /var/folders/cl/clrOX6SaG+moCeRKEI4PtU+++TI/-Tmp-/cc-bXYITq.o and /var/folders/cl/clrOX6SaG+moCeRKEI4PtU+++TI/-Tmp-/cc-6uK4jD.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
--
For a compiler crash we get:
--
ddunbar@lordcrumb:tmp$ clang t.i
Assertion failed: (CGT.getTargetData().getTypeAllocSizeInBits(STy) == RL.getSize()), function layoutStructFields, file CodeGenTypes.cpp, line 573.
0 clang-cc 0x0000000100f1f1f1 PrintStackTrace(void*) + 38
... stack trace and virtual stack trace follow ...
clang: error: compiler command failed due to signal 6 (use -v to see invocation)
--
But for a regular compilation failure we get the usual:
--
ddunbar@lordcrumb:tmp$ clang c.c
c.c:1:6: error: invalid token after top level declarator
int x
^
1 diagnostic generated.
--
- No test case, not amenable to non-executable testing. :/
- <rdar://problem/6945613>
llvm-svn: 74629
|
|
|
|
|
|
|
| |
Command to be generated, to support more advanced diagnostics.
- No functionality change.
llvm-svn: 74627
|
|
|
|
| |
llvm-svn: 74626
|
|
|
|
| |
llvm-svn: 74615
|
|
|
|
| |
llvm-svn: 74606
|
|
|
|
|
|
|
|
|
| |
This was necessary to simplify some other changes I'm making (wrt ObjC type cleanups).
The idea is to separate the constraint checks for block pointers, ObjC pointers, and C pointers (the previous code combined them into one clause).
Note: This routine will be further simplified when I integrate the ObjC type cleanups (forthcoming).
llvm-svn: 74604
|
|
|
|
|
|
|
|
|
| |
For ExtVectorType, initializer is splatted to all elements.
For VectorType, initializer is bitcast to vector type.
Verified that for VectorType, output is identical to gcc.
llvm-svn: 74600
|
|
|
|
| |
llvm-svn: 74585
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that I'm guessing that *BSD and Solaris do the same thing as Linux
here, but it's quite possible I'm wrong; if the following testcase
gives an error on x86-64 with gcc for any of those operating systems, please
tell me:
#include <stdint.h>
int64_t x; long x;
llvm-svn: 74583
|
|
|
|
| |
llvm-svn: 74581
|
|
|
|
|
|
|
| |
are fewer template arguments than there are template parameters for
that function.
llvm-svn: 74578
|
|
|
|
|
|
|
|
|
| |
substitute those template arguments into the function parameter types
prior to template argument deduction. There's still a bit of work to
do to make this work properly when only some of the template arguments
are specified.
llvm-svn: 74576
|
|
|
|
|
|
| |
list.
llvm-svn: 74571
|
|
|
|
|
|
|
| |
templates, such as make<int&>. These template-ids are only barely
functional for function calls; much more to come.
llvm-svn: 74563
|
|
|
|
|
|
|
|
| |
TypedRegion. While we plan on removing this code at some point, it serves as a
good reference implementation for use with BasicStore until we are sure the new
CastRegion logic (in RegionStore.cpp) is correct.
llvm-svn: 74559
|
|
|
|
|
|
|
|
|
| |
ParseDeclarationSpecifiers ... from ParseObjCTypeName)
Another case where we should use SmallVector::data() instead of taking the
address of element 0 of a SmallVector when the SmallVector has no elements.
llvm-svn: 74556
|
|
|
|
|
|
| |
fields in the ctor-initializer list.
llvm-svn: 74554
|
|
|
|
| |
llvm-svn: 74552
|
|
|
|
|
|
| |
in ctor-initializer list.
llvm-svn: 74541
|
|
|
|
|
|
|
|
|
|
|
|
| |
instantiation stack so that we provide a full instantiation
backtrace. Previously, we performed all of the instantiations implied
by the recursion, but each looked like a "top-level" instantiation.
The included test case tests the previous fix for the instantiation of
DeclRefExprs. Note that the "instantiated from" diagnostics still
don't tell us which template arguments we're instantiating with.
llvm-svn: 74540
|
|
|
|
|
|
| |
'make test' passes now.
llvm-svn: 74539
|
|
|
|
| |
llvm-svn: 74536
|
|
|
|
| |
llvm-svn: 74535
|
|
|
|
| |
llvm-svn: 74533
|
|
|
|
|
|
|
|
| |
This unifies all the targets supported by an OS into a template.
It also cleans up the differences between the darwin targets.
Also __LP64__ wasn't needed for *BSD, since x86-64 target defines it anyway.
llvm-svn: 74532
|
|
|
|
|
|
|
|
|
|
|
| |
"semantic analysis" part. Use the "semantic analysis" part when
performing template instantiation on a DeclRefExpr, rather than an ad
hoc list of rules to construct DeclRefExprs from the instantiation.
A test case for this change will come in with a large commit, which
illustrates what I was actually trying to work on.
llvm-svn: 74528
|
|
|
|
|
|
|
| |
Mark the super region of the binding of block level expr in the Environment
as live.
llvm-svn: 74525
|
|
|
|
|
|
|
|
|
|
|
| |
unknown for it.
Mark the super region of a live region as live, if the live region is pointed
to by a live pointer variable.
These fixes xfail_regionstore_wine_crash.c.
llvm-svn: 74524
|
|
|
|
|
|
|
|
|
|
| |
DeclStmt would be dead before the DeclStmt.
For example:
int x = 0;
int y = x;
'x' would be dead before 'int y = x'.
llvm-svn: 74522
|
|
|
|
| |
llvm-svn: 74521
|
|
|
|
| |
llvm-svn: 74520
|
|
|
|
| |
llvm-svn: 74517
|
|
|
|
|
|
| |
create TypedViewRegion for it.
llvm-svn: 74516
|
|
|
|
|
|
| |
David Majnemer!
llvm-svn: 74513
|
|
|
|
|
|
|
| |
Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating".
Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit.
llvm-svn: 74506
|
|
|
|
|
|
| |
It's not getASTContext() to avoid "getASTContext is ambiguous" compiler errors for subclasses of both Decl and DeclContext.
llvm-svn: 74505
|
|
|
|
|
|
|
|
| |
subclasses.
Timings showed no significant difference before and after the commit.
llvm-svn: 74504
|
|
|
|
| |
llvm-svn: 74503
|
|
|
|
|
|
| |
TranslationUnitDecl.
llvm-svn: 74502
|
|
|
|
|
|
|
|
|
| |
The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
This commit touches a lot of files since call sites for these methods are everywhere.
I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
llvm-svn: 74501
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is simple enough, but then I thought it would be nice to make PrintingPolicy
get a LangOptions so that various things can key off "bool" and "C++" independently.
This spiraled out of control. There are many fixme's, but I think things are slightly
better than they were before.
One thing that can be improved: CFG should probably have an ASTContext pointer in it,
which would simplify its clients.
llvm-svn: 74493
|
|
|
|
| |
llvm-svn: 74486
|
|
|
|
| |
llvm-svn: 74481
|
|
|
|
|
|
| |
list.
llvm-svn: 74480
|