aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-10-21Previously, the printf warnings would say your arguments type was 'int' when ↵Ted Kremenek
it was really a 'char' or a 'short'. This fixes that and allows the hints to suggest 'h' modifiers for small ints. Patch by Justin Bogner! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116996 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-21Remove unused variable.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116995 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-21putback r116782, it's a safe fix and should not break windowsAndrew Trick
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116994 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-21Fix Whitespace.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116990 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-21Revert "Cleanup and fix predefined macros for windows."Michael J. Spencer
Didn't realize this was on my branch ;/. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116989 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-21Cleanup and fix predefined macros for windows.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116988 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-21Pass TInfo to CXXDestructorDecl::Create(), just like we do for otherCraig Silverstein
function decls. Reviewed by rjmccall and nlewycky. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116979 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20revert r116782 & r116793 to fix msvc9 buildbotsAndrew Trick
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116976 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20When implicit members are added to a C++ record, notify the serializer so ↵Argyrios Kyrtzidis
that a chained PCH writes the definition again. Thanks to Doug for the hint! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116975 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Modify the assumptions of an assert; the updated latest redeclaration can ↵Argyrios Kyrtzidis
have the same location if it's a template specialization pointing at the template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116974 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Remove obsolete GRAuditor and GRSimpleAPICheck, which have been completely ↵Ted Kremenek
subsumed by the Checker interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116973 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Convert GRSimpleAPIChecks in BasicObjCFoundationChecks to be Checkers.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116971 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Extend the preprocessing record and libclang with support forDouglas Gregor
inclusion directives, keeping track of every #include, #import, etc. in the translation unit. We keep track of the source location and kind of the inclusion, how the file name was spelled, and the underlying file to which the inclusion resolved. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116952 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Call clang_disposeTokens() when we are done with the set of tokens.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116946 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Get FunctionDecl to recurse on FunctionTypeLoc rather thanCraig Silverstein
FunctionType! I didn't realize it was available, until rjmccall pointed out that DeclaratorDecl made the typeloc available. This makes FunctionDecl recursion *much* easier, because the typeloc can take care of default parameters, so we no longer have to do that separately, which means we can just do a normal type traversal instead of this special-case WalkUp stuff we did before. The only downside -- and it's minor -- is that because the TypeLoc handles both the return type and the argument types, we can't recurse on the explicit template args in the right place (which would be between them). I do it beforehand instead. So for int MyFunc<float>(char x); we get callbacks in the order: float, int, char. Reviewed by chandlerc git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116945 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Fix chained PCH issue; make sure all visible decls that will be put into a ↵Argyrios Kyrtzidis
UPDATE_VISIBLE block were recorded beforehand. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116931 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Minor optimization; Try to iterator over redeclarations only when necessary.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116930 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Fixes a potential crash in rewriter when sending message Fariborz Jahanian
to 'super'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116928 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Try again to pacify the build bots. =/ I'm getting a Darwin machine to test on.Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116918 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20GCC 4.4 warns that Receiver may be used uninitialized in this function.Duncan Sands
As far as I can see, gcc is right to think this! The following change will cause a nice segfault rather than undefined behaviour if this case occurs. Someone who understands what this code is supposed to do should probably take a proper look. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116917 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Access control polish: drop the note on the original declaration andJohn McCall
say 'implicitly' when it was implicit. Resolves PR 7930 and my peace of mind. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116916 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Remove a modern bash-ism and use simpler shell redirects. Hopefully will fixChandler Carruth
build bots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116914 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Add support for the '--sysroot' flag, and an accompanying test of itsChandler Carruth
interactions with -isysroot and other driver commands. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116912 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20When matching template parameter lists to template-ids in a scope specifierJohn McCall
on a friend declaration, skip template-ids which do not depend on the current parameter list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116911 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Fix handling of property and ivar lookup in typo correction; the twoDouglas Gregor
kinds of lookup into Objective-C classes were tangled together, a situation that was compounded by automatically synthesized ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116907 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Add a __has_attribute macro that works much like __has_feature and ↵Anders Carlsson
__has_builtin. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116906 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Disable this test while I track down the platform-specific issueDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116904 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Introduce a simple cache for unqualified typo corrections, so that weDouglas Gregor
don't repeatedly loop through identifiers, correcting the same typo'd identifier over and over again. We still bail out after 20 typo corrections, but this should help improve performance in the common case where we're typo-correcting because the user forgot to include a header. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116901 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Bah, incompetenceDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116898 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Eliminate another ordering dependency in typo correction. Re-enable typo.m, ↵Douglas Gregor
which seems to be working properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116894 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Had the wrong type for ArgType. :-( Fixed.Craig Silverstein
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116893 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20The type-to-delete may not be a pointer if it's a dependent type.Craig Silverstein
Here's example code: --- template<class T> class MyClass { struct S { }; S* NewS() { return new S; } void DeleteS() { delete NewS(); } }; --- CXXDeleteExpr::getDestroyedType() on the 'delete NewS()' expression would crash before this change. Now it returns a dependent type object. Solution suggested by dgregor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116891 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Linux still needs these hacks.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116888 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20Fix issue with chained PCH where forward references did not pick up later ↵Argyrios Kyrtzidis
definition in the chained PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116887 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Do not rewrite new accessor if user has defined accessors.Fariborz Jahanian
Fixes //rdar: // 8570020. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116882 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Silence uninitialized value warning.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116877 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Really^2 fix <rdar://problem/8361834>, this time without crashing.Ted Kremenek
Now MICache is a linked list (per the FIXME), where we tradeoff between MacroInfo objects being in MICache and MIChainHead. MacroInfo objects in the MICache chain are already "Destroy()'ed", so they can be reused. When inserting into MICache, we need to remove them from the regular linked list so that they aren't destroyed more than once. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116869 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Provide an upper bound to the edit-distance algorithm when performingDouglas Gregor
typo correction, to allow early exits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116868 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Putting back safe fixes 116836,116837,116838Andrew Trick
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116866 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Revert most of r116862. It isn't quite the right fix for a memory leak in ↵Ted Kremenek
Preprocessor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116864 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Really fix: <rdar://problem/8361834> MacroInfo::AddTokenToBody() leaks memoryTed Kremenek
The problem was not the management of MacroInfo objects, but that when we recycle them via the MICache the memory of the underlying SmallVector (within MacroInfo) was not getting released. This is because objects stashed into MICache simply are reused with a placement new, and never have their destructor called. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116862 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Simplify loop. No functionality change.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116861 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Reverting 116836,116837,116838 until we resolve the getLangStandardForKind ↵Andrew Trick
failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116859 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Now that mm_malloc.h was rewritten to *not* include errno.h (seeBill Wendling
http://llvm.org/viewvc/llvm-project?rev=116771&view=rev) we can get rid of these hacks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116853 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Improve the performance of typo correction, by using a simpleDouglas Gregor
computation to compute the lower bound of the edit distance, so that we can avoid computing the edit distance for names that will clearly be rejected later. Since edit distance is such an expensive algorithm (M x N), this leads to a 7.5x speedup when correcting NSstring -> NSString in the presence of a Cocoa PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116849 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Fixes a bug in ivar lookup in the new objc's defaultFariborz Jahanian
property synthesis mode, when dealing with legacy code. Fixes //rdar: //8565343. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116846 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Tag references shouldn't ever get template parameter lists.John McCall
Fixes rdar://problem/8568507 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116843 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Simplify lifetime management of MacroInfo objects in Preprocessor by having ↵Ted Kremenek
the Preprocessor maintain them in a linked list of allocated MacroInfos. This requires only 1 extra pointer per MacroInfo object, and allows us to blow them away in one place. This fixes an elusive memory leak with MacroInfos (whose exact location I couldn't still figure out despite substantial digging). Fixes <rdar://problem/8361834>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116842 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Fix up the comments for creating ParmVarDeclAbbrev to reflect reality.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116838 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19Minor optimization; if we have a CXXRecordDecl we can get the definition ↵Argyrios Kyrtzidis
decl directly without iterating over the redeclarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116837 91177308-0d34-0410-b5e6-96231b3b80d8