| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
- <rdar://problem/6732143> Crash when generating @synchronize for
zero-cost exception
- Thanks to Anders for helping track down the problem.
llvm-svn: 68186
|
|
|
|
|
|
|
| |
types get completed when their definition is seen if previously laid out by
the code generator.
llvm-svn: 68177
|
|
|
|
| |
llvm-svn: 68176
|
|
|
|
| |
llvm-svn: 68174
|
|
|
|
| |
llvm-svn: 68171
|
|
|
|
| |
llvm-svn: 68170
|
|
|
|
|
|
| |
get us into an infinite loop
llvm-svn: 68168
|
|
|
|
|
|
| |
parameter specifier.
llvm-svn: 68162
|
|
|
|
|
|
|
|
|
|
|
| |
- Notably, set section on cfstring literal string data (for now, this
is done everywhere because it matches what we were already doing
for the CFString data itself)
- <rdar://problem/6599098> [irgen] linker requires objc string data
to go into cstring
llvm-svn: 68160
|
|
|
|
|
|
|
|
| |
that occurs when
attribute(used) and asm renaming are used together.
llvm-svn: 68155
|
|
|
|
| |
llvm-svn: 68151
|
|
|
|
|
|
| |
- Current return-arguments-32 status: 15/1000 failures
llvm-svn: 68132
|
|
|
|
|
|
| |
Patch by David Chisnal.
llvm-svn: 68125
|
|
|
|
| |
llvm-svn: 68122
|
|
|
|
| |
llvm-svn: 68115
|
|
|
|
|
|
|
|
| |
functionality change.
Changed GenerateConstantString() to take an ObjCStringLiteral (instead of a std::string). While this isn't strictly necessary, it seems cleaner and allows us to cache to "containsNonAscii" if necessary (to avoid checking in both Sema and CodeGen).
llvm-svn: 68114
|
|
|
|
| |
llvm-svn: 68105
|
|
|
|
|
|
|
| |
is run for perfectly reasonable things like NSString* because type
layout is recursive.
llvm-svn: 68104
|
|
|
|
| |
llvm-svn: 68102
|
|
|
|
|
|
| |
Fix BuildAggrIvarLayout to not access vectors out of range.
llvm-svn: 68101
|
|
|
|
| |
llvm-svn: 68095
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
representation handles the various ways in which one can name a
template, including unqualified references ("vector"), qualified
references ("std::vector"), and dependent template names
("MetaFun::template apply").
One immediate effect of this change is that the representation of
nested-name-specifiers in type names for class template
specializations (e.g., std::vector<int>) is more accurate. Rather than
representing std::vector<int> as
std::(vector<int>)
we represent it as
(std::vector)<int>
which more closely follows the C++ grammar.
Additionally, templates are no longer represented as declarations
(DeclPtrTy) in Parse-Sema interactions. Instead, I've introduced a new
OpaquePtr type (TemplateTy) that holds the representation of a
TemplateName. This will simplify the handling of dependent
template-names, once we get there.
llvm-svn: 68074
|
|
|
|
|
|
| |
declaration. Reject it.
llvm-svn: 68058
|
|
|
|
|
|
| |
Patch by David Chisnall.
llvm-svn: 68043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
productions (except the already broken ObjC cases like @class X,Y;) in
the parser that can produce more than one Decl return a DeclGroup instead
of a Decl, etc.
This allows elimination of the Decl::NextDeclarator field, and exposes
various clients that should look at all decls in a group, but which were
only looking at one (such as the dumper, printer, etc). These have been
fixed.
Still TODO:
1) there are some FIXME's in the code about potentially using
DeclGroup for better location info.
2) ParseObjCAtDirectives should return a DeclGroup due to @class etc.
3) I'm not sure what is going on with StmtIterator.cpp, or if it can
be radically simplified now.
4) I put a truly horrible hack in ParseTemplate.cpp.
I plan to bring up #3/4 on the mailing list, but don't plan to tackle
#1/2 in the short term.
llvm-svn: 68002
|
|
|
|
|
|
|
|
| |
really intending to take ownership of this; I wrote this mostly because
I was curious about how the ARM ABI works. It should be a decent start,
though.
llvm-svn: 67969
|
|
|
|
| |
llvm-svn: 67923
|
|
|
|
| |
llvm-svn: 67910
|
|
|
|
| |
llvm-svn: 67899
|
|
|
|
|
|
| |
types don't get generated when blocks aren't used.
llvm-svn: 67898
|
|
|
|
| |
llvm-svn: 67896
|
|
|
|
| |
llvm-svn: 67895
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LHS type and the computation result type; this encodes information into
the AST which is otherwise non-obvious. Fix Sema to always come up with the
right answer for both of these types. Fix IRGen and the analyzer to
account for these changes. This fixes PR2601. The approach is inspired
by PR2601 comment 2.
Note that this changes real *= complex in CodeGen from a silent
miscompilation to an explicit error.
I'm not really sure that the analyzer changes are correct, or how to
test them... someone more familiar with the analyzer should check those
changes.
llvm-svn: 67889
|
|
|
|
|
|
| |
The llvm optimizer and code generator are not yet ready to support optimized code debugging.
llvm-svn: 67876
|
|
|
|
|
|
| |
remove a redundant error in CodeGen.
llvm-svn: 67868
|
|
|
|
|
|
| |
ir gen. No intended change in functionality.
llvm-svn: 67857
|
|
|
|
|
|
|
|
| |
- Temporarily undef'ed __OBJC2__ in nonfragile objc abi mode
as it was forcing ivar synthesis in a certain project which clang
does not yet support.
llvm-svn: 67766
|
|
|
|
|
|
|
| |
CodeGenModule. Once there, add a new NoCommon option to
it and implement -fno-common.
llvm-svn: 67735
|
|
|
|
|
|
| |
is not in use).
llvm-svn: 67713
|
|
|
|
| |
llvm-svn: 67697
|
|
|
|
|
|
| |
from previous block literals.
llvm-svn: 67696
|
|
|
|
| |
llvm-svn: 67674
|
|
|
|
| |
llvm-svn: 67650
|
|
|
|
| |
llvm-svn: 67603
|
|
|
|
| |
llvm-svn: 67577
|
|
|
|
| |
llvm-svn: 67551
|
|
|
|
| |
llvm-svn: 67501
|
|
|
|
| |
llvm-svn: 67499
|
|
|
|
|
|
|
|
| |
functionality, fixing a crash on the attached testcase. Eliminate the
BuiltinFunctions cache, as it can contain dangling pointers. This fixes
a bunch of valgrind errors on test/CodeGen/builtins.c
llvm-svn: 67484
|
|
|
|
|
|
| |
the end of the module.
llvm-svn: 67482
|