- Nov 19, 2008
-
-
Chris Lattner authored
const char*'s are now not converted to std::strings when the diagnostic is formed, we just hold onto their pointer and format as needed. This commit makes DiagnosticClient::FormatDiagnostic even more of a mess, I'll fix it in the next commit. llvm-svn: 59593
-
Ted Kremenek authored
llvm-svn: 59591
-
Chris Lattner authored
Instead of doing that, copy the strings into the diagnostic info. llvm-svn: 59590
-
Chris Lattner authored
llvm-svn: 59589
-
Chris Lattner authored
__builtin_prefetch code to only emit one diagnostic per builtin_prefetch. While this has nothing to do with the rest of the patch, the code seemed like overkill when I was updating it. llvm-svn: 59588
-
Douglas Gregor authored
not "int". Fix a typo in the promotion of enumeration types that was causing some integral promotions to look like integral conversions (leading to extra ambiguities in overload resolution). Check for "acceptable" overloaded operators based on the types of the arguments. This is a somewhat odd check that is specified by the standard, but I can't see why it actually matters: the overload candidates it suppresses don't seem like they would ever be picked as the best candidates. llvm-svn: 59583
-
Ted Kremenek authored
llvm-svn: 59579
-
Ted Kremenek authored
(a) different versions of gcc (e.g., a suffix '-4.2') (b) different paths for gcc llvm-svn: 59578
-
Fariborz Jahanian authored
Also, took care of Daniel's commments. llvm-svn: 59575
-
Ted Kremenek authored
- Add variants of IsNonPragmaNonMacroLexer to accept an IncludeMacroStack entry (simplifies some uses). - Use IsNonPragmaNonMacroLexer in Preprocessor::LookupFile. Performance testing of -Eonly on Cocoa.h shows no performance regression because of this patch. llvm-svn: 59574
-
Ted Kremenek authored
llvm-svn: 59573
-
Ted Kremenek authored
llvm-svn: 59571
-
Douglas Gregor authored
to support operators defined as member functions, e.g., struct X { bool operator==(X&); }; Overloading with non-member operators is supported, and the special rules for the implicit object parameter (e.g., the ability for a non-const *this to bind to an rvalue) are implemented. This change also refactors and generalizes the code for adding overload candidates for overloaded operator calls (C++ [over.match.expr]), both to match the rules more exactly (name lookup of non-member operators actually ignores member operators) and to make this routine more reusable for the other overloaded operators. Testing for the initialization of the implicit object parameter is very light. More tests will come when we get support for calling member functions directly (e.g., o.m(a1, a2)). llvm-svn: 59564
-
- Nov 18, 2008
-
-
Chris Lattner authored
llvm-svn: 59561
-
Fariborz Jahanian authored
__weak objects. llvm-svn: 59560
-
Chris Lattner authored
llvm-svn: 59556
-
Chris Lattner authored
return Diag(...); when the function returns bool. This always evaluates to true. llvm-svn: 59555
-
Chris Lattner authored
llvm-svn: 59554
-
Fariborz Jahanian authored
llvm-svn: 59553
-
Fariborz Jahanian authored
llvm-svn: 59543
-
rdar://problem/6329769Steve Naroff authored
As soon as we detect duplicate interfaces, discontinue further semantic checks (returning the original interface). This is now consistent with how we handle protocols (and less error prone in general). llvm-svn: 59541
-
Torok Edwin authored
llvm-svn: 59539
-
Nuno Lopes authored
llvm-svn: 59537
-
Daniel Dunbar authored
suite with clang. llvm-svn: 59536
-
Daniel Dunbar authored
- PR3094. - No test case, ccc is not really a supported product (llvmc2 already got this right). llvm-svn: 59535
-
Torok Edwin authored
llvm-svn: 59534
-
Chris Lattner authored
llvm-svn: 59533
-
Douglas Gregor authored
DeclRefExprs and BlockDeclRefExprs into a single function Sema::ActOnDeclarationNameExpr, eliminating a bunch of duplicate lookup-name-and-check-the-result code. Note that we still have the three parser entry points for identifiers, operator-function-ids, and conversion-function-ids, since the parser doesn't (and shouldn't) know about DeclarationNames. This is a Good Thing (TM), and there will be more entrypoints coming (e.g., for C++ pseudo-destructor expressions). llvm-svn: 59527
-
Douglas Gregor authored
operator+, directly, using the same mechanism as all other special names. Removed the "special" identifiers for the overloaded operators from the identifier table and IdentifierInfo data structure. IdentifierInfo is back to representing only real identifiers. Added a new Action, ActOnOperatorFunctionIdExpr, that builds an expression from an parsed operator-function-id (e.g., "operator +"). ActOnIdentifierExpr used to do this job, but operator-function-ids are no longer represented by IdentifierInfo's. Extended Declarator to store overloaded operator names. Sema::GetNameForDeclarator now knows how to turn the operator name into a DeclarationName for the overloaded operator. Except for (perhaps) consolidating the functionality of ActOnIdentifier, ActOnOperatorFunctionIdExpr, and ActOnConversionFunctionExpr into a common routine that builds an appropriate DeclRefExpr by looking up a DeclarationName, all of the work on normalizing declaration names should be complete with this commit. llvm-svn: 59526
-
Zhongxing Xu authored
llvm-svn: 59523
-
Zhongxing Xu authored
llvm-svn: 59522
-
Zhongxing Xu authored
handle the case that the array element is of structure type when bind the whole array to a single value (for example, UnknownVal, UndefinedVal). llvm-svn: 59521
-
Chris Lattner authored
llvm-svn: 59512
-
Chris Lattner authored
llvm-svn: 59511
-
Chris Lattner authored
llvm-svn: 59510
-
Chris Lattner authored
and let the clients push whatever they want into the DiagnosticInfo instead of hard coding a few forms. Also switch various clients to use Diag(Tok, ...) instead of Diag(Tok.getLocation(), ...) as the canonical form to simplify the code a bit. llvm-svn: 59509
-
Chris Lattner authored
invalid expr/stmt, etc. llvm-svn: 59508
-
Chris Lattner authored
is destructive. llvm-svn: 59507
-
Chris Lattner authored
llvm-svn: 59506
-
Ted Kremenek authored
llvm-svn: 59503
-