- Jun 01, 2008
-
-
Steve Naroff authored
This eliminates a bogus warning identified in the test below. This fixes <rdar://problem/5968256> clang on xcode: error: incompatible type initializing 'NSObject<XCSelectionSource> *', expected 'id<NSObject,XCSelectionSource>' llvm-svn: 51832
-
Steve Naroff authored
Add some more test cases that demonstrate clang is a bit stricter than GCC. These can be fixed lazily if they become a problem. llvm-svn: 51830
-
Steve Naroff authored
Teach Sema::CheckConditionalOperands() to check for ObjCQualifiedIdType's. This fixes a bogus error. <rdar://problem/5967036> clang on xcode: error: incompatible operand types ('id<DTOutputStreams>' and 'DTFilterOutputStream *') llvm-svn: 51828
-
Chris Lattner authored
llvm-svn: 51827
-
- May 31, 2008
-
-
Eli Friedman authored
llvm-svn: 51826
-
Ted Kremenek authored
TranslationUnit object instead of an ASTContext. By default it calls Initialize(ASTConstext& Context) (to match with the current interface used by most ASTConsumers). Modified the ObjC-Rewriter to use InitializeTU, and to tell the TranslationUnit to not free its Decls. This is a workaround for: <rdar://problem/5966749> llvm-svn: 51825
-
rdar://problem/5917992Steve Naroff authored
Some fancy footwork to accommodate embedded preprocessor directives within an interface. llvm-svn: 51815
-
rdar://problem/5969777Steve Naroff authored
This fix involved tightening up needToScanForQualifiers(), which predated ObjCQualifiedIdType. It also includes a minor tweak to the code that searches for the beginning of the qualified type. If the AST contained the correct beginning of the declaration (i.e. the beginning of the declaration specifiers), this code would be more robust. Since it doesn't, we apply an adhoc heuristic. Note that DeclSpec contains this info...we just don't propagate it to the AST (at present). llvm-svn: 51812
-
Steve Naroff authored
Hack RewriteObjC::RewriteObjCStringLiteral() to include the filename in the generated code (replacing any non-alphanumeric characters with "_"). This allows header files to contain ObjCStringLiterals. llvm-svn: 51811
-
-
Ted Kremenek authored
llvm-svn: 51803
-
Steve Naroff authored
Teach Expr::isLvalue() about ObjC properties. For now, all properties are writable. Added a FIXME for another day. llvm-svn: 51800
-
- May 30, 2008
-
-
Eli Friedman authored
types so that they end up the correct size. llvm-svn: 51787
-
Eli Friedman authored
this does is reconstruct the type for structs and arrays if the type wouldn't be compatible otherwise. The assertion about packing in the struct type reconstruction code sucks, but I don't see any obvious way to fix it. Maybe we need a general utility method to take a list of types and alignments and try to construct an unpacked type if possible? llvm-svn: 51785
-
Eli Friedman authored
associated declaration. This is a prerequisite to handling general union initializations; for example, an array of unions involving pointers has to be turned into a struct because the elements can have incompatible types. I refactored the code a bit to make it more readable; now, the logic for definitions is all in EmitGlobalVarInit. The second parameter for GetAddrOfGlobalVar is now dead; I'll remove it separately. By itself, this patch should not cause any visible changes. llvm-svn: 51783
-
Eli Friedman authored
required by the standard (the standard doesn't know anything about implicit casts). Disallow pointers cast to non-integral arithmetic types as constant expressions. This was previously allowed by accident. llvm-svn: 51779
-
Eli Friedman authored
llvm-svn: 51778
-
Ted Kremenek authored
Patch by Holger Schurig! llvm-svn: 51774
-
Ted Kremenek authored
Fix some strict-aliasing warnings by using Stmt* instead of Expr* in VariableArrayType, EnumConstantDecl, and VarDecl. llvm-svn: 51772
-
Eli Friedman authored
of elements. llvm-svn: 51769
-
Eli Friedman authored
essentially that we were destroying the declarations twice. (Note that we don't use -serialize directly in the testsuite, only SerializeTest.) llvm-svn: 51768
-
Eli Friedman authored
This fixes a crash on the included testcase (found in NetHack). llvm-svn: 51767
-
Sanjiv Gupta authored
llvm-svn: 51765
-
Eli Friedman authored
llvm-svn: 51764
-
Eli Friedman authored
bit-field initialization; ugly code, X86-only, but it works, at least for basic stuff. Separates/adds union initialization; currently disabled, though, because the struct/array code needs modifications to support elements of the wrong type. Fixes PR2381 and PR2309 with the bit-field initialization. And NetHack compiles and appears to work with a few tweaks (to work around the lack of transparent_union support, and clang being a bit strict about conflicting declarations). llvm-svn: 51763
-
Eli Friedman authored
and union codepaths and fixes some minor bugs. I'm reasonably confident this is accurate, at least for X86. I'll correct any bugs as I find them; I haven't found any for a while, though. llvm-svn: 51762
-
Steve Naroff authored
While it is far from complete, it does fix the following <rdar://problem/5967199> clang on xcode: error: member reference is not to a structure or union llvm-svn: 51719
-
- May 29, 2008
-
-
Ted Kremenek authored
llvm-svn: 51707
-
Steve Naroff authored
- #include ExprObjC.h in many places llvm-svn: 51703
-
Anton Korobeynikov authored
llvm-svn: 51689
-
Chris Lattner authored
llvm-svn: 51683
-
Eli Friedman authored
constant expressions. llvm-svn: 51682
-
Eli Friedman authored
unsigned because it's possible (at least in theory) to have have both positive and negative pointers pointing to the same object. llvm-svn: 51681
-
Eli Friedman authored
in unions (we don't want to do the union-specific bitcast for bit-fields). llvm-svn: 51678
-
Eli Friedman authored
expressions. llvm-svn: 51677
-
Eli Friedman authored
alignment and alignment attributes. llvm-svn: 51676
-
Eli Friedman authored
emit incomplete types, because they crash llc, and always use the logical location as the current location so we don't crash doing invalid queries on CurLoc. llvm-svn: 51675
-
Eli Friedman authored
This change makes clang generate the same thing as llvm-gcc. llvm-svn: 51674
-
Eli Friedman authored
nothing fundamentally wrong with it. Emitting unpacked structs where possible is more work for almost no practical benefit. We'll probably want to fix it at some point anyway, but it's low priority. The issue with long double in particular is that LLVM thinks an X86 long double is 10 bytes, while clang considers it for all purposes to be either 12 or 16 bytes, depending on the platform, even in a packed struct. llvm-svn: 51673
-
Eli Friedman authored
llvm-svn: 51672
-