- Jun 01, 2008
-
-
Duncan Sands authored
the conditions for performing the transform when only the function declaration is available: no longer allow turning i32 into i64 for example. Only allow changing between pointer types, and between pointer types and integers of the same size. For return values ptr -> intptr was already allowed; I added ptr -> ptr and intptr -> ptr while there. As shown by a recent objc testcase, changing the way parameters/return values are passed can be fatal when calling code written in assembler that directly manipulates call arguments and return values unless the transform has no impact on the way they are passed at the codegen level. While it is possible to imagine an ABI that treats integers of pointer size differently to pointers, I don't think LLVM supports any so the transform should now be safe while still being useful. llvm-svn: 51834
-
Bruno Cardoso Lopes authored
llvm-svn: 51833
-
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
-
Nick Lewycky authored
values, so as to avoid warnings on some platforms. llvm-svn: 51831
-
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
-
Gabor Greif authored
llvm-svn: 51829
-
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
-
Chris Lattner authored
into the 2.3 release branch. llvm-svn: 51824
-
Dan Gohman authored
now round-trip through assembly and bitcode. llvm-svn: 51823
-
Dan Gohman authored
llvm-svn: 51822
-
Dan Gohman authored
llvm-svn: 51821
-
Dan Gohman authored
llvm-svn: 51820
-
Nick Lewycky authored
llvm-svn: 51819
-
Nick Lewycky authored
llvm-svn: 51818
-
Nick Lewycky authored
llvm-svn: 51817
-
Nick Lewycky authored
llvm-svn: 51816
-
rdar://problem/5917992Steve Naroff authored
Some fancy footwork to accommodate embedded preprocessor directives within an interface. llvm-svn: 51815
-
Mikhail Glushenkov authored
llvm-svn: 51814
-
Chris Lattner authored
we did not truncate the value down to i1 with (x&1). This caused a problem when the computation of x was nontrivial, for example, "add i1 1, 1" would return 2 instead of 0. This makes the testcase compile into: ... llvm_cbe_t = (((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u))&1); llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t)); ... instead of: ... llvm_cbe_t = ((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u)); llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t)); ... This fixes a miscompilation of mediabench/adpcm/rawdaudio/rawdaudio and 403.gcc with the CBE, regressions from LLVM 2.2. Tanya, please pull this into the release branch. llvm-svn: 51813
-
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
-
Dan Gohman authored
getSwappedPredicate, from ICmpInst and FCmpInst into common methods in CmpInst. This allows CmpInsts to be manipulated generically. llvm-svn: 51810
-
-
Dan Gohman authored
index for the input pattern in terms of the output pattern. Instead keep track of how many fixed operands the input pattern actually has, and have the input matching code pass the output-emitting function that index value. This simplifies the code, disentangles variables_ops from the support for predication operations, and makes variable_ops more robust. llvm-svn: 51808
-
Dan Gohman authored
llvm-svn: 51807
-
Dan Gohman authored
insertvalue and extractvalue to use constant indices instead of Value* indices. And begin updating LangRef.html. There's definately more to come here, but I'm checking this basic support in now to make it available to people who are interested. llvm-svn: 51806
-
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
-
Evan Cheng authored
llvm-svn: 51795
-
Dan Gohman authored
llvm-svn: 51794
-
Evan Cheng authored
llvm-svn: 51793
-
Evan Cheng authored
llvm-svn: 51792
-
Dan Gohman authored
llvm-svn: 51791
-
Owen Anderson authored
llvm-svn: 51790
-
- May 30, 2008
-
-
Gabor Greif authored
llvm-svn: 51789
-
Mikhail Glushenkov authored
llvm-svn: 51788
-
Eli Friedman authored
types so that they end up the correct size. llvm-svn: 51787
-