summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Some preparatory work for chained PCH. No functionality change.Sebastian Redl2010-07-089-11/+64
| | | | llvm-svn: 107915
* Makes RecursiveASTVisitor traverse the type of a temporary objectZhanyong Wan2010-07-081-4/+8
| | | | | | | created via T() where T is a class type. Reviewed by chandlerc and csilvers. llvm-svn: 107911
* During code completion, give the "nil" and "NULL" macros the sameDouglas Gregor2010-07-082-5/+36
| | | | | | | priority as other constants. And, if we're in a place where we prefer a pointer type, consider "nil" and "NULL" to be close matches. llvm-svn: 107910
* Allow C-style casts and reinterpret_casts between block pointers andDouglas Gregor2010-07-082-7/+39
| | | | | | either integer values or other pointers. Fixes <rdar://problem/8134521>. llvm-svn: 107905
* PR7588: Fix the _mm_shufflehi_epi16 macro. (The issue was an oversightEli Friedman2010-07-081-3/+4
| | | | | | involving operator precedence.) llvm-svn: 107902
* Handle forward declarations properly in debug info.Devang Patel2010-07-081-6/+14
| | | | | | | Patch by Alexander Kabaev. PR 7595. llvm-svn: 107900
* Add missing whitespace.Ted Kremenek2010-07-081-1/+1
| | | | llvm-svn: 107897
* When performing substitution of template arguments within the body ofDouglas Gregor2010-07-089-28/+95
| | | | | | | a template, be sure to include the template arguments from the injected-class-name. Fixes PR7587. llvm-svn: 107895
* Update checker build.Ted Kremenek2010-07-081-1/+1
| | | | llvm-svn: 107893
* Introduce PCHReader::GetTranslationUnitDecl() and use it instead of ↵Argyrios Kyrtzidis2010-07-082-1/+11
| | | | | | | | | ReadDeclRecord when initializing. ReadDeclRecord would hit assertion if the translation unit declaration was already loaded during IdentifierInfo initialization. llvm-svn: 107885
* Support TemplateTemplateParmDecl for PCH.Argyrios Kyrtzidis2010-07-083-4/+22
| | | | llvm-svn: 107884
* Bowing to popular demand, reduce the "comma at end of enumerator list"Douglas Gregor2010-07-083-4/+3
| | | | | | ExtWarn to an Extension. Let the broken code propagate! llvm-svn: 107875
* Apparently the {{$}} hack doesn't work on Windows; I am saddened but notJohn McCall2010-07-081-2/+5
| | | | | | surprised. llvm-svn: 107874
* For TagType and TemplateSpecializationType, isDependent calculation may be ↵Argyrios Kyrtzidis2010-07-083-10/+27
| | | | | | | | | invalid because some decls that the calculation is using may still be initializing. Thus, store the isDependent flag to PCH and restore directly to Type. llvm-svn: 107873
* Read/write the C++ parts of DeclRefExpr and MemberExpr for PCH.Argyrios Kyrtzidis2010-07-084-25/+122
| | | | llvm-svn: 107872
* Fix reading of UsingDecl from PCH.Argyrios Kyrtzidis2010-07-082-1/+6
| | | | llvm-svn: 107871
* Remove unused protected constructor of DeclRefExpr.Argyrios Kyrtzidis2010-07-081-6/+0
| | | | llvm-svn: 107870
* Wrap the new ext-warn on extraneous comma on the last entry of an enumeratorChandler Carruth2010-07-082-1/+2
| | | | | | | | | | | list in a diagnostic group so it can be turned on and off. A terrifying amount of code, including large chunks of open source code, still do this so it's important to be able to suppress it when necessary. Doug, is this a reasonable compromise? I'd lean toward making it a normal extension, but I don't feel strongly as long as we can turn the warnings off. llvm-svn: 107865
* Add support for differentiating between attributes ignored when handled andChandler Carruth2010-07-085-4/+10
| | | | | | | | unknown attributes that we discard. Add a diagnostic group for unknown attribute warnings to allow turning these off when we don't care. Also consolidates the tests for this case. llvm-svn: 107864
* Tweak documentation to mention Debug+Asserts.Duncan Sands2010-07-081-2/+2
| | | | llvm-svn: 107863
* Mark calls to 'throw()' functions as nounwind, and mark the functions nounwindJohn McCall2010-07-083-26/+31
| | | | | | as well. llvm-svn: 107858
* Reinstate the fix for PR7556. A silly use of isTrivial() wasDouglas Gregor2010-07-0829-91/+103
| | | | | | suppressing copies of objects with trivial copy constructors. llvm-svn: 107857
* allow this to pass on 32-bit hosts.Chris Lattner2010-07-081-2/+2
| | | | llvm-svn: 107845
* fix the clang side of PR7437: EmitAggregateCopyChris Lattner2010-07-082-15/+20
| | | | | | | | | | | was not producing a memcpy with the right address spaces because of two places in it doing casts of the arguments to i8, one of which that didn't preserve the address space. There is also an optimizer bug here. llvm-svn: 107842
* filecheckize this test.Chris Lattner2010-07-081-5/+17
| | | | llvm-svn: 107841
* Fix a few errors in the internals doc.Sebastian Redl2010-07-071-3/+3
| | | | llvm-svn: 107838
* Revert r107828 and r107827, the fix for PR7556, which seems to beDouglas Gregor2010-07-0728-103/+93
| | | | | | breaking bootstrap on Linux. llvm-svn: 107837
* fix PR4499, patch by Kyle Dean!Chris Lattner2010-07-072-24/+23
| | | | llvm-svn: 107836
* Rip out the C++0x-specific handling of destructor names. The specification ↵Sebastian Redl2010-07-072-45/+28
| | | | | | is still in flux and unclear, and our interim workaround was broken. Fixes PR7467. llvm-svn: 107835
* A using declaration can redeclare a typedef to the same type. TheseDouglas Gregor2010-07-072-2/+38
| | | | | | | | typedefs won't have the same canonical declaration (since they are distinct), so we need to check for this case specifically. Fixes <rdar://problem/8018262>. llvm-svn: 107833
* Rename CXXZeroInitValueExpr to CXXScalarValueInitExpr, to reflect itsDouglas Gregor2010-07-0721-48/+48
| | | | | | newly-narrowed scope. No functionality change. llvm-svn: 107828
* Do not use CXXZeroValueInitExpr for class types. Instead, useDouglas Gregor2010-07-0710-45/+55
| | | | | | | | | CXXConstructExpr/CXXTemporaryObjectExpr/CXXNewExpr as appropriate. Fixes PR7556, and provides a slide codegen improvement when copy-initializing a POD class type from a value-initialized temporary. Previously, we weren't eliding the copy. llvm-svn: 107827
* Fix an issue with opencl init list checking.Nate Begeman2010-07-072-2/+22
| | | | llvm-svn: 107824
* Changes how the TypeLoc traverser invokes the Type traverser: before,Zhanyong Wan2010-07-071-64/+60
| | | | | | | | | | | | | | | | | | | VisitFooTypeLoc() calls VisitFooType(); now, TraverseFooTypeLoc() calls WalkUpFromFooType(). This allows clients that override WalkUpFromFooType() to continue to work. It also preserves the property that Visit*() in the base visitor class is a no-op (s.t. a subclass doesn't have to call Base::Visit*() when overriding Visit*()). Also fixes some typos in comments. Also added a missing getDerived() inside TraverseQualifiedTypeLoc(). The call is needed in case a subclass overrides TraverseTypeLoc(). Reviewed by nlewycky and csilvers. llvm-svn: 107816
* When printing statistics for the ASTContext, also print them for its ↵Douglas Gregor2010-07-071-0/+3
| | | | | | BumpPtrAllocator llvm-svn: 107790
* add driver support for minix, patch by Kees van ReeuwijkChris Lattner2010-07-0710-29/+324
| | | | | | from PR7583 llvm-svn: 107788
* Fix broken reading of NestedNameSpecifiers from PCH.Argyrios Kyrtzidis2010-07-071-1/+1
| | | | llvm-svn: 107784
* Delay passing InterestingDecls to the Consumer until when we know we are not ↵Argyrios Kyrtzidis2010-07-073-17/+25
| | | | | | | | in recursive loading and the declarations are fully initialized. llvm-svn: 107783
* getBody() -> hasBody()Argyrios Kyrtzidis2010-07-071-1/+1
| | | | llvm-svn: 107773
* Simplify code and remove comment that is no longer relevant.Argyrios Kyrtzidis2010-07-071-9/+2
| | | | llvm-svn: 107772
* Remove Decl::getCompoundBody().Argyrios Kyrtzidis2010-07-074-9/+2
| | | | | | | | This has 2 (slight) advantages: -Make explicit at getBody()'s callsite that we expect/handle only CompoundStmt and not CXXTryStmt. -Better tracking of Decl::getBody()'s callsites. llvm-svn: 107771
* Simplify code. CompoundStmt's RBraceLoc can be found using its SourceRange too.Argyrios Kyrtzidis2010-07-071-8/+4
| | | | llvm-svn: 107770
* Simplify code. FunctionDecl and ObjCMethodDecl have some common interfaces.Argyrios Kyrtzidis2010-07-071-15/+4
| | | | llvm-svn: 107769
* Introduce Decl::hasBody() and FunctionDecl::hasBody() and use them instead ↵Argyrios Kyrtzidis2010-07-0718-36/+74
| | | | | | | | of getBody() when we are just checking the existence of a body, to avoid de-serialization of the body from PCH. Makes de-serialization of the function body even more "lazier". llvm-svn: 107768
* Add memcmp() and bcmp() to CStringChecker. These check for valid access to ↵Jordy Rose2010-07-072-2/+134
| | | | | | the buffer arguments and have a special-case for when the buffer arguments are known to be the same address, or when the size is zero. llvm-svn: 107761
* A Release-Asserts build is now called a Release build.Duncan Sands2010-07-071-2/+1
| | | | llvm-svn: 107760
* Cleanup on CStringChecker and its associated tests. Also check for null ↵Jordy Rose2010-07-072-21/+106
| | | | | | arguments...which are allowed if the access length is 0! llvm-svn: 107759
* Teach function-try-blocks on constructors and destructors to implicitlyJohn McCall2010-07-074-18/+51
| | | | | | rethrow. Fixes rdar://problem/7696603 llvm-svn: 107757
* implement PR7569, warning about assignment to null, which Chris Lattner2010-07-074-7/+31
| | | | | | | | people seem to write when they want a deterministic trap. Suggest instead that they use a volatile pointer or __builtin_trap. llvm-svn: 107756
* Don't consider casted non-global pointers to be evaluatable.John McCall2010-07-072-0/+8
| | | | | | Fixes rdar://problem/8154689 llvm-svn: 107755
OpenPOWER on IntegriCloud