- 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
-
Douglas Gregor authored
llvm-svn: 83173
-
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
-
Chris Lattner authored
llvm-svn: 83162
-
Chris Lattner authored
llvm-svn: 83161
-
Chris Lattner authored
llvm-svn: 83158
-
Douglas Gregor authored
llvm-svn: 83157
-
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
-
Chris Lattner authored
llvm-svn: 83149
-
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
-
Argyrios Kyrtzidis authored
llvm-svn: 83109
-
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: 83099
-
Argyrios Kyrtzidis authored
llvm-svn: 83098
-
Argyrios Kyrtzidis authored
llvm-svn: 83097
-
Argyrios Kyrtzidis authored
llvm-svn: 83096
-
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
-
Daniel Dunbar authored
right for multiple anonymous categories. llvm-svn: 83085
-