aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-02-16Fix a bug where we would not emit secondary vtables for bases of a primary base.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96351 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Rename argument so the name reflects what it's doing.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96342 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Add simpler checker to check if variables captured by a block are uninitialized.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96341 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Support local namespace aliases and permit them to be instantiated.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96335 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Emit vbase offsets.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96329 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16More work on the new layout code.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96328 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16When emitting complete destructors for classes with virtual bases, computeJohn McCall
the offset to the virtual bases statically inside of relying on the virtual base offsets in the object's vtable(s). This is both more efficient and sound against the destructor's manipulation of the vtables. Also extract a few helper routines. Oh and we seem to pass all tests with an optimized clang now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96327 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16White-list comma expressions with the literal 0 as their RHS againstJohn McCall
unused-value warnings. This is a common macro idiom. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96326 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Make the various type-decl Types (and their associated ASTContext routines)John McCall
accept const decls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96325 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Re-applying 96173. Looks like finally I got the test case right.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96321 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Add test case to show that Clang now checks the format stringTed Kremenek
arguments of asprintf (<rdar://problem/6657191>). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96319 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16c-index-test: Pass appropriate client data.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96317 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16ASTUnit: Constant fold UseBumpAllocator to true, we don't care to support ↵Daniel Dunbar
this as an argument. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96316 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16ASTUnit::LoadFromCompilerInvocation - Take ownership of the provided invocation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96315 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16CompilerInstance: Move LLVMContext member out of constructor.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96314 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Switch clang to use its own LLVMContext (not the global one).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96313 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Fix test case.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96311 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Refactor the logic for printf argument type-checking into ↵Ted Kremenek
analyze_printf::ArgTypeResult. Implement printf argument type checking for '%s'. Fixes <rdar://problem/3065808>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96310 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Added 'AsWideChar' flag to LengthModifier.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96309 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Skeleton for importing Objective-C classesDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96306 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16mark __builtin_longjmp noreturn, PR6312Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96302 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Don't import __va_list_tag or __builtin_va_list when mergingDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96299 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Cope with anonymous tags defined within declarators by structurallyDouglas Gregor
comparing their types under the assumption that they are equivalent, rather than importing the types and then checking for compatibility. A few minor tweaks here: - Teach structural matching to handle compatibility between function types with prototypes and those without prototypes. - Teach structural matching that an incomplete record decl is the same as any other record decl with the same name. - Keep track of pairs of declarations that we have already checked (but failed to find as structurally matching), so we don't emit diagnostics repeatedly. - When importing a typedef of an anonymous tag, be sure to link the imported tag type to its typedef. With these changes, we survive a repeated import of <stdlib.h> and <stdio.h>. Alas, the ASTNodeImporter is getting a little grotty. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96298 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Convert GRExprEngine's handling of ObjCMessageExprs to use a worklistTed Kremenek
to evaluate arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96293 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Add Sema support for __builtin_fpclassify by extending the existing check ↵Benjamin Kramer
for __builtin_isinf and friends. Part of PR6083. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96291 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Issue a bettter diagnostics for incorrect property setter name.Fariborz Jahanian
(radar 7647953). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96284 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Fix instantiation of template functions with local classes that contain virtualChandler Carruth
methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96283 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Tell ASTMerge to merge every declaration it sees, rather than cherry-picking ↵Douglas Gregor
those declarations that we know will work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96280 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Reimplement the structural-equality checks used to determine whetherDouglas Gregor
two types in different AST contexts are equivalent. Rather than transforming the type from one context into the other context, we perform a deep structural comparison of the types. This change addresses a serious problem with recursive data types like struct ListNode { int value; struct ListNode *Next; } xList; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96278 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Class continuation now has its own property ast forFariborz Jahanian
those declared in it. This is to allow duplicate property diagnostics for properties declared in class extensions multiple times (radar 7629420) and for future use. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96276 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Test to compile the rewritten file for my last patch.Fariborz Jahanian
(radar 7649577 related). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96274 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Fix a broken rewritin of @implementation keyword.Fariborz Jahanian
(fixes radar 7649577). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96270 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Optimize the implementation of IdDeclInfo pooling in the IdentifierResolver.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96253 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Use getLocStart(), instead of getLocEnd(), to record starting location of ↵Devang Patel
objc method. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96245 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15reverting back 96242 as it still causes a test failure.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96244 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Re-applying 96173 with corresponding changes in test.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96242 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Uniformize the names of type predicates: rather than having isFloatTy andDuncan Sands
isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96224 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Defer covariance checks for dependent types. Add test cases that also ensureChandler Carruth
they are re-checked on instantiation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96217 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15Simplify code. If we can reach here, the base must be virtual.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96211 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15When emitting an aggregate into a temporary, make sure we set the alignmentJohn McCall
on the alloca. The fact that codegen makes this class of bug so wonderfully easy to make is embarrassing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96204 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14clang::Attr objects should be treated as AST nodes as well byTed Kremenek
the LLVMConventionsChecker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96202 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14Add LLVM conventions check that scans for AST elements (types, stmts, decls)Ted Kremenek
that allocate heap memory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96184 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14Change LLVMConventionsChecker to accept an entire translation unit insteadTed Kremenek
of operating on each code decl. This exposes two flaws in AnalysisConsumer that should eventually be fixed: (1) It is not possible to associate multiple "actions" with a single command line argument. This will require the notion of an "analysis" group, and possibly tablegen support. (although eventually we want to support dynamically loading analyses as well) (2) AnalysisConsumer may not actually be scanning the declarations in namespaces. We'll experiment first in LLVMConventionsChecker before changing the behavior in AnalysisConsumer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96183 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14Rework translation unit actions to actually take an entire translation unitTed Kremenek
as imput. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96182 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14For the StringRef check, also visit the children of DeclStmts.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96181 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14Place type-checking static methods at type of file (where they will congregate).Ted Kremenek
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96180 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14temporarily revert 96173, it is causing test failures.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96176 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14renamed pic16 specifiic macros.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96173 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14Don't compute final overriders or build vtables for bases that don't need a ↵Anders Carlsson
vtable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96171 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14Pass StringRefs to InsertText/ReplaceText in RewriteObjC and remove a ton of ↵Benjamin Kramer
unnecessary length arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96164 91177308-0d34-0410-b5e6-96231b3b80d8