aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-02-22Eliminate a bunch of code which should be dead.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65267 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22x86_64 ABI: Make sure to pass vectors that we want to pass in memoryDaniel Dunbar
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65266 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Throw the switch to exclusively use Evaluate (along with the small Eli Friedman
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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65265 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22x86_64 ABI: Pass 32-bit vectors as Integer to match gcc. We don't careDaniel Dunbar
about these much but <2 x i16> shows up in the gcc test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65264 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22ABITestGen: Use explicit list of vector types instead of just a listDaniel Dunbar
of sizes. Turns out we don't care very much about vector types that don't map to the hardware. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65263 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22x86_64 ABI: Classify <1 x i64> as INTEGER (match gcc not llvm-gcc).Daniel Dunbar
Also, make sure to pass <1 x i64> as i64 (not <1 x i64>, which doesn't quite work yet in the backend). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65262 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Enhance Evaluate to handle ObjC qualified id and class types; as far as Eli Friedman
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65261 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Fix for PR3433: map __alignof__ to preferred alignment. (This was Eli Friedman
partially done in r65258.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65260 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Last part of PR3254: use the same alignment computation in Sema and Eli Friedman
CodeGen. I'm not sure whether this actually makes any visible difference, but it's better to be consistent anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65259 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Improvements to ASTContext::getDeclAlignInBytes; fixes the testcase in Eli Friedman
PR3254 and part of PR3433. The isICE changes are necessary to keep the computed results consistent with Evaluate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65258 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Remove debugging statement.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65257 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Match gcc and always perform array/function conversion for asm input exprs. ↵Anders Carlsson
Fixes PR3641. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65256 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Correctly encode incomplete and variable length arrays. Fixes PR3639.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65255 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22ccc: Remove temporary files used in compilation, and removeDaniel Dunbar
compilation results on failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65254 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Sanity fix for PR3642: if we're treating a diagnostic as an error, it's Eli Friedman
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65253 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Force arch for these test cases.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65252 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21local array of objects are non-gc'able.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65251 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21More work to integrate newly added ObjCQualifiedClassType into the type system.Steve Naroff
This is necessary 'plumbing' to fix <rdar://problem/6497631> Message lookup is sometimes different than gcc's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65248 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Put compiler headers in <prefix>/lib/clang/1.0/include (vsDaniel Dunbar
<prefix>/Headers, gross). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65247 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Add support for GCC ObjC extension "Class<protocol>". Sigh.Steve Naroff
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21The blocks ABI is wrong, add a FIXME.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Add CodeGen support for the helper for BlockDeclRefExprs. The easierMike Stump
stuff is mostly done. Move BlockHasCopyDispose up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65242 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Warn about bogus protocol qualifiers.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65241 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Warn on use of __weak attribute on localFariborz Jahanian
variable (objc2 gc specific). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65240 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Fix a bug whereby a pointer to a __weak was not recognizedFariborz Jahanian
as __weak (objc2 gc specific). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65238 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Use llvm::StringsEqualNoCase instead of strncasecmp.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65237 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Fixed an ICE in meta-data generation of __weak/__strong ivars.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65235 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Evaluation of unary deref could call integer evaluator on non-integralDaniel Dunbar
expr; hilarity ensued. - PR3640. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65234 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Fix build on windows.Cedric Venet
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 :)). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Add test case to record a couple inconsistencies with GCC (found in ↵Steve Naroff
<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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65232 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21This fixes <rdar://problem/6497650> More type mismatches issues with clang.Steve Naroff
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65231 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65227 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Improved naming convention heuristics in the retain/release checker to betterTed Kremenek
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>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65224 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Update scan-build help diagnostic.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65223 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Only create a preprocessed file for an ignored attribute if there currently ↵Ted Kremenek
does not exist an 'attribute_ignored_XXX.txt' file for that attribute. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65222 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Slight tweak to last commit: make sure to copy CVR qualifiers for fixed Eli Friedman
pointer types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65210 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Re-fix r65140 correctly.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65208 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Handle case of none gc'able objects regardless of theirFariborz Jahanian
type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65205 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Emit extern_weak when needed.Daniel Dunbar
- PR3629. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65203 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20We must always mangle attribute overloadable functions; even if in aDaniel Dunbar
system header. - Prevents a codegen crash when anything used anything in tgmath! :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65200 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20Fix <rdar://problem/6500554> missing objc error message.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65198 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20switch the macroinfo argument lists from being allocated off the heapChris Lattner
to being allocated from the same bumpptr that the MacroInfo objects themselves are. This speeds up -Eonly cocoa.h pth by ~4%, fsyntax-only is barely measurable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65195 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20detemplatify setArgumentList and some other cleanups.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65187 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20require the MAcroInfo objects are explcitly destroyed.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65179 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20Make 'RangeConstraintManager' the default ConstraintManager.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65173 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20allocate and dellocate objc decl list through AST Context instead ofChris Lattner
with new/delete. With disable-free, this reduces the number of 4/8 byte mallocs from 4793/1541 to 865/456 and also drops other sizes as well. This is a very small perf win, nothing major. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65171 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20fix indentationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20silence some warnings in no asserts mode.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65169 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20add plumbing to get ASTContext& down to allocation/deallocation points in ↵Chris Lattner
ObjCList, but don't start using it yet. Renamed some methods to be more consistent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65168 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20newly factored, we can now move the set and destroy methods out of line.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65166 91177308-0d34-0410-b5e6-96231b3b80d8