summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Record template argument deduction failures for member functionDouglas Gregor2010-05-082-11/+37
| | | | | | templates and conversion function templates. llvm-svn: 103349
* When printing an overload candidate that failed due to SFINAE, print aDouglas Gregor2010-05-086-15/+82
| | | | | | | | | | | specific message that includes the template arguments, e.g., test/SemaTemplate/overload-candidates.cpp:27:20: note: candidate template ignored: substitution failure [with T = int *] typename T::type get_type(const T&); // expected-note{{candidate ... ^ llvm-svn: 103348
* Improve overload-candidate diagnostic for a function template thatDouglas Gregor2010-05-084-16/+66
| | | | | | | | | | | | | | | | | | | | failed because the explicitly-specified template arguments did not match its template parameters, e.g., test/SemaTemplate/overload-candidates.cpp:18:8: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'I' void get(const T&); ^ test/SemaTemplate/overload-candidates.cpp:20:8: note: candidate template ignored: invalid explicitly-specified argument for 1st template parameter void get(const T&); ^ llvm-svn: 103344
* A leak is better than a double-free while I figure out how to addressDouglas Gregor2010-05-081-5/+0
| | | | | | this issue. llvm-svn: 103343
* Minor cleanup, and ban copying of OverloadCandidateSets. NoDouglas Gregor2010-05-082-14/+17
| | | | | | functionality change. llvm-svn: 103342
* When template argument deduction fails because the call had tooDouglas Gregor2010-05-083-9/+18
| | | | | | | many/too few arguments, use the same diagnostic we use for arity mismatches in non-templates (but note that it's a function template). llvm-svn: 103341
* When printing a non-viable overload candidate that failed due toDouglas Gregor2010-05-088-20/+265
| | | | | | | | | | | | conflicting deduced template argument values, give a more specific reason along with those values, e.g., test/SemaTemplate/overload-candidates.cpp:4:10: note: candidate template ignored: deduced conflicting types for parameter 'T' ('int' vs. 'long') const T& min(const T&, const T&); ^ llvm-svn: 103339
* Fix test for Release-Asserts buildDouglas Gregor2010-05-081-12/+12
| | | | llvm-svn: 103337
* Update latest checker build to a local link.Daniel Dunbar2010-05-081-1/+1
| | | | llvm-svn: 103332
* When we encounter a non-dependent type during template instantiation,Douglas Gregor2010-05-077-4/+88
| | | | | | | mark any declarations we see inside of that type as "referenced". Fixes PR7079. llvm-svn: 103323
* If there is not any debug info for type then do not emit debug info for this ↵Devang Patel2010-05-071-0/+5
| | | | | | | | | variable. A recent change to tightly verify debug info prepared by FE caught this. This fixes unittest build. llvm-svn: 103320
* Introduce a recursive AST visitor that makes it trivial to recursivelyDouglas Gregor2010-05-072-1/+668
| | | | | | | | walk an entire AST, including all of the types, declarations, statements, and expressions, and allowing one to easily override the behavior of the walk at any particular node kind. llvm-svn: 103308
* The FP constant evaluator was missing a few cases of unary operators that ↵John McCall2010-05-072-2/+24
| | | | | | | | | | | return floats but whose operand isn't a float: specifically, __real__ and __imag__. Instead of filtering these out, just implement them. Fixes <rdar://problem/7958272>. llvm-svn: 103307
* add PCH support for a bunch of C++ Decls, patch byChris Lattner2010-05-0714-52/+869
| | | | | | Andrew Sutton! llvm-svn: 103301
* Make that null-dereference fix a little clearer by rearranging some code.John McCall2010-05-071-2/+14
| | | | llvm-svn: 103298
* Fix a potential null dereference in the pointer-to-bool evaluator; caught byJohn McCall2010-05-071-1/+1
| | | | | | Eli Friedman. llvm-svn: 103297
* Change the pointer / lvalue constant evaluators to build into a target referenceJohn McCall2010-05-071-205/+199
| | | | | | and return a bool. llvm-svn: 103296
* add more types to -ast-print-xml, PR5006Chris Lattner2010-05-071-0/+32
| | | | llvm-svn: 103294
* Extend C++ usrs to include type mangling for tag decl arguments, indicating ↵Ted Kremenek2010-05-072-30/+58
| | | | | | | | whether a method is static, and mangling in the qualifers of the method. llvm-svn: 103289
* clean up isBeforeInTranslationUnit by factoring out some commonChris Lattner2010-05-071-24/+34
| | | | | | | code into a MoveUpIncludeHierarchy helper, and use the helper to fix a case involving macros which regressed from my recent patch. llvm-svn: 103288
* Switch USR generation over from NamedDecl::getNameAsString() to ↵Ted Kremenek2010-05-071-92/+98
| | | | | | NamedDecl::printName(). llvm-svn: 103285
* Add NamedDecl::printName() for clients that to use getNameAsString() but are ↵Ted Kremenek2010-05-071-0/+2
| | | | | | already using a raw_ostream. llvm-svn: 103284
* Reapply the reference-binding patch applied below, along with a fix toDouglas Gregor2010-05-073-5/+26
| | | | | | | | | | | | | | | | ensure that we complete the type when we need to look at constructors during reference binding. When determining whether the two types involved in reference binding are reference-compatible, reference-related, etc., do not complete the type of the reference itself because it is not necessary to determine well-formedness of the program. Complete the type that we are binding to, since that can affect whether we know about a derived-to-base conversion. Re-fixes PR7080. llvm-svn: 103283
* Minor mod. to my last patch.Fariborz Jahanian2010-05-071-1/+2
| | | | llvm-svn: 103280
* Fixes a Code gen crash trying to use a dot-syntax forFariborz Jahanian2010-05-072-2/+16
| | | | | | a property of a c++ class object (radar 7957369). llvm-svn: 103279
* Avoid use of DIDescriptor::getNode(). Use overloaded operators instead.Devang Patel2010-05-071-25/+30
| | | | llvm-svn: 103273
* Change the complex constant evaluator to return a bool instead of an APValue.John McCall2010-05-071-102/+138
| | | | llvm-svn: 103268
* Add missing #includeDouglas Gregor2010-05-071-0/+1
| | | | llvm-svn: 103260
* Revert r103220. It seems to be breaking self-hostDouglas Gregor2010-05-072-21/+2
| | | | llvm-svn: 103259
* Add a stub frontend action for BoostCon, for next week's workshop.Douglas Gregor2010-05-077-0/+43
| | | | llvm-svn: 103258
* Fix PR4386 by implementing gcc's old behaviour (4.2) when initializingRafael Espindola2010-05-072-3/+28
| | | | | | variables with a comparison of a function pointer with 0. llvm-svn: 103253
* Test case for my last fix.Sebastian Redl2010-05-071-0/+15
| | | | llvm-svn: 103252
* A correct fix for bug 6466.Sebastian Redl2010-05-071-0/+3
| | | | llvm-svn: 103250
* And finally, revert the accidental check-in part of the previous reversion. ↵Sebastian Redl2010-05-071-5/+1
| | | | | | I'm on a roll. llvm-svn: 103249
* Revert 103247, it causes lots of test failures.Sebastian Redl2010-05-072-2/+6
| | | | llvm-svn: 103248
* Pass the correct type to BuildMemberReferenceExpr. Fixes bug 6466.Sebastian Redl2010-05-071-1/+1
| | | | llvm-svn: 103247
* reimplement the guts of SourceManager::isBeforeInTranslationUnitChris Lattner2010-05-071-53/+56
| | | | | | | | | | | to be algorithmically faster and avoid an std::map. This routine basically boils down to finding the nearest common ancestor in a tree, and we (implicitly) have information about nesting depth, use it! This wraps up rdar://7948633 - SourceManager::isBeforeInTranslationUnit has poor performance llvm-svn: 103239
* Change Evaluate* in the constant evaluator to enforce being given an argument ofJohn McCall2010-05-071-5/+6
| | | | | | the right type. It turns out that the code was already doing this. llvm-svn: 103238
* Move CheckICE and isIntegerConstantExpr to ExprConstant.cpp because it seemedJohn McCall2010-05-072-379/+379
| | | | | | like a good idea at the time. llvm-svn: 103237
* start using the caching now that it appears to work!Chris Lattner2010-05-071-16/+4
| | | | llvm-svn: 103236
* reimplement the caching in the SourceManager::isBeforeInTranslationUnit()Chris Lattner2010-05-072-23/+83
| | | | | | | | method to be correct. Right now it correctly computes the cache, then goes ahead and computes the result the hard way, then asserts that they match. Next I'll actually turn it on. llvm-svn: 103231
* Add initial USR support for mangling in the types of C++ functions and methods.Ted Kremenek2010-05-072-21/+162
| | | | llvm-svn: 103225
* Add CXCursor support for LinkageSpecDecl (e.g., 'extern "C"').Ted Kremenek2010-05-072-1/+10
| | | | llvm-svn: 103224
* Add USR test case for C++ operator methods.Ted Kremenek2010-05-071-0/+18
| | | | llvm-svn: 103223
* Reverted r103214.mike-m2010-05-0731-2265/+2413
| | | | llvm-svn: 103222
* Implement encoding of methods which have instantiatedFariborz Jahanian2010-05-072-0/+50
| | | | | | template arguments. llvm-svn: 103221
* When determining whether the two types involved in reference bindingDouglas Gregor2010-05-072-2/+21
| | | | | | | | | | | | are reference-compatible, reference-related, etc., do not complete the type of the reference itself because it is not necessary to determine well-formedness of the program. Complete the type that we are binding to, since that can affect whether we know about a derived-to-base conversion. Fixes PR7080. llvm-svn: 103220
* After some discussion, conservatively extend our sentinel check to discardJohn McCall2010-05-062-11/+20
| | | | | | casts, but still require the (casted) type to be a pointer. Fixes PR5685. llvm-svn: 103216
* 2nd part of: Overhauled llvm/clang docs builds.mike-m2010-05-0631-2413/+2265
| | | | llvm-svn: 103214
* Add USR support for C++ namespaces, and unify mangling of location ↵Ted Kremenek2010-05-063-51/+134
| | | | | | | | information in USRs for anonymous symbols. llvm-svn: 103212
OpenPOWER on IntegriCloud