]>
granicus.if.org Git - clang/log
Gabor Greif [Sat, 28 Aug 2010 11:05:27 +0000 (11:05 +0000)]
the target of the link uses the singular form, so do we too
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112367
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Sat, 28 Aug 2010 11:03:06 +0000 (11:03 +0000)]
typo
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112366
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Sat, 28 Aug 2010 10:40:52 +0000 (10:40 +0000)]
suppress annoying textual repetition as 'aka'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112365
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 28 Aug 2010 09:06:06 +0000 (09:06 +0000)]
Fix the memory leak of FloatingLiteral/IntegerLiteral.
For large floats/integers, APFloat/APInt will allocate memory from the heap to represent these numbers.
Unfortunately, when we use a BumpPtrAllocator to allocate IntegerLiteral/FloatingLiteral nodes the memory associated with
the APFloat/APInt values will never get freed.
I introduce the class 'APNumericStorage' which uses ASTContext's allocator for memory allocation and is used internally by FloatingLiteral/IntegerLiteral.
Fixes rdar://
7637185
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112361
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 28 Aug 2010 08:47:21 +0000 (08:47 +0000)]
That's not the right direction to compute notional accessibility in at all.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112360
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 28 Aug 2010 08:10:32 +0000 (08:10 +0000)]
Fix build. Bad me, adding last-minute assertions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112359
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 28 Aug 2010 07:56:00 +0000 (07:56 +0000)]
When checking access control for an instance member access on
an object of type I, if the current access target is protected
when named in a class N, consider the friends of the classes P
where I <= P <= N and where a notional member of N would be
non-forbidden in P.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112358
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Sat, 28 Aug 2010 02:00:22 +0000 (02:00 +0000)]
check whether sema issues a redefinition error
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112347
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Sat, 28 Aug 2010 01:58:12 +0000 (01:58 +0000)]
perform cheap test first
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112346
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 28 Aug 2010 01:01:21 +0000 (01:01 +0000)]
Ignore this flag too, Clang doesn't seem to use random numbers internally.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112342
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Sat, 28 Aug 2010 00:48:36 +0000 (00:48 +0000)]
note to self: save before committing; add PR
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112339
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Sat, 28 Aug 2010 00:45:56 +0000 (00:45 +0000)]
fix test by applying it in top namespace: PR8007 only showed up this way
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112338
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 28 Aug 2010 00:19:12 +0000 (00:19 +0000)]
Update test case, with comment to later investigate the correct behavior. Now the behavior is at least consistent.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112335
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 28 Aug 2010 00:19:02 +0000 (00:19 +0000)]
Explicitly handle CXXExprWithTemporaries during CFG construction by just visiting the subexpression. While we don't do anything intelligent right now, this obviates a bogus -Wunreahable-code warning reported in PR 6130.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112334
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Sat, 28 Aug 2010 00:16:06 +0000 (00:16 +0000)]
fix PR8007
reordering and redefinition issues still may linger,
I plan to nail them next
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112333
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 28 Aug 2010 00:00:50 +0000 (00:00 +0000)]
Basic code completion support for the base and member initializers in
a constructor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112330
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 27 Aug 2010 23:39:49 +0000 (23:39 +0000)]
reproduction recipe for PR8007, expected to fail for now, review welcome
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112326
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Fri, 27 Aug 2010 23:12:46 +0000 (23:12 +0000)]
Parser support for inline namespaces
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112320
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Fri, 27 Aug 2010 23:12:39 +0000 (23:12 +0000)]
Comment and move another ASTReader member.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112319
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Fri, 27 Aug 2010 23:12:36 +0000 (23:12 +0000)]
Update comment after Chandler's change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112318
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 27 Aug 2010 22:55:10 +0000 (22:55 +0000)]
Miscellaneous found by inspection with John and Sebastian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112315
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Care [Fri, 27 Aug 2010 22:50:47 +0000 (22:50 +0000)]
Added checking of (x == x) and (x != x) to IdempotentOperationChecker and updated test cases flagged by it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112313
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Care [Fri, 27 Aug 2010 22:46:32 +0000 (22:46 +0000)]
Enabled relaxed LiveVariables analysis in the path-sensitive engine to increase the coverage of bugs. Primarily affects IdempotentOperationChecker.
- Migrated a temporarily separated test back to its original file (bug has been fixed, null-deref-ps-temp.c -> null-deref-ps.c)
- Changed SymbolManager to use relaxed LiveVariables
- Updated several test cases that the IdempotentOperationChecker class now flags
- Added test case to test relaxed LiveVariables use by the IdempotentOperationChecker
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Care [Fri, 27 Aug 2010 22:37:31 +0000 (22:37 +0000)]
Remove an assertion in UnreachableCodeChecker that can be triggered by bugs in other checkers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112310
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Care [Fri, 27 Aug 2010 22:35:28 +0000 (22:35 +0000)]
Fix bug in IdempotentOperationChecker where an assumption would not get updated properly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Aug 2010 22:32:41 +0000 (22:32 +0000)]
handle :: in selectors in objc++ mode, rdar://
8366474
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Care [Fri, 27 Aug 2010 22:30:10 +0000 (22:30 +0000)]
Add alternate version of LiveVariables analysis that does not kill liveness at assignments. This 'relaxed' liveness is useful in path sensitive analysis for situations where the resulting extended liveness allows us to find some bugs.
- Added killAtAssign flag to LiveVariables
- Added relaxed LiveVariables to AnalysisContext with an accessor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112306
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 27 Aug 2010 21:57:20 +0000 (21:57 +0000)]
Add source file I meant to include in my previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 27 Aug 2010 21:39:15 +0000 (21:39 +0000)]
Improve wording of diagnostic complaining about a non-void* pointer as the first parameter of operator delete
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112298
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 27 Aug 2010 21:34:58 +0000 (21:34 +0000)]
Implement CXCursor support for walking C++ base specifiers. This includes adding the API hooks clang_isVirtualBase() and clang_getCXXAccessSpecifier() to query properties of the base specifier.
Implements <rdar://problem/
8274883 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112296
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 27 Aug 2010 21:34:51 +0000 (21:34 +0000)]
Fix copy-paste in doxygen comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112295
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 27 Aug 2010 21:18:54 +0000 (21:18 +0000)]
Implement the "call super" code completion for C++. If the virtual
member function you're typing in overrides another virtual function,
this fills in a (qualified!) call to that virtual function to make
such delegation easy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112294
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 27 Aug 2010 21:13:41 +0000 (21:13 +0000)]
Teach clang_codeComplete to always sort its code-completion results
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112292
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Aug 2010 20:10:06 +0000 (20:10 +0000)]
fix incorrect MM_HINT_ definitions, PR8011
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112283
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 27 Aug 2010 19:56:05 +0000 (19:56 +0000)]
Continue to instantiate sub-statements in a CompoundStmt as long as
we don't see a DeclStmt (failure to instantiate which generally causes
panic).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112282
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 27 Aug 2010 17:47:47 +0000 (17:47 +0000)]
Debug info for friends!
Patch originally by Alexander Herz.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112275
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 27 Aug 2010 17:35:51 +0000 (17:35 +0000)]
Suggest "const" and "volatile" code completions after a function
declarator, the very definition of "low-hanging fruit".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112274
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 27 Aug 2010 17:14:29 +0000 (17:14 +0000)]
Add the new alignment arguments for NEON load/store intrinsics, based on the
types of the pointer address expressions used with those intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112272
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 27 Aug 2010 15:44:11 +0000 (15:44 +0000)]
createMainFileID doesn't need its IncludePos argument, since
the main file isn't an included file, and the IncludePos is
always SourceLocation().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 27 Aug 2010 15:29:55 +0000 (15:29 +0000)]
When code-completing inside an Objective-C method, give a slight
priority boost to methods with the same selector.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112268
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 27 Aug 2010 15:10:57 +0000 (15:10 +0000)]
Add a super-cool code completion for send-to-super. When we're typing
a message send to "super" from a method that appears to be meant to
override a superclass method (same kind, same selector, same argument
types), provide a "super" completion that fills in the selector along
with forwarding the method's arguments (as placeholders).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112263
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 27 Aug 2010 14:18:05 +0000 (14:18 +0000)]
Fix CMake dependencies, from Fernando Pelliccioni!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112261
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 27 Aug 2010 09:08:28 +0000 (09:08 +0000)]
Propagate whether an id-expression is the immediate argument of
an '&' expression from the second caller of ActOnIdExpression.
Teach template argument deduction that an overloaded id-expression
doesn't give a valid type for deduction purposes to a non-static
member function unless the expression has the correct syntactic
form.
Teach ActOnIdExpression that it shouldn't try to create implicit
member expressions for '&function', because this isn't a
permitted form of use for member functions.
Teach CheckAddressOfOperand to diagnose these more carefully.
Some of these cases aren't reachable right now because earlier
diagnostics interrupt them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112258
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 27 Aug 2010 00:11:28 +0000 (00:11 +0000)]
Don't recurse twice when we can recurse once
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112246
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 26 Aug 2010 23:41:50 +0000 (23:41 +0000)]
One who seeks knowledge learns something new every day.
One who seeks the Tao unlearns something new every day.
Less and less remains until you arrive at non-action.
When you arrive at non-action,
nothing will be left undone.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112244
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 26 Aug 2010 22:54:33 +0000 (22:54 +0000)]
test case for r112238.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112239
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 26 Aug 2010 22:19:33 +0000 (22:19 +0000)]
Fix horrible GRExprEngine bug where switch statements with no 'case:' statements would cause the path to get prematurely aborted. Fixes <rdar://problem/
8360854 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112233
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 26 Aug 2010 22:04:01 +0000 (22:04 +0000)]
Remove redundant cast<...>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112229
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 26 Aug 2010 21:27:06 +0000 (21:27 +0000)]
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112219
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Aug 2010 20:08:43 +0000 (20:08 +0000)]
improve comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112214
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Aug 2010 20:05:48 +0000 (20:05 +0000)]
add radar #
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112212
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Aug 2010 20:05:13 +0000 (20:05 +0000)]
fix 2xi16 to pass as i32 instead of <2 x i16>. The former passes in
memory (as required) the later now passes in an xmm register. This
fixes gcc.dg/compat/vector_1 on x86-32.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112211
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 26 Aug 2010 19:58:26 +0000 (19:58 +0000)]
clang.xcodeproj updated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112209
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Aug 2010 18:13:50 +0000 (18:13 +0000)]
vector of long and ulong are also classified as INTEGER in x86-64 abi,
this fixes rdar://
8358475 a failure of the gcc.dg/compat/vector_1 abi
test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Aug 2010 18:03:20 +0000 (18:03 +0000)]
1 x ulonglong needs to be classified as INTEGER, just like 1 x longlong,
this fixes a miscompilation on the included testcase, rdar://
8359248
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112201
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 26 Aug 2010 17:42:30 +0000 (17:42 +0000)]
...I forgot to check my new test after adding it, and lo, there's slightly different
behavior in C than in C++ (which is what the original test case was).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112199
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 26 Aug 2010 17:22:34 +0000 (17:22 +0000)]
Make sure we clear TypeSpecOwned when setting TypeSpecType to something when
it might previously have been a tag TST.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112196
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 26 Aug 2010 16:46:39 +0000 (16:46 +0000)]
Tweak the @selector completion to collapse multiple informative and
typed-text blocks into one of each.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112194
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 26 Aug 2010 16:36:48 +0000 (16:36 +0000)]
When code-completing a potential call to a C++ non-static member
function, take into account the qualifiers on the object argument
(e.g., what will become "this"), filtering around uncallable member
functions and giving a slight priority boost to those with
exactly-matching qualifiers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112193
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 26 Aug 2010 16:36:35 +0000 (16:36 +0000)]
Work around a gcc warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112192
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 26 Aug 2010 15:23:38 +0000 (15:23 +0000)]
Fix miscompilation. The cookie was not used when new'ing arrays with multiple dimensions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112188
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 26 Aug 2010 15:21:38 +0000 (15:21 +0000)]
clang-interpreter: libFrontend depends on libSerialization. Fix linux build by changing the link order.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112187
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 26 Aug 2010 15:07:07 +0000 (15:07 +0000)]
Implement code completion for @selector expressions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112186
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 26 Aug 2010 14:20:32 +0000 (14:20 +0000)]
More ordering tweaks in this silly, silly test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112184
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 26 Aug 2010 14:20:18 +0000 (14:20 +0000)]
mark boost's tracking bug as fixed
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112183
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 26 Aug 2010 14:07:34 +0000 (14:07 +0000)]
Tweak wording in an assertion, from dawn@burble.org.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112182
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 26 Aug 2010 13:48:56 +0000 (13:48 +0000)]
Update clang-interpreter for recent DiagnosticClient ownership changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112181
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 26 Aug 2010 13:48:20 +0000 (13:48 +0000)]
Move the sorting of code-completion results out of the main path and
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
3rd try. How embarrassing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112180
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 26 Aug 2010 10:20:09 +0000 (10:20 +0000)]
Missed a couple.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112179
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 26 Aug 2010 09:52:08 +0000 (09:52 +0000)]
Apparently gcc doesn't always get injected class names right.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112178
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 26 Aug 2010 09:15:37 +0000 (09:15 +0000)]
Move things around so that Sema.h no longer depends on even DeclBase.h.
It still depends on Type because DeclarationName.h does.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112177
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Aug 2010 06:28:35 +0000 (06:28 +0000)]
tame an assertion, fixing rdar://
8357396
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112174
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 26 Aug 2010 06:02:12 +0000 (06:02 +0000)]
CGValue: Increase width of allowed alignment. We could switch to log2, but we
don't currently need the bits anyway.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112173
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 26 Aug 2010 03:53:50 +0000 (03:53 +0000)]
Revert r112149, "Move the sorting of code-completion results out of the main
path and ...", it is failing tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112161
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 26 Aug 2010 03:53:44 +0000 (03:53 +0000)]
Revert r112154, "Fix thinko in sorting operation", it depends on r112149 which
doth lay upon the chopping block.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112160
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 26 Aug 2010 03:52:21 +0000 (03:52 +0000)]
Tweak test to avoid checking for a specific ordering where none exists
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112159
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 26 Aug 2010 03:08:43 +0000 (03:08 +0000)]
De-memberify the VarDecl and FunctionDecl StorageClass enums.
This lets us remove Sema.h's dependency on Expr.h and Decl.h.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112156
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 26 Aug 2010 02:54:05 +0000 (02:54 +0000)]
Fix thinko in sorting operation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112154
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 26 Aug 2010 02:27:03 +0000 (02:27 +0000)]
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112151
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 26 Aug 2010 02:23:45 +0000 (02:23 +0000)]
Move the sorting of code-completion results out of the main path and
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112149
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 26 Aug 2010 02:13:20 +0000 (02:13 +0000)]
Restore r112114 now that SmallVector<...,0> is safe.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112148
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 26 Aug 2010 02:09:25 +0000 (02:09 +0000)]
Move some type defines from smmintrin.h to emmintrin.h to match where
gcc defines them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112146
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 26 Aug 2010 01:42:22 +0000 (01:42 +0000)]
Add libclang API hook "clang_getIBOutletCollectionType" to query the collection type for iboutletcollection attributes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112139
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 26 Aug 2010 01:41:44 +0000 (01:41 +0000)]
Driver/Darwin: Switch back to old toolchain, looks like new one isn't quite
ready yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112138
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Aug 2010 01:17:33 +0000 (01:17 +0000)]
zap dead ctor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112132
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 26 Aug 2010 00:55:57 +0000 (00:55 +0000)]
IRgen/NEON: Fix codegen of vzip and vzipq.
- Will be adding an executable test case to test-suite repo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112126
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 26 Aug 2010 00:55:55 +0000 (00:55 +0000)]
Driver: Fix thinko where I switched to always using the old toolchain, instead
of always using the new toolchain.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112125
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 26 Aug 2010 00:55:52 +0000 (00:55 +0000)]
Driver/Darwin: Pass the right arch specific dir for ARM, when linking.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112124
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 26 Aug 2010 00:52:50 +0000 (00:52 +0000)]
Revert r112114, "Pull DelayedDiagnostic and AccessedEntity out into their own
header.", it is teh broken.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112123
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 26 Aug 2010 00:42:16 +0000 (00:42 +0000)]
With lax vector conversions (the default) make sure we convert between two
vectors that are the same size. Fix up testcases accordingly and add a new one
to make sure we still error if lax vector conversions are disabled.
Fixes rdar://
8328190
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112122
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 26 Aug 2010 00:30:24 +0000 (00:30 +0000)]
Revert "Move the sorting of code-completion results out of the main path and
into the clients", because the C standard library sucks. Where's my
stable sort, huh?
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112121
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 26 Aug 2010 00:17:38 +0000 (00:17 +0000)]
Add DelayedDiagnostic.h to xcode project file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112119
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 26 Aug 2010 00:13:24 +0000 (00:13 +0000)]
More update of clang.xcodeproj for recent changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112117
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 26 Aug 2010 00:06:40 +0000 (00:06 +0000)]
Update clang.xcodeproj for recent refactorings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112116
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 25 Aug 2010 23:45:44 +0000 (23:45 +0000)]
Fix typo in error message and testcase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112115
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 25 Aug 2010 23:44:00 +0000 (23:44 +0000)]
Pull DelayedDiagnostic and AccessedEntity out into their own header.
This works courtesy of the new SmallVector<..., 0> specialization that
doesn't require a complete type. Note that you'll need to pull at least
SmallVector.h from LLVM to compile successfully.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112114
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 25 Aug 2010 23:42:51 +0000 (23:42 +0000)]
Revert r112043, static volatiles are removed by the optimizer. Thanks Chris!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112112
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Aug 2010 23:39:14 +0000 (23:39 +0000)]
Finally pass "two floats in a 64-bit unit" as a <2 x float> instead of
as a double in the x86-64 ABI. This allows us to generate much better
code for certain things, e.g.:
_Complex float f32(_Complex float A, _Complex float B) {
return A+B;
}
Used to compile into (look at the integer silliness!):
_f32: ## @f32
## BB#0: ## %entry
movd %xmm1, %rax
movd %eax, %xmm1
movd %xmm0, %rcx
movd %ecx, %xmm0
addss %xmm1, %xmm0
movd %xmm0, %edx
shrq $32, %rax
movd %eax, %xmm0
shrq $32, %rcx
movd %ecx, %xmm1
addss %xmm0, %xmm1
movd %xmm1, %eax
shlq $32, %rax
addq %rdx, %rax
movd %rax, %xmm0
ret
Now we get:
_f32: ## @f32
movdqa %xmm0, %xmm2
addss %xmm1, %xmm2
pshufd $16, %xmm2, %xmm2
pshufd $1, %xmm1, %xmm1
pshufd $1, %xmm0, %xmm0
addss %xmm1, %xmm0
pshufd $16, %xmm0, %xmm1
movdqa %xmm2, %xmm0
unpcklps %xmm1, %xmm0
ret
and compile stuff like:
extern float _Complex ccoshf( float _Complex ) ;
float _Complex ccosf ( float _Complex z ) {
float _Complex iz;
(__real__ iz) = -(__imag__ z);
(__imag__ iz) = (__real__ z);
return ccoshf(iz);
}
into:
_ccosf: ## @ccosf
## BB#0: ## %entry
pshufd $1, %xmm0, %xmm1
xorps LCPI4_0(%rip), %xmm1
unpcklps %xmm0, %xmm1
movaps %xmm1, %xmm0
jmp _ccoshf ## TAILCALL
instead of:
_ccosf: ## @ccosf
## BB#0: ## %entry
movd %xmm0, %rax
movq %rax, %rcx
shlq $32, %rcx
shrq $32, %rax
xorl $-
2147483648 , %eax ## imm = 0xFFFFFFFF80000000
addq %rcx, %rax
movd %rax, %xmm0
jmp _ccoshf ## TAILCALL
There is still "stuff to be done" here for the struct case,
but this resolves rdar://
6379669 - [x86-64 ABI] Pass and return
_Complex float / double efficiently
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112111
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 25 Aug 2010 23:14:56 +0000 (23:14 +0000)]
Fix miscompilation. The custom new[]/delete[] methods were not getting called for arrays with more than 1 dimension.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112107
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Care [Wed, 25 Aug 2010 22:46:03 +0000 (22:46 +0000)]
Add missing null checks in PseudoConstantAnalysis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112100
91177308 -0d34-0410-b5e6-
96231b3b80d8