- Oct 01, 2009
-
-
Douglas Gregor authored
type is a template-id (e.g., basic_ostream<CharT, Traits>) and the argument type is a class that has a derived class matching the parameter type. Previously, we were giving up on template argument deduction too early. llvm-svn: 83177
-
- Sep 30, 2009
-
-
Douglas Gregor authored
overload candidates (but not the built-in ones). We still rely on the underlying built-in semantic analysis to produce the initial diagnostic, then print the candidates following that diagnostic. One side advantage of this approach is that we can perform more validation of C++'s operator overloading with built-in candidates vs. the semantic analysis for those built-in operators: when there are no viable candidates, we know to expect an error from the built-in operator handling code. Otherwise, we are not modeling the built-in semantics properly within operator overloading. This is checked as: assert(Result.isInvalid() && "C++ binary operator overloading is missing candidates!"); if (Result.isInvalid()) PrintOverloadCandidates(CandidateSet, /*OnlyViable=*/false); The assert() catches cases where we're wrong in a +Asserts build. The "if" makes sure that, if this happens in a production clang (-Asserts), we still build the proper built-in operator and continue on our merry way. This is effectively what happened before this change, but we've added the assert() to catch more flies. llvm-svn: 83175
-
Fariborz Jahanian authored
a bad initializer. Fixes pr4274. llvm-svn: 83169
-
Tanya Lattner authored
Add an error for function parameters that have a qualified address space since this is not allowed by the embedded c extension spec. llvm-svn: 83165
-
Fariborz Jahanian authored
llvm-svn: 83153
-
rdar://problem/7263113Fariborz Jahanian authored
<rdar://problem/7263113> Make clang produce gcc's objc_assign_StrongCast as a result of type-cast of an ivar in assignment. llvm-svn: 83150
-
Mike Stump authored
scheme, we can switch the previous scheme over to using this code path. There's a bit of simplifications yet to do as well. llvm-svn: 83138
-
John McCall authored
unbounded chains of operator-> delegations. llvm-svn: 83134
-
John McCall authored
to strike fear into the hearts of CPUs everywhere. llvm-svn: 83133
-
Fariborz Jahanian authored
infinit recursion. This patch fixes it. [13.3.1.2]-p2 llvm-svn: 83124
-
Douglas Gregor authored
llvm-svn: 83119
-
John McCall authored
concrete types. Use unqualified desugaring for getAs<> and sundry. Fix a few users to either not desugar or use qualified desugar, as seemed appropriate. Removed Type's qualified desugar method, as it was easy to accidentally use instead of QualType's. llvm-svn: 83116
-
- Sep 29, 2009
-
-
Douglas Gregor authored
The C++ delete expression strips cv-qualifiers from the pointed-to type. My previous fix eliminated this behavior, so bring it back again. llvm-svn: 83113
-
Argyrios Kyrtzidis authored
llvm-svn: 83112
-
Argyrios Kyrtzidis authored
llvm-svn: 83111
-
Argyrios Kyrtzidis authored
llvm-svn: 83110
-
Fariborz Jahanian authored
Parameter declarations that differ only in the presence or absence of const and/or volatile are equivalent. llvm-svn: 83104
-
Argyrios Kyrtzidis authored
llvm-svn: 83101
-
Argyrios Kyrtzidis authored
llvm-svn: 83098
-
Argyrios Kyrtzidis authored
llvm-svn: 83097
-
Argyrios Kyrtzidis authored
-A NamedDecl reference -A TypeLoc llvm-svn: 83095
-
Argyrios Kyrtzidis authored
llvm-svn: 83094
-
Argyrios Kyrtzidis authored
This is used only for keeping detailed type source information for protocol references, it should not participate in the semantics of the type system. Its protocol list is not canonicalized. llvm-svn: 83093
-
Argyrios Kyrtzidis authored
llvm-svn: 83092
-
Argyrios Kyrtzidis authored
llvm-svn: 83091
-
Argyrios Kyrtzidis authored
llvm-svn: 83090
-
Argyrios Kyrtzidis authored
llvm-svn: 83089
-
Argyrios Kyrtzidis authored
-Make TypeLoc's constructor public. llvm-svn: 83088
-
Argyrios Kyrtzidis authored
llvm-svn: 83087
-
Daniel Dunbar authored
libexec, *blush*. llvm-svn: 83086
-
Douglas Gregor authored
"usual deallocation function" with two arguments. CodeGen will have to handle this case specifically, since the value for the second argument (the size of the allocated object) may have to be computed at run time. Fixes the Sema part of PR4782. llvm-svn: 83080
-
Fariborz Jahanian authored
had to do with an initialized field when multiple type conversions are ambiguous but must be treated as user defined conversion for overload resolution purposes. llvm-svn: 83079
-
rdar://problem/7261075Ted Kremenek authored
This issue was originally reported via personal email by Thomas Clement! llvm-svn: 83069
-
Douglas Gregor authored
llvm-svn: 83066
-
Douglas Gregor authored
llvm-svn: 83063
-
Ted Kremenek authored
identified with a false positive reported by Thomas Clement. This involved doing another rewrite of RegionStoreManager::RemoveDeadBindings(), which phrases the entire problem of scanning for dead regions as a graph exploration problem. It is more methodic than the previous implementation. llvm-svn: 83053
-
Anders Carlsson authored
llvm-svn: 83045
-
Ted Kremenek authored
are only specially treated by RegionStore::InvalidateRegion() when their super region is also invalidated. When this isn't the case, conjure a new symbol for a FieldRegion. Thanks to Zhongxing Xu and Daniel Dunbar for pointing out this issue. llvm-svn: 83043
-
Anders Carlsson authored
llvm-svn: 83041
-
Ted Kremenek authored
Revert r82939. We can only not special case FieldRegions when the super region has also been invalidated. llvm-svn: 83040
-