aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-10-07Fixup pathnames.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83443 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07Add a MangleContext and pass it to all mangle functions. It will be used for ↵Anders Carlsson
keeping state, such as identifiers assigned to anonymous structs as well as scope encoding. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83442 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07More testing of explicit specializationsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83440 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07Change ExplodedNode to have its NodeGroups all BumpPtrAllocated, avoiding ↵Ted Kremenek
malloc() traffic when adding successors/predecessors to a node. This was done by introducing BumpVector, which is essentially SmallVector with all memory being BumpPtrAllocated (this can certainly be cleaned up or moved into llvm/ADT). This change yields a 1.8% speed increase when running the analyzer (with -analyzer-store=region) on a small benchmark file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83439 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07Force a specific target triple in c-index-api-test.m, making the behavior of ↵Ted Kremenek
the test not be dependent on the host. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83438 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07Refactor checking of the scope of explicit template specializationDouglas Gregor
declarations and explicit template instantiations, improving diagnostics and making the code usable for function template specializations (as well as class template specializations and partial specializations). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83436 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Fix eof.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83433 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Fix eof.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83432 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Patch to implement C++ [over.built]p11 of overload resolution.Fariborz Jahanian
Doug, please review. There is a FIXME in the test case with a question which is unrelated to this patch (that is, error is issued before set of builtins are added to the candidate list). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83429 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Uncomment some commented out code.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83428 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Add codegen for __builtin_abort. Convert to FileCheck.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83427 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Change GetAddressCXXOfBaseClass to use CXXBasePaths for calculating base ↵Anders Carlsson
class offsets. Fix the code to handle virtual bases as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83426 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Add files to xcode project.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83423 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06When mangling names, always use the canonical decl. Fixes PR5144.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83420 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06InsertSubprogramStart if ATTACH_DEBUG_INFO_TO_AN_INSN is not defined.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83419 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Test explicit specialization for all of the various cases whereDouglas Gregor
explicit specializations can occur. Also, fix a minor recovery bug where we should allow declarations coming from the parser to be NULL. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83416 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Add more of __builtin_abort, WIP, still missing codegen.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83410 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Updated checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83408 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Add support to attach debug info to an instruction.Devang Patel
This is not yet enabled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83399 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Fix test.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83398 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Emit the destructor epilogue in a cleanup block so a return from a ↵Anders Carlsson
destructor body still calls the epilogue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83397 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Refactor the code that walks a C++ inheritance hierarchy, searchingDouglas Gregor
for bases, members, overridden virtual methods, etc. The operations isDerivedFrom and lookupInBases are now provided by CXXRecordDecl, rather than by Sema, so that CodeGen and other clients can use them directly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83396 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Pass the right type to GetAddrOfFunction when getting functions for the ↵Anders Carlsson
VTable. Fixes PR5021. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83395 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Add the -nostdclanginc option to clang (the driver).Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83377 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Fix 'clang-cc -analyzer-display-progress' by flushing standard error after ↵Ted Kremenek
printing the name of the analyzed function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83369 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Fix crash introduced by r83358 where a symbol could be eagerlyTed Kremenek
evaluated to an APSInt with a different bitwidth than the other operand in a binary expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83368 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Fix: <rdar://problem/7275774> Static analyzer warns about NULL pointer whenTed Kremenek
adding assert This fix required a few changes: SimpleSValuator: - Eagerly replace a symbolic value with its constant value in EvalBinOpNN when it is constrained to a constant. This allows us to better constant fold values along a path. - Handle trivial case of '<', '>' comparison of pointers when the two pointers are exactly the same. RegionStoreManager: git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83358 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Refactor the c++ include path a bit.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83357 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Set appropriate context for a global variable while emitting debug info.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83352 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06Refixed pr5086 by letting Expr::isNullPointerConstantFariborz Jahanian
handle checking for a null pointer for a zero-valued enumerator; moving the test case from CodeGen to Sema. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83350 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05This is slightly contentious, but, if llvm has gone to addressableMike Stump
units, we should as well. The problem is the non-predictability of the dimension of the values. I'd love for the dimension to be part of the static type system... but in C++ it is kinda annoying to do. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83345 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Fix thinko and simplify.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83342 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Ensure we have atleast 2-byte alignment for member functions.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83337 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Make sure that c-index-test links as a C++ executableDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83335 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Make sure that libCIndex links as a C++ libraryDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83331 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Testcase for recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83330 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Respect alignments better.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83328 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Fix C90 compile warning about mixed declarations and code.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83327 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05tweaked my last patch to 1) preserve the protocol inFariborz Jahanian
extension class's protocol list so its AST is complete. 2) Because of this no need to issue warning on unimplemeted methods coming from the extended class protocols because warning is issued when class definition is seen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83326 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05remove this test, grepping for define isn't really testing anything.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83325 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Encode the Clang branch and Subversion revision into a PCH file, andDouglas Gregor
assume that PCH files from different Clang revisions are not compatible. Addresses <rdar://problem/7266572>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83323 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Patch to implement Protocols on class extensions.Fariborz Jahanian
<rdar://problem/7269631> Protocols on class extensions don't work git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83322 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Provide a common set of routines in Version.h that return SubversionDouglas Gregor
branch/revision information. Use that information in the driver, rather than one-off branch/revision computation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83321 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Pre-commit commit to get URL keyword expansion for Clang version informationDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83319 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05- Fix assert in clang_getCursorDecl (having to do with recently added ↵Steve Naroff
ObjC_ProtocolRef). - Make sure CHECK: lines in test case match the expected output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83316 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Use new predicates for some type equality tests.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83303 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05Add a -nostdclanginc flag to clang-cc that prevents it from searchingRafael Espindola
its own binary-relative headers. Useful when using clang's preprocessor with gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83302 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-03Pass the canonical method decl to GetVtableIndex. Fixes PR5120.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83272 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-03Implement code generation of member function pointer calls. Fixes PR5121.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83271 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-03Create CXXMemberCallExpr for pointer-to-member calls.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83268 91177308-0d34-0410-b5e6-96231b3b80d8