Commit Graph

23179 Commits

Author SHA1 Message Date
Zhongxing Xu 3b7294777c Add comments.
llvm-svn: 105382
2010-06-03 06:19:01 +00:00
Anders Carlsson a2f74f3c98 Add all final overriders to the map.
llvm-svn: 105374
2010-06-03 01:00:02 +00:00
Jeffrey Yasskin c9b9bdcc20 There is no dcl.init.ref p16. This test deals with p5.
llvm-svn: 105351
2010-06-02 22:01:22 +00:00
Fariborz Jahanian d1b378e08d Block C++ code gen. Adds support for block reference argument
types. Executable test will be added to LLVM test suite.
(radar 8041962).

llvm-svn: 105347
2010-06-02 21:35:17 +00:00
John McCall 6a7f9f5c8f Don't try to emit the vtable for a class just because we're emitting a
virtual function from it.

Fixes PR7241.

llvm-svn: 105345
2010-06-02 21:22:02 +00:00
Daniel Dunbar f5e075d392 Headers: Fix quoting of macro arguments in a couple more places.
llvm-svn: 105331
2010-06-02 16:35:01 +00:00
Anders Carlsson b4d2cdbb46 Don't substitute 'St' for 'std' when the namespace is nested inside another namespace.
llvm-svn: 105330
2010-06-02 15:58:27 +00:00
Daniel Dunbar 6d3bc0898e Fix undefined behavior, noticed by GCC 4.5. Patch by Dimitry Andric!
llvm-svn: 105329
2010-06-02 15:47:10 +00:00
Daniel Dunbar 6906b04457 Fix compiler warning about to false -> pointer conversion; patch by Dimitry Andric!
llvm-svn: 105328
2010-06-02 15:47:03 +00:00
Daniel Dunbar f7ced25a2a Fix unintentional method call due to false -> pointer conversion; patch by Dimitry Andric!
llvm-svn: 105327
2010-06-02 15:46:52 +00:00
Anders Carlsson a85c1469c7 When building RTTI descriptors for pointer types, we need to get the unqualified array type and the qualifiers from it.
llvm-svn: 105326
2010-06-02 15:44:35 +00:00
Nate Begeman 661ba6d847 Fix vget_lane/vset_lane
llvm-svn: 105317
2010-06-02 07:15:01 +00:00
Douglas Gregor 876cec2898 typeid() produces type information for the cv-unqualified version of
the type. Thanks to Anders for the bug report!

llvm-svn: 105314
2010-06-02 06:16:02 +00:00
Chris Lattner 1737957803 clang++ is now a different greek letter.
llvm-svn: 105313
2010-06-02 05:27:21 +00:00
Anders Carlsson d951a7ebf8 Correctly mangle unsigned integer literals where the high bit is set.
llvm-svn: 105312
2010-06-02 05:07:26 +00:00
Anders Carlsson 728fe444f1 Correctly mangle variadic functions that don't have any other parameters.
llvm-svn: 105311
2010-06-02 04:40:13 +00:00
Anders Carlsson d563923cf1 When mangling member function pointers, fake adding a substitution corresponding to the function type.
llvm-svn: 105310
2010-06-02 04:29:50 +00:00
John McCall 58ec0483b7 Add a compatibility note about incomplete types in templates.
llvm-svn: 105309
2010-06-02 01:26:32 +00:00
Nate Begeman 464d280b3c Checkpoint arm_neon.h generation with tablegen
llvm-svn: 105306
2010-06-02 00:34:41 +00:00
Anders Carlsson 04e51cca94 More cleanup.
llvm-svn: 105301
2010-06-01 23:52:26 +00:00
Anders Carlsson 042ce2d8f1 More cleanup.
llvm-svn: 105299
2010-06-01 23:47:05 +00:00
Anders Carlsson 79547c3fbd Cleanup.
llvm-svn: 105296
2010-06-01 23:17:37 +00:00
Dan Gohman b2e7169db8 Delete a blank line to make it easier to process this file with a script.
llvm-svn: 105275
2010-06-01 16:56:42 +00:00
John McCall 75b960e5ee Alter the ExternalASTSource interface to permit by-name lookups. PCH continues to
bring in the entire lookup table at once.

Also, give ExternalSemaSource's vtable a home.  This is important because otherwise
any reference to it will cause RTTI to be emitted, and since clang is compiled
with -fno-rtti, that RTTI will contain unresolved references (to ExternalASTSource's
RTTI).  So this change makes it possible to subclass ExternalSemaSource from projects
compiled with RTTI, as long as the subclass's home is compiled with -fno-rtti.

llvm-svn: 105268
2010-06-01 09:23:16 +00:00
Zhongxing Xu ce83656f97 Limit the use of BindDefault().
llvm-svn: 105265
2010-06-01 04:49:26 +00:00
Zhongxing Xu 527ff6d1dc Add support for calloc() in MallocChecker. Patch by Jordy Rose, with my
modification.

llvm-svn: 105264
2010-06-01 03:01:33 +00:00
Ted Kremenek 305a0a7416 Fix crash in code completion when an ObjCMethodDecl doesn't have an associated @interface.
Fixes <rdar://problem/8026215>.

llvm-svn: 105256
2010-05-31 21:43:10 +00:00
Chris Lattner 47054fbbe9 Minor tweaks on doug's objc recovery patch: the caller
of isSimpleObjCMessageExpression checks the language,
so change a dynamic check into an assert.

