summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix test to be legal on 64-bit systems.Eli Friedman2009-02-221-1/+1
| | | | llvm-svn: 65270
* Fix regression in naming convention derivation: a method only follows the ↵Ted Kremenek2009-02-221-1/+1
| | | | | | copy 'rule' if it doesn't already start with 'init', etc. llvm-svn: 65269
* Only try to sink immediate when TLI is not null. It needs to check if ↵Evan Cheng2009-02-221-1/+1
| | | | | | immediate would fit in target addressing field. llvm-svn: 65268
* Eliminate a bunch of code which should be dead.Eli Friedman2009-02-221-194/+5
| | | | llvm-svn: 65267
* x86_64 ABI: Make sure to pass vectors that we want to pass in memoryDaniel Dunbar2009-02-221-1/+1
| | | | | | | | | as byval. Otherwise LLVM will have its own opinion about where to put things. We now pass all gcc dg.compat tests on x86_64. llvm-svn: 65266
* Throw the switch to exclusively use Evaluate (along with the small Eli Friedman2009-02-223-4/+15
| | | | | | | | | | | | | | | | helper isConstantInitializer) to check whether an initializer is constant. This passes tests, but it's possible that it'll cause regressions with real-world code. Future work: 1. The diagnostics obtained this way are lower quality at the moment; some work both here and in Evaluate is needed for accurate diagnostics. 2. We probably need some extra code when we're in -pedantic mode so we can strictly enforce the rules in C99 6.6p7. 3. Dead code cleanup (this should wait until after 2, because we might want to re-use some of the code). llvm-svn: 65265
* x86_64 ABI: Pass 32-bit vectors as Integer to match gcc. We don't careDaniel Dunbar2009-02-221-1/+16
| | | | | | about these much but <2 x i16> shows up in the gcc test suite. llvm-svn: 65264
* ABITestGen: Use explicit list of vector types instead of just a listDaniel Dunbar2009-02-221-10/+30
| | | | | | | of sizes. Turns out we don't care very much about vector types that don't map to the hardware. llvm-svn: 65263
* x86_64 ABI: Classify <1 x i64> as INTEGER (match gcc not llvm-gcc).Daniel Dunbar2009-02-221-6/+12
| | | | | | | Also, make sure to pass <1 x i64> as i64 (not <1 x i64>, which doesn't quite work yet in the backend). llvm-svn: 65262
* Enhance Evaluate to handle ObjC qualified id and class types; as far as Eli Friedman2009-02-222-4/+10
| | | | | | | | I know, these follow the exact same rules as pointers, so I just made them use the same codepath. Someone more familiar with ObjC should double-check this, though. llvm-svn: 65261
* Fix for PR3433: map __alignof__ to preferred alignment. (This was Eli Friedman2009-02-223-6/+7
| | | | | | partially done in r65258.) llvm-svn: 65260
* Last part of PR3254: use the same alignment computation in Sema and Eli Friedman2009-02-221-4/+1
| | | | | | | CodeGen. I'm not sure whether this actually makes any visible difference, but it's better to be consistent anyway. llvm-svn: 65259
* Improvements to ASTContext::getDeclAlignInBytes; fixes the testcase in Eli Friedman2009-02-223-32/+30
| | | | | | | | | PR3254 and part of PR3433. The isICE changes are necessary to keep the computed results consistent with Evaluate. llvm-svn: 65258
* Remove debugging statement.Steve Naroff2009-02-221-1/+0
| | | | llvm-svn: 65257
* Match gcc and always perform array/function conversion for asm input exprs. ↵Anders Carlsson2009-02-222-2/+8
| | | | | | Fixes PR3641. llvm-svn: 65256
* Correctly encode incomplete and variable length arrays. Fixes PR3639.Anders Carlsson2009-02-222-8/+30
| | | | llvm-svn: 65255
* ccc: Remove temporary files used in compilation, and removeDaniel Dunbar2009-02-221-3/+29
| | | | | | compilation results on failures. llvm-svn: 65254
* Sanity fix for PR3642: if we're treating a diagnostic as an error, it's Eli Friedman2009-02-222-1/+12
| | | | | | | | | | required to actually be an error for correctness. The attached testcase now gives an error instead of mysteriously crashing. Now, it's possible we actually want to support the given usage, but I haven't looked at the relevant code closely. llvm-svn: 65253
* Force arch for these test cases.Daniel Dunbar2009-02-212-2/+2
| | | | llvm-svn: 65252
* local array of objects are non-gc'able.Fariborz Jahanian2009-02-211-2/+6
| | | | llvm-svn: 65251
* Regenerate.Nick Lewycky2009-02-212-455/+32
| | | | llvm-svn: 65250
* Remove tests for flex/bison which are no longer needed by LLVM.Nick Lewycky2009-02-212-5/+0
| | | | llvm-svn: 65249
* More work to integrate newly added ObjCQualifiedClassType into the type system.Steve Naroff2009-02-216-7/+24
| | | | | | This is necessary 'plumbing' to fix <rdar://problem/6497631> Message lookup is sometimes different than gcc's. llvm-svn: 65248
* Put compiler headers in <prefix>/lib/clang/1.0/include (vsDaniel Dunbar2009-02-212-10/+15
| | | | | | <prefix>/Headers, gross). llvm-svn: 65247
* Don't sign extend the char when expanding char -> int duringNick Lewycky2009-02-212-2/+14
| | | | | | load(bitcast(char[4] to i32*)) evaluation. llvm-svn: 65246
* Add makefile debugging target; use "make print-FOO" to print theDaniel Dunbar2009-02-211-0/+8
| | | | | | value/definition/origin of FOO. llvm-svn: 65245
* Add support for GCC ObjC extension "Class<protocol>". Sigh.Steve Naroff2009-02-216-0/+113
| | | | | | | | Found while researching <rdar://problem/6497631> Message lookup is sometimes different than gcc's. Will never be seen in user code. Needed to pass dejagnu testsuite. llvm-svn: 65244
* The blocks ABI is wrong, add a FIXME.Mike Stump2009-02-211-0/+3
| | | | llvm-svn: 65243
* Add CodeGen support for the helper for BlockDeclRefExprs. The easierMike Stump2009-02-214-26/+125
| | | | | | stuff is mostly done. Move BlockHasCopyDispose up. llvm-svn: 65242
* Warn about bogus protocol qualifiers.Steve Naroff2009-02-213-1/+11
| | | | llvm-svn: 65241
* Warn on use of __weak attribute on localFariborz Jahanian2009-02-213-0/+17
| | | | | | variable (objc2 gc specific). llvm-svn: 65240
* bug 3610: Floating point vaarg not softened.Richard Pennington2009-02-212-0/+18
| | | | llvm-svn: 65239
* Fix a bug whereby a pointer to a __weak was not recognizedFariborz Jahanian2009-02-211-0/+2
| | | | | | as __weak (objc2 gc specific). llvm-svn: 65238
* Use llvm::StringsEqualNoCase instead of strncasecmp.Ted Kremenek2009-02-211-8/+5
| | | | llvm-svn: 65237
* Add version of StringsEqualNoCase that takes two null-terminated C-strings ↵Ted Kremenek2009-02-211-0/+19
| | | | | | and compares up to 'len' characters. I tend to screw up string comparison functions, so anyone who is interested please review this\! llvm-svn: 65236
* Fixed an ICE in meta-data generation of __weak/__strong ivars.Fariborz Jahanian2009-02-212-1/+12
| | | | llvm-svn: 65235
* Evaluation of unary deref could call integer evaluator on non-integralDaniel Dunbar2009-02-212-0/+9
| | | | | | | expr; hilarity ensued. - PR3640. llvm-svn: 65234
* Fix build on windows.Cedric Venet2009-02-212-1/+6
| | | | | | Should clang have a config.h or should we use the config.h of llvm or using the preprocessor is OK? I did a quick fix here, but having a guideline on how to handle non portable function would be great (or ask ted to stop breaking the windows build :)). llvm-svn: 65233
* Add test case to record a couple inconsistencies with GCC (found in ↵Steve Naroff2009-02-211-0/+47
| | | | | | | | <rdar://problem/6561076> [clang on Xcode] warning: cannot find protocol definition for 'OzzyP'). Removing the "cannot find protocol" warning is trivial if necessary (but I don't think it's the right thing to do). llvm-svn: 65232
* This fixes <rdar://problem/6497650> More type mismatches issues with clang.Steve Naroff2009-02-213-16/+53
| | | | | | | | | | Move two key ObjC typechecks from Sema::CheckPointerTypesForAssignment() to ASTContext::mergeTypes(). This allows us to take advantage of the recursion in ASTContext::mergeTypes(), removing some bogus warnings. This test case I've added includes an example where we still warn (and GCC doesn't). Need to talk with folks and decide what to do. At this point, the major bogosities should be fixed. llvm-svn: 65231
* Drop bunch of half-working stuff in the ext_weak linkage support.Anton Korobeynikov2009-02-213-16/+39
| | | | | | | | | | | Now we're using one gross, but quite robust hack :) (previous ones did not work, for example, when ext_weak symbol was used deep inside constant expression in the initializer). The proper fix of this problem will require some quite huge asmprinter changes and that's why was postponed. This fixes PR3629 by the way :) llvm-svn: 65230
* Pass different flags on different platforms when building PIC.Nick Lewycky2009-02-211-2/+13
| | | | llvm-svn: 65229
* Add AddrModeMatcher.cppEvan Cheng2009-02-211-0/+1
| | | | llvm-svn: 65228
* Update checker build.Ted Kremenek2009-02-211-1/+1
| | | | llvm-svn: 65227
* Improved naming convention heuristics in the retain/release checker to betterTed Kremenek2009-02-212-9/+110
| | | | | | | | | handle method names that contain 'new', 'copy', etc., but those words might be the substring of larger words such as 'newsgroup' and 'photocopy' that do not indicate the allocation of objects. This should address the issues discussed in <rdar://problem/6552389>. llvm-svn: 65224
* Update scan-build help diagnostic.Ted Kremenek2009-02-211-1/+1
| | | | llvm-svn: 65223
* Only create a preprocessed file for an ignored attribute if there currently ↵Ted Kremenek2009-02-211-3/+9
| | | | | | does not exist an 'attribute_ignored_XXX.txt' file for that attribute. llvm-svn: 65222
* If two-address def is dead and the instruction does not define other ↵Evan Cheng2009-02-212-0/+73
| | | | | | registers, and it doesn't produce side effects, just delete the instruction. llvm-svn: 65218
* Teach LSR sink to sink the immediate portion of the common expression back ↵Evan Cheng2009-02-215-40/+199
| | | | | | into uses if they fit in address modes of all the uses. llvm-svn: 65215
* Make sure this doesn't access .end() too.Bill Wendling2009-02-211-3/+4
| | | | llvm-svn: 65213
OpenPOWER on IntegriCloud