]>
granicus.if.org Git - clang/log
Ted Kremenek [Sun, 22 Feb 2009 08:38:12 +0000 (08:38 +0000)]
Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65280
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 22 Feb 2009 08:17:51 +0000 (08:17 +0000)]
x86_64 ABI: Actually, we can always pass things we want to pass in
memory using Indirect; this was a holdover from when CGCall wasn't as
robust.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65278
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 22 Feb 2009 08:15:14 +0000 (08:15 +0000)]
ccc: Remove unknown host warning, it was breaking gcc's configure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65276
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 22 Feb 2009 07:40:57 +0000 (07:40 +0000)]
Fix test to be legal on 64-bit systems.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65270
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 22 Feb 2009 07:32:24 +0000 (07:32 +0000)]
Fix regression in naming convention derivation: a method only follows the copy 'rule' if it doesn't already start with 'init', etc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 22 Feb 2009 07:29:04 +0000 (07:29 +0000)]
Eliminate a bunch of code which should be dead.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65267
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 22 Feb 2009 07:22:25 +0000 (07:22 +0000)]
x86_64 ABI: Make sure to pass vectors that we want to pass in memory
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
Eli Friedman [Sun, 22 Feb 2009 06:45:27 +0000 (06:45 +0000)]
Throw the switch to exclusively use Evaluate (along with the small
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
Daniel Dunbar [Sun, 22 Feb 2009 04:48:22 +0000 (04:48 +0000)]
x86_64 ABI: Pass 32-bit vectors as Integer to match gcc. We don't care
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
Daniel Dunbar [Sun, 22 Feb 2009 04:17:53 +0000 (04:17 +0000)]
ABITestGen: Use explicit list of vector types instead of just a list
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
Daniel Dunbar [Sun, 22 Feb 2009 04:16:10 +0000 (04:16 +0000)]
x86_64 ABI: Classify <1 x i64> as INTEGER (match gcc not llvm-gcc).
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
Eli Friedman [Sun, 22 Feb 2009 04:02:33 +0000 (04:02 +0000)]
Enhance Evaluate to handle ObjC qualified id and class types; as far as
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
Eli Friedman [Sun, 22 Feb 2009 03:31:23 +0000 (03:31 +0000)]
Fix for PR3433: map __alignof__ to preferred alignment. (This was
partially done in r65258.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65260
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 22 Feb 2009 03:23:43 +0000 (03:23 +0000)]
Last part of PR3254: use the same alignment computation in Sema and
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
Eli Friedman [Sun, 22 Feb 2009 02:56:25 +0000 (02:56 +0000)]
Improvements to ASTContext::getDeclAlignInBytes; fixes the testcase in
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
Steve Naroff [Sun, 22 Feb 2009 02:19:47 +0000 (02:19 +0000)]
Remove debugging statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65257
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 22 Feb 2009 02:11:23 +0000 (02:11 +0000)]
Match gcc and always perform array/function conversion for asm input exprs. Fixes PR3641.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65256
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 22 Feb 2009 01:38:57 +0000 (01:38 +0000)]
Correctly encode incomplete and variable length arrays. Fixes PR3639.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65255
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 22 Feb 2009 01:23:52 +0000 (01:23 +0000)]
ccc: Remove temporary files used in compilation, and remove
compilation results on failures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65254
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 22 Feb 2009 00:20:44 +0000 (00:20 +0000)]
Sanity fix for PR3642: if we're treating a diagnostic as an error, it's
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
Daniel Dunbar [Sat, 21 Feb 2009 23:45:41 +0000 (23:45 +0000)]
Force arch for these test cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65252
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 21 Feb 2009 23:37:19 +0000 (23:37 +0000)]
local array of objects are non-gc'able.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65251
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Sat, 21 Feb 2009 21:17:01 +0000 (21:17 +0000)]
More work to integrate newly added ObjCQualifiedClassType into the type system.
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
Daniel Dunbar [Sat, 21 Feb 2009 20:52:41 +0000 (20:52 +0000)]
Put compiler headers in <prefix>/lib/clang/1.0/include (vs
<prefix>/Headers, gross).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65247
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Sat, 21 Feb 2009 20:17:11 +0000 (20:17 +0000)]
Add support for GCC ObjC extension "Class<protocol>". Sigh.
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
Mike Stump [Sat, 21 Feb 2009 20:07:44 +0000 (20:07 +0000)]
The blocks ABI is wrong, add a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65243
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 21 Feb 2009 20:00:35 +0000 (20:00 +0000)]
Add CodeGen support for the helper for BlockDeclRefExprs. The easier
stuff is mostly done. Move BlockHasCopyDispose up.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65242
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Sat, 21 Feb 2009 19:50:43 +0000 (19:50 +0000)]
Warn about bogus protocol qualifiers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65241
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 21 Feb 2009 19:44:02 +0000 (19:44 +0000)]
Warn on use of __weak attribute on local
variable (objc2 gc specific).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65240
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 21 Feb 2009 19:08:45 +0000 (19:08 +0000)]
Fix a bug whereby a pointer to a __weak was not recognized
as __weak (objc2 gc specific).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65238
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 21 Feb 2009 18:26:02 +0000 (18:26 +0000)]
Use llvm::StringsEqualNoCase instead of strncasecmp.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65237
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 21 Feb 2009 18:23:24 +0000 (18:23 +0000)]
Fixed an ICE in meta-data generation of __weak/__strong ivars.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65235
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Feb 2009 18:14:20 +0000 (18:14 +0000)]
Evaluation of unary deref could call integer evaluator on non-integral
expr; hilarity ensued.
- PR3640.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65234
91177308 -0d34-0410-b5e6-
96231b3b80d8
Cedric Venet [Sat, 21 Feb 2009 17:14:49 +0000 (17:14 +0000)]
Fix build on windows.
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
Steve Naroff [Sat, 21 Feb 2009 17:03:43 +0000 (17:03 +0000)]
Add test case to record a couple inconsistencies with GCC (found in <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
Steve Naroff [Sat, 21 Feb 2009 16:18:07 +0000 (16:18 +0000)]
This fixes <rdar://problem/
6497650 > More type mismatches issues with clang.
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
Ted Kremenek [Sat, 21 Feb 2009 06:58:08 +0000 (06:58 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65227
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 21 Feb 2009 05:13:43 +0000 (05:13 +0000)]
Improved naming convention heuristics in the retain/release checker to better
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
Ted Kremenek [Sat, 21 Feb 2009 04:46:41 +0000 (04:46 +0000)]
Update scan-build help diagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65223
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 21 Feb 2009 04:46:20 +0000 (04:46 +0000)]
Only create a preprocessed file for an ignored attribute if there currently 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
Eli Friedman [Sat, 21 Feb 2009 00:58:02 +0000 (00:58 +0000)]
Slight tweak to last commit: make sure to copy CVR qualifiers for fixed
pointer types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65210
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 21 Feb 2009 00:44:51 +0000 (00:44 +0000)]
Re-fix r65140 correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65208
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 21 Feb 2009 00:30:43 +0000 (00:30 +0000)]
Handle case of none gc'able objects regardless of their
type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 21 Feb 2009 00:24:10 +0000 (00:24 +0000)]
Emit extern_weak when needed.
- PR3629.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65203
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 23:09:27 +0000 (23:09 +0000)]
We must always mangle attribute overloadable functions; even if in a
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
Steve Naroff [Fri, 20 Feb 2009 22:59:16 +0000 (22:59 +0000)]
Fix <rdar://problem/
6500554 > missing objc error message.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65198
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 22:46:43 +0000 (22:46 +0000)]
switch the macroinfo argument lists from being allocated off the heap
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
Chris Lattner [Fri, 20 Feb 2009 22:31:31 +0000 (22:31 +0000)]
detemplatify setArgumentList and some other cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65187
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 22:19:20 +0000 (22:19 +0000)]
require the MAcroInfo objects are explcitly destroyed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65179
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Feb 2009 21:49:22 +0000 (21:49 +0000)]
Make 'RangeConstraintManager' the default ConstraintManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65173
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 21:44:01 +0000 (21:44 +0000)]
allocate and dellocate objc decl list through AST Context instead of
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
Chris Lattner [Fri, 20 Feb 2009 21:38:52 +0000 (21:38 +0000)]
fix indentation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65170
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 21:37:53 +0000 (21:37 +0000)]
silence some warnings in no asserts mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65169
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 21:35:13 +0000 (21:35 +0000)]
add plumbing to get ASTContext& down to allocation/deallocation points in 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
Chris Lattner [Fri, 20 Feb 2009 21:16:26 +0000 (21:16 +0000)]
newly factored, we can now move the set and destroy methods out of line.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65166
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 21:14:14 +0000 (21:14 +0000)]
factor a bunch of common code out of the ObjCList template class
into a new shared ObjCListBase class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65164
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Feb 2009 21:10:26 +0000 (21:10 +0000)]
Greatly simplify the logic in ExplodedGraphImpl::TrimGraph. Now we just do a
vanilla reverse-BFS followed by a forward-DFS instead of resulting to strange
histrionics (whose purpose I can no longer remember) in the reverse-BFS stage.
This fixes an assertion failure in BugReporter due to edge cases where no root
was being hit in the reverse-BFS phase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65160
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 21:06:29 +0000 (21:06 +0000)]
prune #includes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65158
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 21:02:11 +0000 (21:02 +0000)]
rename ObjCList::clear() -> ObjCList::Destroy(). Require that destroy is called
before the dtor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65156
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 20:59:54 +0000 (20:59 +0000)]
rearrange the contents of DeclObjC to be by-class. Fix some 80 column issues
and other non-semantic changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65155
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 20:52:47 +0000 (20:52 +0000)]
Unbreak Darwin PIC handling; my refactoring yesterday was bogus.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65154
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 20:48:45 +0000 (20:48 +0000)]
more random cleanups, add some fixme's. ObjCCategoryImplDecl really
shouldn't be a NamedDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65153
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 20:42:28 +0000 (20:42 +0000)]
destroy should forward to base class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65151
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 20:41:34 +0000 (20:41 +0000)]
move the @implementation ivar list to being an ObjCList, which prevents
it from being leaked, among other things.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65150
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Feb 2009 20:32:39 +0000 (20:32 +0000)]
PTH generation: Clear the cleaning bit for literals (whose spellings are cached).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65148
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 19:34:45 +0000 (19:34 +0000)]
Add some IRgen improvement notes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65146
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 19:34:33 +0000 (19:34 +0000)]
Shorten; no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65145
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 18:57:29 +0000 (18:57 +0000)]
remove dead list.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65142
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 18:54:31 +0000 (18:54 +0000)]
Take advantage of noreturn attribute to add unreachable instruction &
clear insertion point. The rest of IRgen should theoretically take
advantage of this to avoid emitting dead code. Theory != Practice.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65141
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 20 Feb 2009 18:53:20 +0000 (18:53 +0000)]
Always try to fold array sizes, and warn if we could fold something that isn't an ICE. This makes us compatible with GCC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65140
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 18:53:07 +0000 (18:53 +0000)]
Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65139
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 18:43:26 +0000 (18:43 +0000)]
remove some more methods from objc decls, using the iterator
interfaces more consistently.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65138
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 18:22:23 +0000 (18:22 +0000)]
Handle constant int -> ptr casts of lvalue results.
- PR3463 (again).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65133
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 18:18:36 +0000 (18:18 +0000)]
remove some slow O(n) methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65132
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 18:10:37 +0000 (18:10 +0000)]
Change ObjCForwardProtocolDecl to use an ObjCList.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65131
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 18:06:48 +0000 (18:06 +0000)]
Set call attribute for direct calls (i.e. noreturn).
- Remove an unused variant of EmitCallExpr overload.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65130
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 18:04:31 +0000 (18:04 +0000)]
move the interace list of @class to use ObjCList.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65129
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 20 Feb 2009 17:57:11 +0000 (17:57 +0000)]
Fix <rdar://problem/
6586239 > bitfield constraints not enforced (for ObjC)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65128
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 17:53:35 +0000 (17:53 +0000)]
remove a dead list.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65127
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 17:04:14 +0000 (17:04 +0000)]
add support for amd64-*, patch by Brooks Davis!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65124
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 07:47:48 +0000 (07:47 +0000)]
ccc: Spell mattr correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65119
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 07:35:04 +0000 (07:35 +0000)]
ccc: Basic translation of gcc subtarget feature options to LLVM
options (i.e., -mno-red-zone, -msoft-float, -mno-sse, etc.)
- Also, make sure unwind tables default to on Darwin/x86_64.
- PR3604.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65118
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 06:48:26 +0000 (06:48 +0000)]
ccc: Use toolchain hook for default relocation model value.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65116
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 06:36:40 +0000 (06:36 +0000)]
Add some stdlib builtins
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65115
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 06:23:21 +0000 (06:23 +0000)]
switch ObjCMethodDecl's parameter list from being explicitly managed to an ObjCList.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65114
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 06:10:45 +0000 (06:10 +0000)]
switch the interface ivar list from being explicitly managed to using ObjCList.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65113
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 06:03:09 +0000 (06:03 +0000)]
move more objc destruction out of dtors into Destroy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65112
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 05:54:35 +0000 (05:54 +0000)]
move some objc decl destruction out of dtors into Destroy method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65111
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 20 Feb 2009 05:19:30 +0000 (05:19 +0000)]
Add an example in comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65110
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 20 Feb 2009 04:34:29 +0000 (04:34 +0000)]
Fix potential use of uninitialized variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65109
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 20 Feb 2009 02:36:22 +0000 (02:36 +0000)]
A few small tweaks to isConstantInitializer. (No test because this
isn't getting used by Sema or CodeGen at the moment...)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65107
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 20 Feb 2009 02:03:47 +0000 (02:03 +0000)]
Use -verify for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65106
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 20 Feb 2009 01:57:15 +0000 (01:57 +0000)]
Add support for * (unary dereference) operator to ExprConstant.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65105
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 01:48:01 +0000 (01:48 +0000)]
ccc: Use toolChain arch name instead of looking for arch command line
argument; the toolchain should always know the arch.
- Fixes: <rdar://problem/
6582911 > -ccc-clang-archs doesn't work for excluding ppc
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65104
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Feb 2009 01:44:05 +0000 (01:44 +0000)]
optimize the 'StoredDeclsMap' for the common case where there is
exactly one decl with a specific name in a specific context. This
avoids a bunch of malloc traffic and shrinks StoredDeclsMap to hold
one pointer instead of 3 words (for a std::vector).
This speeds up -fsyntax-only on cocoa.h with PTH by ~7.3%.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65103
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 01:36:35 +0000 (01:36 +0000)]
ccc: Store arch name in all toolchains.
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65102
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 20 Feb 2009 01:34:21 +0000 (01:34 +0000)]
Suppress constant initializer checking when the declaration isn't valid.
This prevents emitting diagnostics which are almost certainly useless.
(Note that the test is checking that we emit only one diagnostic.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65101
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 20 Feb 2009 01:30:38 +0000 (01:30 +0000)]
ccc: Give all tools access to the toolchain they are in.
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65100
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 20 Feb 2009 01:18:21 +0000 (01:18 +0000)]
Initialize the Init variable to something reasonable when we emit an
error, so we don't crash.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65099
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 20 Feb 2009 01:15:07 +0000 (01:15 +0000)]
ExprConstant handling for a couple more cases of pointer-to-int casts
from the testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65098
91177308 -0d34-0410-b5e6-
96231b3b80d8