isSimpleObjCMessageExpression is expensive, so only do it
in the common case when it is likely to matter: when the [
of the postfix expr starts on a new line.  This should avoid
doing lookahead for every array expression.

llvm-svn: 105229
2010-05-31 18:18:22 +00:00
Charles Davis 7de6638173 Make methods non-virtual again for now. I accidentally committed this in
preparation for an alternate mangler.

llvm-svn: 105224
2010-05-31 17:07:59 +00:00
Douglas Gregor 952cf9414f Tweak test for non-64-bit Darwin
llvm-svn: 105222
2010-05-31 14:58:57 +00:00
Douglas Gregor 990ccace5b When we see the a '[' in a postfix expression in Objective-C, perform
a simple, quick check to determine whether the expression starting
with '[' can only be an Objective-C message send. If so, don't parse
it as an array subscript expression. This improves recovery for, e.g.,

  [a method1]
  [a method2]

so that we now produce

  t.m:10:13: error: expected ';' after expression
  [a method]
            ^

instead of some mess about expecting ']'.

llvm-svn: 105221
2010-05-31 14:40:22 +00:00
Chandler Carruth 9e814c0d80 Silence GCC warning about an accessible non-virtual destructor in a class with
virtual methods.

Please review cdavis, should these methods even be virtual?

llvm-svn: 105218
2010-05-31 08:27:42 +00:00
Ted Kremenek 4708f5a89b After conversations with Zhongxing Xu and Jordy Rose, refine the logic in
RegionStoreManager::RetrieveElement() that handles indexing into a larger scalar
object to only consult the direct binding of a super region if it is a scalar.
This isn't perfect yet, and a big FIXME is attached to the code.  This causes
the test case for PR 7218 now to pass.

llvm-svn: 105195
2010-05-31 01:22:04 +00:00
Chris Lattner f3d0436077 fix incorrect tag
llvm-svn: 105189
2010-05-30 23:42:51 +00:00
Chris Lattner f8142a3a6b make #warning warnings end up in their own diagnostic category.
rdar://8042673

llvm-svn: 105188
2010-05-30 23:42:10 +00:00
Chris Lattner 52d96ac930 simpler fix for rdar://8044135 - escaped newlines have already
been processed, so they don't have to be tip-toed around.

llvm-svn: 105182
2010-05-30 23:27:38 +00:00
Douglas Gregor fe4a4107d8 Improve our handling of NULL after an escaping '\' in a string
literal. Fixes <rdar://problem/8044135>.

llvm-svn: 105181
2010-05-30 22:59:50 +00:00
Alexis Hunt 50d612d6c6 Move .td files from AST to Basic.
Parse will need to see these files because it needs to know how to parse
attributes. The generated files are still placed in the appropriate directory so
as to preserve layering. No functional change.

llvm-svn: 105179
2010-05-30 22:44:37 +00:00
Douglas Gregor d5a479cbb5 Don't try to parse class template specializations in C. It can only
lead to heartache. Fixes <rdar://problem/8044088>.

llvm-svn: 105178
2010-05-30 22:30:21 +00:00
Daniel Dunbar 3dbd7b51ca FuzzTest: Add support for reading list of replacements from a file.
llvm-svn: 105177
2010-05-30 22:27:55 +00:00
Daniel Dunbar ef261ba507 utils: Add a generic fuzz testing tool.
llvm-svn: 105176
2010-05-30 22:27:52 +00:00
Douglas Gregor 2683c28ff6 Improve parser recovery when we try to parse a call expression but the
called function itself is invalid (e.g., because of a semantic error
referring to that declaration). Fixes <rdar://problem/8044142>.

llvm-svn: 105175
2010-05-30 22:23:08 +00:00
Nick Lewycky 71eac6e114 Make macro safe in the face of users who pass "addr+64". Addition of void* is
invalid.

llvm-svn: 105172
2010-05-30 18:26:21 +00:00
Anders Carlsson 107b4e096c Remove unused parameter to FinalOverriders::PropagateOverrider.
llvm-svn: 105171
2010-05-30 18:23:41 +00:00
Nick Lewycky 6cbc3f7de4 Refactor the Is{Std,Clang,LLVM}Namespace methods and rename 'isClangAttr' to
'IsClangAttr' to match prevailing style in this file. Patch by Jon Mulder!

llvm-svn: 105170
2010-05-30 18:05:23 +00:00
Alexis Hunt ed05325dbe Convert DeclNodes to use TableGen.
The macros required for DeclNodes use have changed to match the use of
StmtNodes. The FooFirst enumerator constants have been named firstFoo
to match usage elsewhere.

llvm-svn: 105165
2010-05-30 07:21:58 +00:00
Anders Carlsson 7498b32117 And now for the best part: Removing the old code.
llvm-svn: 105162
2010-05-30 06:56:46 +00:00
Anders Carlsson b1fcdd063c Turn on the new empty base subobject tracking code. It's a bit faster than the previous code. However, it still has quadratic performance, something which I intend to fix shortly in a subsequent patch.
llvm-svn: 105161
2010-05-30 06:52:33 +00:00
Douglas Gregor 6ed3eb8a48 Teach code-completion for calls to be more careful with a
potentially-NULL "function" argument.

llvm-svn: 105152
2010-05-30 06:10:08 +00:00
Eli Friedman c8731be34d Fix for PR7040: Don't try to compute the LLVM type for a function where it
isn't possible to compute.

This patch is mostly refactoring; the key change is the addition of the code
starting with the comment, "Check whether the function has a computable LLVM
signature."  The solution here is essentially the same as the way the
vtable code handles such functions.

llvm-svn: 105151
2010-05-30 06:03:20 +00:00