Commit Graph

23212 Commits

Author SHA1 Message Date
Fariborz Jahanian 9643399ef0 Added a field to BlockDeclRefExpr for future use.
No functionality change yet.

llvm-svn: 105479
2010-06-04 19:06:53 +00:00
John McCall 8e346702b6 Preserve more information from a block's original function declarator, if one
was given.  Remove some unnecessary accounting from BlockScopeInfo.  Handle
typedef'ed function types until such time as we decide not.

llvm-svn: 105478
2010-06-04 19:02:56 +00:00
Daniel Dunbar 7f3d95054b Driver: Change -dwarf-debug-flags option to pass the original command line
arguments after translation, instead of the -cc1 level arguments.

llvm-svn: 105476
2010-06-04 18:47:06 +00:00
Daniel Dunbar 6beaf5110f Driver/Darwin: Model dsymutil properly, as a separate action/tool kind which is
added as the last output step, instead of just hacking it into the link step.
 - Among other things, this fixes dSYM generation when using multiple -arch options.

llvm-svn: 105475
2010-06-04 18:28:41 +00:00
Daniel Dunbar 8829962030 Driver: Add an explicit dsymutil action.
llvm-svn: 105474
2010-06-04 18:28:36 +00:00
Fariborz Jahanian 64176c2c97 For C++ copied in objects, use copy constructors in
setting up block's descriptor. This is on going work to
support c++ specific issues in setting up blocks
various APIs.

llvm-svn: 105469
2010-06-04 16:10:00 +00:00
Rafael Espindola 92eb2cbbef Add ARM paths for debian. Not enough to bootstrap on a beagle board, but
moves us further.

llvm-svn: 105468
2010-06-04 14:28:10 +00:00
John McCall a3ccba0417 Restructure how we interpret block-literal declarators. Correctly handle
the case where we pick up block arguments from a typedef.  Save the block
signature as it was written, and preserve same through PCH.

llvm-svn: 105466
2010-06-04 11:21:44 +00:00
Abramo Bagnara 52d6350dd2 Don't insert in lexical context implicit definitions of static member instances.
llvm-svn: 105465
2010-06-04 09:35:39 +00:00
Douglas Gregor 2e87ca218f When checking for equality of template parameter lists, a template
type parameter pack is distinct from a template type parameter.

llvm-svn: 105464
2010-06-04 08:34:32 +00:00
John McCall b1cd7dac3d Delay checking for mutable const fields until we're checking the field.
Allows this check to work properly for instantiated fields and removes
an unnecessary GetTypeForDeclarator call.

llvm-svn: 105463
2010-06-04 08:34:12 +00:00
Douglas Gregor 71b209dea6 Properly disambiguate between an elaborated-type-specifier and a
type-parameter within a template parameter list. Found by inspection. 

llvm-svn: 105462
2010-06-04 07:30:15 +00:00
John McCall ec6f4e9017 More refactoring.
llvm-svn: 105458
2010-06-04 02:29:22 +00:00
Anders Carlsson 15722da2dc Add a short circuit in isVirtuallyDerivedFrom.
llvm-svn: 105457
2010-06-04 01:40:08 +00:00
Jordy Rose 2e22268904 Assignments to reference variables shouldn't kill the variable.
llvm-svn: 105452
2010-06-04 01:14:56 +00:00
David Chisnall b190a2c74a Fixed Objective-C type encoding for bitfields for the GNU runtime to match the encoding used by GCC.
llvm-svn: 105451
2010-06-04 01:10:52 +00:00
Anders Carlsson fd788405ac Remove now unused code.
llvm-svn: 105448
2010-06-04 00:59:37 +00:00
Anders Carlsson 27860db29e Use CXXRecordDecl::getFinalOverriders to get final overriders. This speeds up vtable layout by moving away from the old final overrider computation code that had O(N^2) complexity in some cases.
llvm-svn: 105447
2010-06-04 00:54:04 +00:00
John McCall 4a2429aa5a Remove a couple of unnecessary uses of IsStandardConversion.
llvm-svn: 105445
2010-06-04 00:29:51 +00:00
Eli Friedman 986b6ae96a Check the output of this test.
llvm-svn: 105434
2010-06-03 23:34:11 +00:00
Eli Friedman 4e7bd4a8a1 Think through my commit this time.
llvm-svn: 105433
2010-06-03 23:31:53 +00:00
Eli Friedman cd70980c8e Make sure this test doesn't break when we disallow throwing an exception
in -fno-exceptions mode.

llvm-svn: 105432
2010-06-03 23:22:25 +00:00
Tom Care 7691c9cdb6 Removing commit access test file.
llvm-svn: 105426
2010-06-03 22:31:09 +00:00
Tom Care 4cdcf59c6d Testing commit access.
llvm-svn: 105424
2010-06-03 22:30:22 +00:00
Nate Begeman 821079d42d Classify NEON intrinsics by overloading-type for codegen
Add a few missing instructions

llvm-svn: 105417
2010-06-03 21:36:23 +00:00
Eli Friedman 91a3d27ec0 Make sure to check the accessibility of and mark the destructor for the
operand of a throw expression.  Fixes PR7281.

llvm-svn: 105408
2010-06-03 20:39:03 +00:00
Eli Friedman cce5b81ce1 Don't intentionally try to ignore the value of a scalar expression when we
actually care about it. Fixes PR7291.

llvm-svn: 105404
2010-06-03 19:58:07 +00:00
John McCall 1c70e99a2c Hack in some really terrible C++ record PCH support that I need right now.
This is required in order to test:

The ASTImporter should set base classes after formally entering the definition.

llvm-svn: 105401
2010-06-03 19:28:45 +00:00
Ted Kremenek b4bb6dc44d Return a proper null CXSourceLocation from clang_getLocation() when the SourceLocation is invalid. Fixes <rdar://problem/8056640>.
llvm-svn: 105392
2010-06-03 15:52:32 +00:00
Anders Carlsson bcb2e4cb63 Don't try to explicitly zero out bit-fields.
llvm-svn: 105391
2010-06-03 15:36:07 +00:00
Jordy Rose d47ff22893 Test commit: fix method summary comment
llvm-svn: 105385
2010-06-03 06:52:32 +00:00
Zhongxing Xu ea9fcffe03 Make addStmt always add stmt. Delegate other cases to Visit() directly.
llvm-svn: 105384
2010-06-03 06:43:23 +00:00
Zhongxing Xu 41cdf585c2 CFG: add all LHS of assingments as lvalue. This improves support for C++ reference. Patch by Jordy.
llvm-svn: 105383
2010-06-03 06:23:18 +00:00
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