- Sep 26, 2011
-
-
David Blaikie authored
llvm-svn: 140478
-
- Sep 25, 2011
-
-
Benjamin Kramer authored
Also make sure we set the error flag when correcting a typo. llvm-svn: 140466
-
- Sep 24, 2011
-
-
Benjamin Kramer authored
llvm-svn: 140462
-
Sebastian Redl authored
cannot be converted. This is in preparation for overload resolution of initializer lists. Currently, you will always get this message when you try to pass an init list to an overloaded function. llvm-svn: 140461
-
Sebastian Redl authored
the information on to Sema. There's still an incorrectness in the way template instantiation works now, but that is due to a far larger underlying representational problem. Also add a test case for various list initialization cases of scalars, which test this commit as well as the previous one. llvm-svn: 140460
-
Sebastian Redl authored
Allow empty initializer lists for scalars, which mean value-initialization. Constant evaluation for single-element and empty initializer lists for scalars. Codegen for empty initializer lists for scalars. Test case comes in next commit. llvm-svn: 140459
-
Sebastian Redl authored
builds a semantic (structured) initializer list, just reports on whether it can match the given list to the target type. Use this mode for doing init list checking in the initial step of initialization, which will eventually allow us to do overload resolution based on the outcome. llvm-svn: 140457
-
Sebastian Redl authored
resolves to a constructor call in C++11) and failure kind FK_ListInitializationFailed (early InitListChecker run failed). llvm-svn: 140456
-
Sebastian Redl authored
llvm-svn: 140455
-
Sebastian Redl authored
llvm-svn: 140454
-
Francois Pichet authored
[microsoft] In Microsoft mode, if we are inside a template class member function and we can't resolve an identifier then assume the identifier is type dependent. The goal is to postpone name lookup to instantiation time to be able to search into type dependent base classes. This fixes a few errors when parsing MFC code with clang. BTW clang trunk is now about 5 patches away to be able the parse the default wizard-generated MFC project. llvm-svn: 140452
-
Fariborz Jahanian authored
must match property type declaration in its primary class. // rdar://10142679 llvm-svn: 140438
-
Fariborz Jahanian authored
followed by it implementation crashes when attempt is made to access the synthesized ivar. // rdar://10177744 llvm-svn: 140432
-
- Sep 23, 2011
-
-
David Blaikie authored
llvm-svn: 140407
-
Douglas Gregor authored
merging for overrides. One might want to make a method's availability in a superclass different from that of its subclass. Fixes <rdar://problem/10166223>. llvm-svn: 140406
-
Richard Trieu authored
is cast to a boolean. An exception has been made for string literals in logical expressions to allow the common case of use in assert statements. bool x; x = "hi"; // Warn here void foo(bool x); foo("hi"); // Warn here assert(0 && "error"); assert("error); // Warn here llvm-svn: 140405
-
Douglas Gregor authored
the key function is inline, rather than the original declaration. Perhaps FunctionDecl::isInlined() is poorly named. Fixes <rdar://problem/9979458>. llvm-svn: 140400
-
David Blaikie authored
llvm-svn: 140367
-
Douglas Gregor authored
constructor template. Fixes PR10457. llvm-svn: 140350
-
- Sep 22, 2011
-
-
Douglas Gregor authored
generation when we're dealing with an implicitly-defined copy or move constructor. And, actually set the implicitly-defined bit for implicitly-defined constructors and destructors. Should fix self-host. llvm-svn: 140334
-
Argyrios Kyrtzidis authored
Use ASTTemplateArgumentListInfo instead. llvm-svn: 140331
-
Douglas Gregor authored
ever. Fixes PR10939. llvm-svn: 140304
-
Tobias Grosser authored
OpenCL 6.2.1 says: "Implicit conversions between built-in vector data types are disallowed." OpenCL 6.2.2 says: "Explicit casts between vector types are not legal." For example: uint4 u = (uint4)(1); int4 i = u; // invalid implicit conversion int4 e = (int4)u; // invalid explicit conversion Fixes PR10967. Submitted by: Anton Lokhmotov <Anton.lokhmotov@gmail.com> llvm-svn: 140300
-
David Blaikie authored
llvm-svn: 140293
-
David Blaikie authored
llvm-svn: 140290
-
- Sep 21, 2011
-
-
Tobias Grosser authored
OpenCL is different from AltiVec in the way it supports vector literals. OpenCL is strict with regards to semantic checks. For example, implicit conversions and explicit casts between vectors of different types are disallowed. Fixes PR10975. Submitted by: Anton Lokhmotov <Anton.lokhmotov@gmail.com> llvm-svn: 140270
-
David Blaikie authored
llvm-svn: 140268
-
Douglas Gregor authored
Dyatkovskiy! Fixes PR10896. llvm-svn: 140250
-
John McCall authored
conversions (rather than just call-arguments). llvm-svn: 140244
-
Francois Pichet authored
[microsoft] Move missing typename warning from -fms-extensions to -fms-compatibility. Also allow the missing typename warning at function scope. llvm-svn: 140240
-
Richard Trieu authored
assert(!"error message"); To: assert(0 && "error message"); which is more consistant across the code base. llvm-svn: 140232
-
-
Francois Pichet authored
llvm-svn: 140189
-
- Sep 20, 2011
-
-
Douglas Gregor authored
from unfriendly (== not at all modularized) directories. This is temporary, and it only affects module construction until I'll figured out how to deal with system headers. llvm-svn: 140159
-
Peter Collingbourne authored
Per John's review comments for r140068. llvm-svn: 140142
-
Chandler Carruth authored
of false positive warnings that depend on noreturn destructors pruning the CFGs, but only in C++0x mode! This was really surprising as the debugger quickly reveals that the attributes are parsed correctly (and using the same code) in both modes. The warning fires in the same way in both modes. But between parsing and building the destructor declaration with the noreturn attribute and the warning, it magically disappears. The key? The 'noexcept' appears! When we were rebuilding the destructor type with the computed implicit noexcept we completely dropped the old type on the floor. This almost makes sense (as the arguments and return type to a destructor aren't exactly unpredictable), but lost any function type attributes as well. The fix is simple, we build the new type off of the old one rather than starting fresh. Testing this is a bit awkward. I've done it by running the noreturn-sensitive tests in both modes, which previous failed and now passes, but if anyone has ideas about how to more specifically and thoroughly test that the extended info on a destructor is preserved when adding noexcept, I'm all ears. llvm-svn: 140138
-
Eli Friedman authored
Add list initialization for complex numbers in C. Essentially, this allows "_Complex float x = {1.0f, 2.0f};". See changes to docs/LanguageExtensions.html for a longer description. <rdar://problem/9397672>. llvm-svn: 140090
-
- Sep 19, 2011
-
-
Peter Collingbourne authored
llvm-svn: 140068
-
Argyrios Kyrtzidis authored
It already works (and is useful with) macro locs as well. llvm-svn: 140057
-
Fariborz Jahanian authored
llvm-svn: 140031
-