- Mar 31, 2009
-
-
Daniel Dunbar authored
- Always pass -triple to clang-cc (-arch will be removed). - clang-cc doesn't play guess work with the target triple anymore. llvm-svn: 68119
-
Daniel Dunbar authored
llvm::sys::getOS{Name,Version}. Right now the implementation just derives from LLVM_HOSTTRIPLE (which is wrong, but it doesn't look like we have a define for the target triple). Ideally this routine would actually be able to compute the triple for targets we care about. llvm-svn: 68118
-
Steve Naroff authored
llvm-svn: 68117
-
Anders Carlsson authored
llvm-svn: 68116
-
Fariborz Jahanian authored
llvm-svn: 68115
-
Steve Naroff authored
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
-
Dan Gohman authored
llvm-svn: 68113
-
Dan Gohman authored
llvm-svn: 68112
-
Dan Gohman authored
llvm-svn: 68111
-
Douglas Gregor authored
llvm-svn: 68110
-
Rafael Espindola authored
llvm-svn: 68109
-
Steve Naroff authored
This fixes <rdar://problem/6712496> Unable to disable deprecated warning. llvm-svn: 68108
-
Steve Naroff authored
llvm-svn: 68107
-
Chris Lattner authored
In a case like: @class foo; foo *P; addRecordToClass was making an empty shadow struct for the foo interface and completing it. Later when an: @interface foo ... @endif foo *Q; was seen, ASTContext::addRecordToClass would think that foo was already laid out and not lay out the definition. This fixes it to create a forward declared struct the first time around, then complete it when the definition is seen. Note that this causes two tests to regress, because something is trying to get the size of the forward declared structs returned by this. Previously, this would end up getting a size of zero but now it properly dies. I'm not sure what the right solution is for this, so I xfailed the tests. Fariborz, please take a look at this. The testcase in rdar://6676794 now gets farther, but dies later because the objc ivar is not assigned a field number. As an aside, I really don't like the fact that the objc front-end is creating shadow C structs for ObjC types. This seems like an implementation detail of the code generator that could be fixed by better factoring of the extant code. llvm-svn: 68106
-
Chris Lattner authored
llvm-svn: 68105
-
Chris Lattner authored
is run for perfectly reasonable things like NSString* because type layout is recursive. llvm-svn: 68104
-
Chris Lattner authored
llvm-svn: 68103
-
Chris Lattner authored
llvm-svn: 68102
-
Chris Lattner authored
Fix BuildAggrIvarLayout to not access vectors out of range. llvm-svn: 68101
-
Bill Wendling authored
llvm-svn: 68100
-
Bill Wendling authored
llvm-svn: 68099
-
Chris Lattner authored
llvm-svn: 68098
-
Chris Lattner authored
llvm-svn: 68095
-
Chris Lattner authored
llvm-svn: 68094
-
Owen Anderson authored
Remove the "fast" cases for spill and restore point determination, as these were subtlely wrong in obscure cases. Patch the testcase to account for this change. llvm-svn: 68093
-
Bill Wendling authored
llvm-svn: 68092
-
Chris Lattner authored
llvm-svn: 68091
-
Chris Lattner authored
disable this feature for now, to err on the side of rejecting instead of sometimes crashing. rdar://6326239 llvm-svn: 68088
-
Chris Lattner authored
llvm-svn: 68087
-
Anders Carlsson authored
llvm-svn: 68086
-
Anders Carlsson authored
llvm-svn: 68085
-
Ted Kremenek authored
llvm-svn: 68084
-
Dan Gohman authored
instructions. This fixes lua. llvm-svn: 68083
-
Evan Cheng authored
X86 address mode isel tweak. If the base of the address is also used by a CopyToReg (i.e. it's likely live-out), do not fold the sub-expressions into the addressing mode to avoid computing the address twice. The CopyToReg use will be isel'ed to a LEA, re-use it for address instead. This is not yet enabled. llvm-svn: 68082
-
Douglas Gregor authored
within nested-name-specifiers, e.g., for the "apply" in typename MetaFun::template apply<T1, T2>::type At present, we can't instantiate these nested-name-specifiers, so our testing is sketchy. llvm-svn: 68081
-
Douglas Gregor authored
llvm-svn: 68079
-
Fariborz Jahanian authored
llvm-svn: 68077
-
Steve Naroff authored
Implement UCN support for C string literals (C99 6.4.3) and add some very basic tests. Chris Goller has graciously offered to write some test to help validate UCN support. From a front-end perspective, I believe this code should work for ObjC @-strings. At the moment, I believe we need to tweak the code generation for @-strings (which doesn't appear to handle them). Will be investigating. llvm-svn: 68076
-
Eli Friedman authored
llvm-svn: 68075
-
Douglas Gregor authored
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
-