| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
| |
better name) is the option that SmallTalk can use to intercept all
overflows, including unsigned. I added some testcases so we don't
break anything.
Also included is another patch from David for += and friends.
llvm-svn: 68267
|
| |
|
|
|
|
|
|
|
|
| |
- Finish up support for converting UTF8->UTF16 to support ObjC @"string" constants.
Remove warning from CheckObjCString.
As the FIXME in the test case indicates, I still have a bug to work out (apparently with \u handling).
llvm-svn: 68245
|
| |
|
|
|
|
| |
clang option code that is and two bug fixes.
llvm-svn: 68240
|
| |
|
|
|
|
|
| |
runtime on 64-bit architectures.
Patch by David Chisnall
llvm-svn: 68238
|
| |
|
|
|
|
| |
class.
llvm-svn: 68234
|
| |
|
|
|
|
| |
Clang's test suite.
llvm-svn: 68230
|
| |
|
|
|
|
| |
clang option code that is.
llvm-svn: 68221
|
| |
|
|
|
|
|
|
|
|
| |
#ifdef'd out the 5 conversion routines that we don't currently need.
Still need a bit more work in GetAddrOfConstantCFString(). Added a FIXME to indicate this.
Expect to remove the FIXME today...
llvm-svn: 68208
|
| |
|
|
|
|
| |
Patch by Jean-Daniel Dupas. Thanks!
llvm-svn: 68203
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Small structures are returned in a register if:
1. They fit nicely in a register.
2. All fields fit nicely in a register.
(more or less)
- We now pass the first 5000 ABITests if unions are disabled.
- <rdar://problem/6497882> [irgen] x86-32 ABI compatibility with
small structs
llvm-svn: 68197
|
| |
|
|
|
|
|
|
|
|
| |
element structures", which have different ABI rules.
- Current return-arguments-32 status is: 1 out of 1000 failures (-7)
- Also, vectors inside "single element structs" require special
handling.
llvm-svn: 68196
|
| |
|
|
|
|
|
|
| |
types. It is no longer needed now that the code generator
re-lays-out interfaces if they are defines after being laid out
from a forward decl.
llvm-svn: 68194
|
| |
|
|
|
|
| |
- Current return-arguments-32 status is: 8 out of 1000 failures (-7)
llvm-svn: 68192
|
| |
|
|
|
|
|
|
|
| |
- <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
|