summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
Commit message (Collapse)AuthorAgeFilesLines
...
* Split warnings from -Wuninitialized-experimental into "must-be-initialized" ↵Ted Kremenek2011-03-151-0/+2
| | | | | | and "may-be-initialized" warnings, each controlled by different flags. llvm-svn: 127669
* Split warnings from -Wuninitialized-experimental into "must-be-initialized" ↵Ted Kremenek2011-03-151-10/+18
| | | | | | and "may-be-initialized" warnings, each controlled by different flags. llvm-svn: 127666
* Rename UninitializedValuesV2 to UninitializedValues.Ted Kremenek2011-03-151-1/+1
| | | | llvm-svn: 127657
* When synthesizing a label declaration based on a goto statement thatDouglas Gregor2011-03-142-1/+47
| | | | | | | | | cannot yet be resolved, be sure to push the new label declaration into the right place within the identifier chain. Otherwise, name lookup in C++ gets confused when searching for names that are lexically closer than the label. Fixes PR9463. llvm-svn: 127623
* Implement instantiation of noexcept spec and add a test case.Sebastian Redl2011-03-141-1/+7
| | | | llvm-svn: 127603
* Make deallocation functions implicitly noexcept in C++0x.Sebastian Redl2011-03-143-9/+41
| | | | llvm-svn: 127596
* -fwritable-strings should silence warnings about the deprecated stringDouglas Gregor2011-03-141-1/+2
| | | | | | -literal to char* conversion. Make it so. llvm-svn: 127586
* Instead of storing an ASTContext* in FunctionProtoTypes with computed ↵Sebastian Redl2011-03-133-8/+8
| | | | | | noexcept specifiers, unique FunctionProtoTypes with a ContextualFoldingSet, as suggested by John McCall. llvm-svn: 127568
* Place duplicate argument declaration in inFariborz Jahanian2011-03-121-3/+4
| | | | | | | method prototypes under the -Wduplicate-method-arg and turn it off by default. llvm-svn: 127552
* Revert "Disable delegating constructors for 2.9"Sebastian Redl2011-03-121-5/+1
| | | | | | It is only meant for the release branch. llvm-svn: 127544
* Disable delegating constructors for 2.9Sebastian Redl2011-03-121-1/+5
| | | | llvm-svn: 127543
* Revert "Disable inherited constructors for 2.9."Sebastian Redl2011-03-121-7/+3
| | | | | | It is only meant for the release branch. llvm-svn: 127542
* Disable inherited constructors for 2.9.Sebastian Redl2011-03-121-3/+7
| | | | llvm-svn: 127541
* Propagate the new exception information to FunctionProtoType.Sebastian Redl2011-03-126-117/+371
| | | | | | | | Change the interface to expose the new information and deal with the enormous fallout. Introduce the new ExceptionSpecificationType value EST_DynamicNone to more easily deal with empty throw specifications. Update the tests for noexcept and fix the various bugs uncovered, such as lack of tentative parsing support. llvm-svn: 127537
* Forgotten part of previous commit.Abramo Bagnara2011-03-126-17/+21
| | | | llvm-svn: 127536
* Renamed OffsetOfNode::getRange to getSourceRange for uniformity.Abramo Bagnara2011-03-121-2/+2
| | | | llvm-svn: 127534
* Fixes for some more expressions containing function templateids thatDouglas Gregor2011-03-123-57/+83
| | | | | | should be resolvable, from Faisal Vali! llvm-svn: 127521
* When we're determining whether to complain about a conversion from oneDouglas Gregor2011-03-121-1/+20
| | | | | | | | enumeration type to another in C, classify enumeration constants as if they had the type of their enclosing enumeration. Fixes <rdar://problem/9116337>. llvm-svn: 127514
* Don't ask if a depenendent CXXRecordDecl has any dependent basesDouglas Gregor2011-03-111-1/+2
| | | | | | | unless we already know that it has a definition. Fixes PR9449/<rdar://problem/9115785>. llvm-svn: 127512
* OpenCL: if double precision floating point constant encounteredPeter Collingbourne2011-03-111-3/+8
| | | | | | without cl_khr_fp64, warn and cast to single precision llvm-svn: 127476
* Add support for the OpenCL vec_step operator, by generalising andPeter Collingbourne2011-03-114-52/+94
| | | | | | | extending the existing support for sizeof and alignof. Original patch by Guy Benyei. llvm-svn: 127475
* Fix PR9453 by not trying to print a warning about ignored qualifiersRafael Espindola2011-03-111-0/+1
| | | | | | in conversion functions. llvm-svn: 127460
* When comparing a null pointer and something else, always cast the nullJohn McCall2011-03-111-15/+26
| | | | | | pointer instead of the other operand. llvm-svn: 127458
* Profiling showed that 'CheckImplicitConversions' was very slow because of ↵Ted Kremenek2011-03-101-9/+43
| | | | | | | | | | | the call to getSpellingLoc(). On 'aes.c' in the LLVM test suite, this function was consuming 7.4% of -fsyntax-only time. This change fixes this issue by delaying the check that the warning would be issued within a system macro by as long as possible. The main negative of this change is now the logic for this check is done in multiple places in this function instead of just in one place up front. llvm-svn: 127425
* Avoid do drop outer template parameter lists on the floor.Abramo Bagnara2011-03-103-8/+18
| | | | llvm-svn: 127404
* Fixed class type generation for MemberPointerType.Abramo Bagnara2011-03-101-5/+6
| | | | llvm-svn: 127401
* When doing reachability analysis for warnings issued under ↵Ted Kremenek2011-03-101-14/+30
| | | | | | | | | DiagRuntimeBehavior, don't construct a ParentMap or CFGStmtMap. Instead, create a small set of Stmt* -> CFGBlock* mappings during CFG construction for only the statements we care about relating to the diagnostics we want to check for reachability. llvm-svn: 127396
* Revert r127206 "Detect attempts to provide a specialization of a function withinDaniel Dunbar2011-03-091-8/+3
| | | | | | a...", it appears to cause us to reject various valid codes. llvm-svn: 127373
* Property setter/getter must be looked up in property type'sFariborz Jahanian2011-03-091-17/+16
| | | | | | list of protocols as well. // rdar://9078584 llvm-svn: 127367
* Lookup selector in protocol list of qualified objc typeFariborz Jahanian2011-03-092-1/+19
| | | | | | to avoid a bogus warning. // rdar:// 9072298 llvm-svn: 127355
* Fixed InnerLocStart.Abramo Bagnara2011-03-094-20/+20
| | | | llvm-svn: 127330
* Add a bit to ParmVarDecl indicating whether the parameter undergoes John McCall2011-03-091-1/+4
| | | | | | K&R-style default argument promotion. llvm-svn: 127313
* Fixed isEmbeddedInDeclarator flag loading.Abramo Bagnara2011-03-081-4/+2
| | | | llvm-svn: 127285
* Warn on usage of unavailable objc 'class' inFariborz Jahanian2011-03-082-1/+2
| | | | | | varienty of cases. // rdar://9092208 llvm-svn: 127257
* Teach libclang's token-annotation logic about context-sensitiveDouglas Gregor2011-03-084-5/+18
| | | | | | keywords for Objective-C+ and C++0x. llvm-svn: 127253
* Fixed source range for StaticAssertDecl and LinkageSpecDecl. Fixed source ↵Abramo Bagnara2011-03-083-9/+12
| | | | | | range for declarations using postfix types. llvm-svn: 127251
* Fixed NamespaceDecl source range.Abramo Bagnara2011-03-081-5/+7
| | | | llvm-svn: 127242
* Fixed source range for all DeclaratorDecl's.Abramo Bagnara2011-03-0811-98/+143
| | | | llvm-svn: 127225
* Removed trailing whitespace as a test commitJohn Wiegley2011-03-081-1/+1
| | | | llvm-svn: 127223
* Fix my earlier commit to work with escaped newlines and leave breadcrumbsJohn McCall2011-03-083-9/+27
| | | | | | | in case we want to make a world where we can check intermediate instantiations for this kind of breadcrumb. llvm-svn: 127221
* objc_gc wants a pointer type, not a function type; give it a more appropriate John McCall2011-03-081-10/+42
| | | | | | | | diagnostic. Also, these attributes are commonly written with macros which we actually pre-define, so instead of expanding the macro location, refer to the instantiation location and name it using the macro loc. llvm-svn: 127219
* Update the check for a NULL macro to use Preprocessor::getSpelling().John McCall2011-03-081-5/+3
| | | | llvm-svn: 127217
* Detect attempts to provide a specialization of a function within aDouglas Gregor2011-03-081-3/+8
| | | | | | dependent scope and produce an error (rather than crashing). Fixes PR8979. llvm-svn: 127206
* g++ is more permissive regarding flexible arrays.Argyrios Kyrtzidis2011-03-071-5/+12
| | | | | | | | It will accept flexible array in union and also as the sole element of a struct/class. Fixes rdar://9065507. llvm-svn: 127171
* Support explicit template specialization and instantiation for membersDouglas Gregor2011-03-072-12/+25
| | | | | | | | | | | of a C++0x inline namespace within enclosing namespaces, as noted in C++0x [namespace.def]p8. Fixes <rdar://problem/9006349>, a libc++ failure where Clang was rejected an explicit specialization of std::swap (since libc++ puts it into an inline, versioned namespace std::__1). llvm-svn: 127162
* When rebuilding a dependent template specialization type to anotherDouglas Gregor2011-03-071-3/+4
| | | | | | | dependent template specialization type, make sure to set the keyword location. Fixes some valgrind issues introduced in r127150. llvm-svn: 127159
* When transforming a dependent template specialization type, make sureDouglas Gregor2011-03-071-5/+18
| | | | | | | | | to set the source-location information for the template arguments to the *transformed* source-location information, not the original source-location information. Fixes <rdar://problem/8986308> (a libc++ SFINAE issue) and the Boost.Polygon failure. llvm-svn: 127150
* Produce a diagnostic for unused overloaded expressions, from Faisal Vali!Douglas Gregor2011-03-071-0/+23
| | | | llvm-svn: 127148
* Used a nicer cast.Abramo Bagnara2011-03-061-1/+1
| | | | llvm-svn: 127134
* Improved type source location for long long type.Abramo Bagnara2011-03-061-4/+6
| | | | llvm-svn: 127132
OpenPOWER on IntegriCloud