- Apr 30, 2012
-
-
David Blaikie authored
Reviewed by Doug Gregor. llvm-svn: 155839
-
David Blaikie authored
Apparently we weren't checking default arguments when they were instantiated. This adds the check, fixes the lack of instantiation caching (which seems like it was mostly implemented but just missed the last step), and avoids implementing non-dependent default args (for non-dependent parameter types) as uninstantiated default arguments (so that we don't warn once for every instantiation when it's not instantiation dependent). Reviewed by Richard Smith. llvm-svn: 155838
-
Douglas Gregor authored
when we're in an Objective-C container context. Fixes <rdar://problem/11286701>. llvm-svn: 155836
-
Richard Trieu authored
in the loop conditional do not change. llvm-svn: 155835
-
David Blaikie authored
filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) llvm-svn: 155808
-
- Apr 29, 2012
-
-
Richard Smith authored
type. But a glvalue can be reinterpret_cast to either flavor of reference. llvm-svn: 155789
-
Richard Smith authored
diagnostic, add a test for this paragraph, and tighten up the diagnostic wording a little. llvm-svn: 155784
-
- Apr 28, 2012
-
-
Julien Lerouge authored
i32 __builtin_annotation(i32, string); Applying it to i64 (e.g., long long) generates the following IR. trunc i64 {{.*}} to i32 call i32 @llvm.annotation.i32 zext i32 {{.*}} to i64 The redundant truncation and extension make the result difficult to use. This patch makes __builtin_annotation() generic. type __builtin_annotation(type, string); For the i64 example, it simplifies the generated IR to: call i64 @llvm.annotation.i64 Patch by Xi Wang! llvm-svn: 155764
-
Benjamin Kramer authored
llvm-svn: 155757
-
Benjamin Kramer authored
Rename isPODType (using the C++98 rules) into isCXX98PODType and make isPODType decide which one to use based on LangOptions. - -Wc++98-compat depends on the c++98 definition - Now __is_pod returns the right thing in c++11 and c++98 mode - All changes to the type traits test are validated against g++ 4.7 llvm-svn: 155756
-
Benjamin Kramer authored
This is just papering over a major bug in isPODType, real fix coming up soon. llvm-svn: 155755
-
Benjamin Kramer authored
Keep the old definition for C++98 so we don't break tr1::is_pod. llvm-svn: 155754
-
Jordy Rose authored
[analyzer] Remove references to idx::TranslationUnit. Index is dead, cross-TU inlining never panned out. llvm-svn: 155751
-
- Apr 27, 2012
-
-
Richard Smith authored
We do not support IRGen for these, and get some parts of the semantic analysis wrong. llvm-svn: 155728
-
Kaelyn Uhrain authored
llvm-svn: 155723
-
Kaelyn Uhrain authored
to a given type, when the reason is that there is a non-type decl with the same name. llvm-svn: 155677
-
Eli Friedman authored
llvm-svn: 155670
-
- Apr 26, 2012
-
-
Richard Smith authored
itself a SFINAE context. llvm-svn: 155621
-
Richard Smith authored
arguments, and 'this' in exception-specifications. llvm-svn: 155606
-
Rafael Espindola authored
struct __attribute__((visibility("hidden"))) a; struct __attribute__((visibility("default"))) b; which gcc already rejects. llvm-svn: 155603
-
Richard Smith authored
explaining that. llvm-svn: 155598
-
- Apr 25, 2012
-
-
Kaelyn Uhrain authored
This is mainly for attempting to recover in cases where a class provides a custom operator-> and a '.' was accidentally used instead of '->' when accessing a member of the object returned by the current object's operator->. llvm-svn: 155580
-
Argyrios Kyrtzidis authored
of the template what we are going to instantiate. Fixes various crashes of rdar://11242625 & http://llvm.org/PR11421. llvm-svn: 155576
-
Richard Smith authored
Don't try to query whether an incomplete type has a trivial copy constructor when determining whether a move constructor should be declared. llvm-svn: 155575
-
- Apr 24, 2012
-
-
Richard Smith authored
exception specification to a function. llvm-svn: 155424
-
- Apr 23, 2012
-
-
Fariborz Jahanian authored
location. // rdar://10893232 llvm-svn: 155385
-
DeLesley Hutchins authored
on smart pointers. Also adds test case for previous commit. llvm-svn: 155379
-
DeLesley Hutchins authored
existentially quantified lock expressions. llvm-svn: 155357
-
Douglas Gregor authored
<rdar://problem/11284902>. llvm-svn: 155356
-
- Apr 22, 2012
-
-
Benjamin Kramer authored
Found by valgrind. llvm-svn: 155324
-
Richard Smith authored
pretend there was no previous declaration -- that can lead us to injecting a class template (with no access specifier) into a class scope. Instead, just avoid the problematic checks. llvm-svn: 155303
-
- Apr 21, 2012
-
-
Richard Smith authored
exception specifications in C++11 until after we've parsed the exception specifications for nested classes. llvm-svn: 155293
-
Fariborz Jahanian authored
llvm-svn: 155290
-
Nuno Lopes authored
llvm-svn: 155282
-
NAKAMURA Takumi authored
llvm-svn: 155279
-
Matt Beaumont-Gay authored
llvm-svn: 155274
-
Richard Smith authored
declaration of the same name. r155187 caused us to miss this if the prior declaration did not declare a type. llvm-svn: 155269
-
Matt Beaumont-Gay authored
Set the source location for the "member reference base type ... is not a structure or union" diag to point at the operator rather than the member name. If we're giving this diagnostic because of a typo'd '.' in place of a ';' at the end of a line, the caret previously pointed at the identifier on the following line, which isn't as helpful as it could be. Pointing the caret at the '.' makes it more obvious what the problem is. llvm-svn: 155267
-
Fariborz Jahanian authored
objc_returns_inner_pointer attribute can be applied to methods only. Diagnsose otherwise, instead of crashing. // rdar://11253688 llvm-svn: 155245
-
- Apr 20, 2012
-
-
Richard Smith authored
non-const reference parameter type if the class had any subobjects with deleted copy constructors. This causes a rejects-valid if the class's copy constructor is explicitly defaulted (as happens for some implementations of std::pair etc). llvm-svn: 155218
-