aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-11-17add a static form of the efficient PP::getSpelling method.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119469 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17refactor the interface to StringLiteralParser::getOffsetOfStringByte,Chris Lattner
pushing the dependency on the preprocessor out a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119468 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Added mapping from 'this' to it's SymbolicRegion in ↵Marcin Swiderski
BasicStoreManager::getInitialStore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119467 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17factor some code out to a helper function, no functionality change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119464 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17CursorVisitor: Migrate handling ofTed Kremenek
'SizeOfAlignOfExpr' and 'CXXSCalarValueInitExpr' to data-recursion algorithm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119452 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17For an Objective-C @synthesize statement, e.g.,Douglas Gregor
@synthesize foo = _foo; keep track of the location of the ivar ("_foo"). Teach libclang to visit the ivar as a member reference. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119447 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17CursorVisitor: migrate handling of CXXUuidofExpr toTed Kremenek
data-recursion algorithm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119444 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17CursorVisitor: migrate handling of UnaryTypeTraitExprTed Kremenek
to data-recursion algorithm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119443 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17CursorVisitor: refactor visitation ofTed Kremenek
explicit template args within data-recursion algorithm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119442 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17CursorVisitor: migrate handling ofTed Kremenek
AddrLabelExpr to data-recursion algorithm, and unify that reasoning with GotoStmt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119441 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17CursorVisitor: migrate handling ofTed Kremenek
VAArgExpr to data-recursion algorithm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119440 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17CursorVisitor: migrate handling ofTed Kremenek
CXXTypeidExpr to data-recursion algorithm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119439 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17CursorVisitor: migrate handling ofTed Kremenek
TypesCompatibleExpr to data-recursion algorithm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119438 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17CursorVisitor: Migrate CXXUnresolvedConstructExpr over to data-recursive ↵Ted Kremenek
algorithm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119437 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Add comments.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119436 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Re-enable test with modifications for Neon vector changes in clang.Bob Wilson
I mistakenly thought that this was checking for vector name mangling, but it is not. Since we're no longer wrapping Neon vectors in structs, this test can just return a vector directly. There are already other tests for that, so just to make this interesting, change the test to return a struct of two vectors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119434 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Add support for distros that like x86_64-unknown-linux-gnu.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119425 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Fixes synthesis of type for the object which holds info.Fariborz Jahanian
about a __block cxx object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119411 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Fix source-range information for Objective-C properties. Previously,Douglas Gregor
we were just getting a range covering only the property name, which is certainly not correct (and broke token annotation, among other things). Also, teach libclang about the relationship between @synthesize/@dynamic and @property, so we get property name and cursor-reference information for @synthesize and @dynamic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119409 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Reset the lifetime-managed flag between emission of the agg conditionalJohn McCall
branches. Fixes PR8623. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119408 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Front-end support for __attribute__((may_alias)). This is notDan Gohman
yet hooked up to anything yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119407 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Support compound complex operations as l-values in C++. Add a testJohn McCall
case based on CodeGen/volatile-1.c which tests the current C++ semantics, and note the many, many places we fall short of them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119402 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Warn about arg1 && arg2 || arg3, as GCC 4.3+ does. Fixes rdar://8659922Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119381 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Use an OwningPtr for the preamble buffer in ASTUnit. This plugs a leakDouglas Gregor
where we failed to free this buffer along one of the paths, and detangles the code a little. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119379 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16turned pointers into pointers to const in function parameters in all ↵Anton Yartsev
functions/builtins accepting pointers to a const-qualified type according to PIM and "Language Extensions for CBEA" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119376 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Implements __block API for c++ objects. There is stillFariborz Jahanian
issue with runtime which I am discussing it with Blaine. This is wip (so no test yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119368 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Temporarily disable this check for Neon vector type mangling.Bob Wilson
I'll reenable it soon when I'm done reworking <arm_neon.h>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119366 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Static analyzer: Catch calls to malloc() withTed Kremenek
allocation sizes of 0 bytes. Fixes PR 2899. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119364 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Emit a specific diagnostic when typedefing C++ bool, mirroring gcc.Argyrios Kyrtzidis
Fixes rdar://8365458 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119359 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16MSVC doesn't like the noinline attribute at the end of a declaration. Try ↵Benjamin Kramer
the other side. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119349 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Add gcc-4.4.4 headers on Gentoo systems. Patch by Bertjan Broeksema!Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119348 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Remove an unintended restriction on sysroots introduced during the PathChandler Carruth
conversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119346 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16This really seems like a boring set of fixes to our tests to make them moreChandler Carruth
independent of the underlying system. Let me know if any of these are too aggressive. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119345 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Simplify some complex emission and implement correct semantics forJohn McCall
assignment to volatiles in C. This in effect reverts some of mjs's work in and around r72572. Basically, the C++ standard is quite clear, except that it lies about volatile behavior approximating C's, whereas the C standard is almost actively misleading. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119344 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Futher reduce the includes of our builtin headers, and teach limits.h to avoidChandler Carruth
include_next when not hosted or unavailable. This follows the pattern in stdint.h and allows these headers to work even in a freestanding configuration without a standard library. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119343 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Reverting r119341: doesn't compile, no obvious fix.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119342 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Refactored GRExprEngine::getCXXThisRegion to use CXXMethodDecl::getThisType ↵Marcin Swiderski
instead of calculating it by hand. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119341 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Fix PR8625 and correctly interpret member-calls to static members whenChandler Carruth
producing warnings. This feels really fragile, and I've not audited all other argument index-based warnings. I suspect we'll grow this bug on another warning eventually. It might be nice to adjust the argument indices when building up the attribute AST node, as we already have to remember about the 'this' argument within that code to produce correct errors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119340 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Re-work the handling of implicit 'this' arguments and silly GCC-style attributeChandler Carruth
argument indexes. This handles the offsets in a consistent manner for all of the attributes which I saw working with these concepts. I've also added tests for the attribute that motivated this: nonnull. I consolidated the tests for format attributes into one file, and fleshed them out a bit to trigger more of the warning cases. Also improved the quality of some of the diagnostics that occur with invalid argument indices. The only really questionable change here is supporting the implicit this argument for the ownership attribute. I'm not sure it's really a sensible concept there, but implemented the logic for consistency. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119339 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Rework USR generation from CXCursors to use CXStringBufsTed Kremenek
for the backing of generated USRs. This optmizes for the case when a client generates a sequence of USRs in sequence, disposing of them soon after generating them. By using a string buffer, we recycle malloc'ed memory instead of constantly malloc'ing and copying strings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119338 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Change CXTranslationUnit to not directly cast to an ASTUnit*,Ted Kremenek
but to wrap both an ASTUnit and a "string pool" that will be used for fast USR generation. This requires a bunch of mechanical changes, as there was a ton of code that assumed that CXTranslationUnit and ASTUnit* were the same. Along with this change, introduce CXStringBuf, which provides an llvm::SmallVector<char> backing for repeatedly generating CXStrings without a huge amount of malloc() traffic. This requires making some changes to the representation of CXString by renaming a few fields (but keeping the size of the object the same). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119337 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Improve diagnostic for calling non-const method on const object. Fixes ↵Argyrios Kyrtzidis
rdar://7743000 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119336 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Handle member initializer in C++ ctor. Zhongxing Xu
- Add a new Kind of ProgramPoint: PostInitializer. - Still use GRStmtNodeBuilder. But special handling PostInitializer in GRStmtNodeBuilder::GenerateAutoTransition(). - Someday we should clean up the interface of GRStmtNodeBuilder. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119335 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Have CXXDeleteExpr::getDestroyedType return the actual destroyed typeCraig Silverstein
in more situations. In particular, for code like template<class T> void Fn() { T* x; delete x; } getDestroyedType() will now return T rather than T*, as it would before this change. On the other hand, for code like this: template<class T> void Fn() { T x; delete x; } getDestroyedType() will return an empty QualType(), since it doesn't know what the actual destroyed type would be. Previously, it would return T. OKed by rjmccall git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119334 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Basic support for C++ in BasicStore:Marcin Swiderski
- CXXThisRegion treated like VarRegion and ObjCIVarRegion in various places, - Reference treated like pointer in BindDeclInternal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119333 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Now that we have reliable cast kinds, simplify scalar cast IR gen.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119332 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Kill CK_Unknown and flesh out the documentation for the existing CastKinds.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119331 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Teach complex compound assignment IR-generation that the RHS ofJohn McCall
a compound assignment is always already in the computation type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119330 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Kill off the remaining places which generate CK_Unknown casts.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119326 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Add CXString.cpp and CXString.hTed Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119322 91177308-0d34-0410-b5e6-96231b3b80d8