aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-07-08PR7588: Fix the _mm_shufflehi_epi16 macro. (The issue was an oversightEli Friedman
involving operator precedence.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107902 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Handle forward declarations properly in debug info.Devang Patel
Patch by Alexander Kabaev. PR 7595. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107900 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Add missing whitespace.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107897 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08When performing substitution of template arguments within the body ofDouglas Gregor
a template, be sure to include the template arguments from the injected-class-name. Fixes PR7587. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107895 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107893 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Introduce PCHReader::GetTranslationUnitDecl() and use it instead of ↵Argyrios Kyrtzidis
ReadDeclRecord when initializing. ReadDeclRecord would hit assertion if the translation unit declaration was already loaded during IdentifierInfo initialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107885 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Support TemplateTemplateParmDecl for PCH.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107884 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Bowing to popular demand, reduce the "comma at end of enumerator list"Douglas Gregor
ExtWarn to an Extension. Let the broken code propagate! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107875 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Apparently the {{$}} hack doesn't work on Windows; I am saddened but notJohn McCall
surprised. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107874 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08For TagType and TemplateSpecializationType, isDependent calculation may be ↵Argyrios Kyrtzidis
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107873 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Read/write the C++ parts of DeclRefExpr and MemberExpr for PCH.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107872 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Fix reading of UsingDecl from PCH.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107871 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Remove unused protected constructor of DeclRefExpr.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107870 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Wrap the new ext-warn on extraneous comma on the last entry of an enumeratorChandler Carruth
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107865 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Add support for differentiating between attributes ignored when handled andChandler Carruth
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107864 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Tweak documentation to mention Debug+Asserts.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107863 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Mark calls to 'throw()' functions as nounwind, and mark the functions nounwindJohn McCall
as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107858 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08Reinstate the fix for PR7556. A silly use of isTrivial() wasDouglas Gregor
suppressing copies of objects with trivial copy constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107857 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08allow this to pass on 32-bit hosts.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107845 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08fix the clang side of PR7437: EmitAggregateCopyChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107842 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08filecheckize this test.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107841 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Fix a few errors in the internals doc.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107838 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Revert r107828 and r107827, the fix for PR7556, which seems to beDouglas Gregor
breaking bootstrap on Linux. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107837 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07fix PR4499, patch by Kyle Dean!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107836 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Rip out the C++0x-specific handling of destructor names. The specification ↵Sebastian Redl
is still in flux and unclear, and our interim workaround was broken. Fixes PR7467. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107835 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07A using declaration can redeclare a typedef to the same type. TheseDouglas Gregor
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>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107833 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Rename CXXZeroInitValueExpr to CXXScalarValueInitExpr, to reflect itsDouglas Gregor
newly-narrowed scope. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107828 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Do not use CXXZeroValueInitExpr for class types. Instead, useDouglas Gregor
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107827 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Fix an issue with opencl init list checking.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107824 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Changes how the TypeLoc traverser invokes the Type traverser: before,Zhanyong Wan
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107816 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07When printing statistics for the ASTContext, also print them for its ↵Douglas Gregor
BumpPtrAllocator git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107790 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07add driver support for minix, patch by Kees van ReeuwijkChris Lattner
from PR7583 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107788 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Fix broken reading of NestedNameSpecifiers from PCH.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107784 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Delay passing InterestingDecls to the Consumer until when we know we are not ↵Argyrios Kyrtzidis
in recursive loading and the declarations are fully initialized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107783 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07getBody() -> hasBody()Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107773 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Simplify code and remove comment that is no longer relevant.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107772 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Remove Decl::getCompoundBody().Argyrios Kyrtzidis
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107771 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Simplify code. CompoundStmt's RBraceLoc can be found using its SourceRange too.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107770 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Simplify code. FunctionDecl and ObjCMethodDecl have some common interfaces.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107769 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Introduce Decl::hasBody() and FunctionDecl::hasBody() and use them instead ↵Argyrios Kyrtzidis
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". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107768 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Add memcmp() and bcmp() to CStringChecker. These check for valid access to ↵Jordy Rose
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107761 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07A Release-Asserts build is now called a Release build.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107760 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Cleanup on CStringChecker and its associated tests. Also check for null ↵Jordy Rose
arguments...which are allowed if the access length is 0! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107759 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Teach function-try-blocks on constructors and destructors to implicitlyJohn McCall
rethrow. Fixes rdar://problem/7696603 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107757 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07implement PR7569, warning about assignment to null, which Chris Lattner
people seem to write when they want a deterministic trap. Suggest instead that they use a volatile pointer or __builtin_trap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107756 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Don't consider casted non-global pointers to be evaluatable.John McCall
Fixes rdar://problem/8154689 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107755 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Avoid double-traversing for QualifiedTypeLoc -- we were callingCraig Silverstein
VisitTypeLoc twice for qualified types, once for the qualified form and once for the unqualified (though they looked the same by the time we got to visittypeloc). Now only visit once, which matches previous behavior. Reviewed by nlewycky git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107754 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Change explicit handling of impossible condition to call llvm_unreachable in ↵Tom Care
IdempotentOperationChecker::PreVisitBinaryOperator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107748 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Silence an annoying GCC warning about use of an uninitialized variable. EvenChandler Carruth
making the other switch case unreachable, or sinking the 'continue' into it doesn't silence this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107745 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Use 'llvm_unreachable' to mark impossible code paths so that GCC doesn'tChandler Carruth
consider them for warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107741 91177308-0d34-0410-b5e6-96231b3b80d8