Jeffrey Yasskin
caa710dfd2
PR7245: Make binding a reference to a temporary without a usable copy
...
constructor into an extension warning into the error that C++98 requires.
llvm-svn: 105529
2010-06-07 15:58:05 +00:00
John McCall
cb0f89a434
Simplify the methods for creating a pointer, reference, member-pointer,
...
or block-pointer type by removing the qualifiers parameter. Introduce a
method to perform semantic checking when adding qualifiers to a type.
llvm-svn: 105526
2010-06-05 06:41:15 +00:00
Abramo Bagnara
d73405829b
Added AccessSpecDecl node.
...
llvm-svn: 105525
2010-06-05 05:09:32 +00:00
Jeffrey Yasskin
2f96e9f5c9
Add an extension to avoid an error when a global template has the same name as
...
a member template, and you try to call the member template with an explicit
template argument. See PR7247
For example, this downgrades the error to a warning in:
template<typename T> struct set{};
struct Value {
template<typename T>
void set(T value) {
}
};
void foo() {
Value v;
v.set<double>(3.2); // Warning here.
}
llvm-svn: 105518
2010-06-05 01:39:57 +00:00
Devang Patel
6ccba0fb6e
Preserve type info for local variables in optimized builds.
...
llvm-gcc enabled this couple of weeks ago.
llvm-svn: 105516
2010-06-05 01:14:40 +00:00
John McCall
8cb7bdfd33
Alter the interface of GetTypeForDeclarator to return a TypeSourceInfo*.
...
This is never null, but the associated type might be.
llvm-svn: 105503
2010-06-04 23:28:52 +00:00
Rafael Espindola
e971b9a260
Correctly align large arrays in x86-64. This fixes PR5599.
...
llvm-svn: 105500
2010-06-04 23:15:27 +00:00
Anders Carlsson
76f513f862
When deciding whether reinterpret_cast casts away constness we need to look at array qualifiers. Fixes rdar://problem/8018292.
...
llvm-svn: 105494
2010-06-04 22:47:55 +00:00
Nate Begeman
6736cc89d0
Initial support for ARM NEON builtins, codegen up next
...
llvm-svn: 105489
2010-06-04 21:36:27 +00:00
Fariborz Jahanian
ea882cd92e
Build AST for copy-construction of copied-in
...
class object in blocks and carry it to IRGen.
llvm-svn: 105487
2010-06-04 21:35:44 +00:00
John McCall
339bb66246
Remember type source information for Objective C property declarations.
...
llvm-svn: 105484
2010-06-04 20:50:08 +00:00
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
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
Anders Carlsson
bcb2e4cb63
Don't try to explicitly zero out bit-fields.
...
llvm-svn: 105391
2010-06-03 15:36:07 +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
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
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