summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* On FreeBSD, we don't want 'getDriver().Dir + "/../lib"' added to theRoman Divacky2011-03-011-4/+0
| | | | | | | | | | | | | ToolChain's FilePaths. If clang is installed as a port in /usr/local, it is *not* supposed to use /usr/local/lib by default, for example. Additionally, there are no clang-related executables in either /usr/libexec, or getDriver().Dir + "/../libexec", anymore, so remove that from the ToolChain's ProgramPaths. Patch by Dimitry Andric! llvm-svn: 126760
* Added missing va_end().Talin2011-03-012-1/+2
| | | | llvm-svn: 126759
* Add code to emulate LDRH (register) Arm instruction.Caroline Tice2011-03-011-2/+181
| | | | llvm-svn: 126758
* For linking on FreeBSD, don't add a hardcoded "-L/usr/lib", butRoman Divacky2011-03-011-7/+7
| | | | | | | | | | | retrieve the library paths from the ToolChain object instead. Copy the relevant code from linuxtools::Link::ConstructJob(), and replace the std::string stuff with llvm::StringRef, while we're here. Patch by Dimitry Andric! llvm-svn: 126757
* Implement -mrtd which sets the StdCall calling convention to be the defaultRoman Divacky2011-03-019-4/+39
| | | | | | one. llvm-svn: 126756
* Add missing options.Roman Divacky2011-03-011-1/+2
| | | | llvm-svn: 126755
* objc IRGen for Next runtime message API.Fariborz Jahanian2011-03-015-9/+31
| | | | | | | | | | The prototype for objc_msgSend() is technically variadic - `id objc_msgSend(id, SEL, ...)`. But all method calls should use a prototype that matches the method, not the prototype for objc_msgSend itself(). // rdar://9048030 llvm-svn: 126754
* Revert r126748, my second attempt at nested-name-specifier sourceDouglas Gregor2011-03-0119-147/+70
| | | | | | location information for elaborated types. *sigh* llvm-svn: 126753
* Implement comparison of C++0x scoped enumeration types. Fixes PR9333.Douglas Gregor2011-03-012-0/+13
| | | | llvm-svn: 126752
* When digging into a cv-qualified return type that is a pointer type toDouglas Gregor2011-03-012-1/+9
| | | | | | | | diagnose ignored qualifiers on return types, only assume that there is a pointer chunk if the type is *structurally* a pointer type, not if it's a typedef of a pointer type. Fixes PR9328/<rdar://problem/9055428>. llvm-svn: 126751
* When building a type for a typename specifier, check specifically forDouglas Gregor2011-03-012-40/+42
| | | | | | | | | a dependent template name rather than (indirectly and incorrectly) trying to determine whether we can compute a context for the nested-name-specifier. Fixes a GCC testsuite regression, <rdar://problem/9068589>. llvm-svn: 126749
* Reinstate r126737, extending the generation of type-source locationDouglas Gregor2011-03-0119-76/+148
| | | | | | | | | | | | | | | | | | | | | | | | | information for qualifier type names throughout the parser to address several problems. The commit message from r126737: Push nested-name-specifier source location information into elaborated name types, e.g., "enum clang::NestedNameSpecifier::SpecifierKind". Aside from the normal changes, this also required some tweaks to the parser. Essentially, when we're looking at a type name (via getTypeName()) specifically for the purpose of creating an annotation token, we pass down the flag that asks for full type-source location information to be stored within the returned type. That way, we retain source-location information involving nested-name-specifiers rather than trying to reconstruct that information later, long after it's been lost in the parser. With this change, test/Index/recursive-cxx-member-calls.cpp is showing much improved results again, since that code has lots of nested-name-specifiers. llvm-svn: 126748
* Revert r126737, the most recent nested-name-specifier location change, for ↵Douglas Gregor2011-03-0116-131/+69
| | | | | | buildbot breakage. llvm-svn: 126746
* Add a few missed unary cases when legalizing vector results. Put some casesDuncan Sands2011-03-011-31/+43
| | | | | | in alphabetical order. llvm-svn: 126745
* Make InstCombiner::FoldAndOfICmps create a ConstantRange that's theAnders Carlsson2011-03-012-8/+21
| | | | | | | | | intersection of the LHS and RHS ConstantRanges and return "false" when the range is empty. This simplifies some code and catches some extra cases. llvm-svn: 126744
* Chris Jefferson found this bug to pair/tuple introduced by a recent change ↵Howard Hinnant2011-03-011-1/+1
| | | | | | to the draft that I missed. llvm-svn: 126743
* add a missing const qualifier for consistency.Chris Lattner2011-03-011-1/+1
| | | | llvm-svn: 126742
* Optimize "icmp pred (urem X, Y), Y" --> true/false depending on pred. There'sNick Lewycky2011-03-012-0/+34
| | | | | | | more work to do here, "icmp ult (urem X, 10), 11" doesn't optimize away yet. Fixes example 3 from PR9343! llvm-svn: 126741
* Disable more warnings so that it is safe to useRafael Espindola2011-03-011-0/+8
| | | | | | | CC="clang -use-gold-plugin -emit-llvm" CXX="clang++ -use-gold-plugin -emit-llvm" llvm-svn: 126740
* Move the bool-conversions behind the DiagRuntimeBehavior logic. It'sChandler Carruth2011-03-012-2/+9
| | | | | | | | | possible for these to show up due to metaprogramming both in unevaluated contexts and compile-time dead branches. Those aren't the bugs we're looking for. llvm-svn: 126739
* In preparation for fixing PR 6884, rework CFGElement to have getAs<> return ↵Ted Kremenek2011-03-0110-141/+159
| | | | | | | | | pointers instead of fresh CFGElements. - Also, consoldiate getDtorKind() and getKind() into one "kind". - Add empty getDestructorDecl() method to CFGImplicitDtor. llvm-svn: 126738
* Push nested-name-specifier source location information into elaboratedDouglas Gregor2011-03-0116-69/+131
| | | | | | | | | | | | | | | | | | | name types, e.g., "enum clang::NestedNameSpecifier::SpecifierKind". Aside from the normal changes, this also required some tweaks to the parser. Essentially, when we're looking at a type name (via getTypeName()) specifically for the purpose of creating an annotation token, we pass down the flag that asks for full type-source location information to be stored within the returned type. That way, we retain source-location information involving nested-name-specifiers rather than trying to reconstruct that information later, long after it's been lost in the parser. With this change, test/Index/recursive-cxx-member-calls.cpp is showing much improved results again, since that code has lots of nested-name-specifiers. llvm-svn: 126737
* Add TestProcessAPI.py which exercises some Python SBProcess API. In ↵Johnny Chen2011-03-014-4/+136
| | | | | | | | | | | | | particular, this tests the SBProcess.ReadMemory() API, which, due to SWIG typemap'ing, expects 3 arguments (the location to read from, the size in bytes to read, and an SBError object), and returns the result as a Python string object. On SnowLeopard where this has been tested, the SWIG script needs to be pampered (use the exact same parameter names as in SBProcess.h) in order for this to work. llvm-svn: 126736
* [analyzer] Also make sure that the parameter is coming from the current ↵Argyrios Kyrtzidis2011-03-011-4/+8
| | | | | | stack frame. llvm-svn: 126735
* [analyzer] Remove SVal::getAsVarDecl() and reason about MemRegions, not ↵Argyrios Kyrtzidis2011-03-013-31/+28
| | | | | | Decls. Suggestion by Ted! llvm-svn: 126734
* trailing whitespace.Jim Grosbach2011-03-013-93/+93
| | | | llvm-svn: 126733
* Look for swig in /usr/bin and /usr/local/bin.Jim Ingham2011-03-012-2/+24
| | | | llvm-svn: 126732
* Generalize the register matching code in DAGISel a bit.Jim Grosbach2011-03-015-21/+58
| | | | llvm-svn: 126731
* Use CharUnits for TypeAlign variable in LayoutWideBitField(). No change inKen Dyck2011-03-011-4/+5
| | | | | | functionality intended. llvm-svn: 126730
* Push nested-name-specifier source location information intoDouglas Gregor2011-03-0113-87/+183
| | | | | | | | | | | | DependentNameTypeLoc. Teach the recursive AST visitor and libclang how to walk DependentNameTypeLoc nodes. Also, teach libclang about TypedefDecl source ranges, so that we get those. The massive churn in test/Index/recursive-cxx-member-calls.cpp is a good thing: we're annotating a lot more of this test correctly now. llvm-svn: 126729
* [analyzer] Move lib/StaticAnalyzer/Checkers/ExprEngine.cpp -> ↵Argyrios Kyrtzidis2011-03-013-1/+1
| | | | | | | | lib/StaticAnalyzer/Core and hope the wrath of the buildbots will not descend upon me. llvm-svn: 126728
* Change the return type of GetVirtualPointersSize() to CharUnits. No changeKen Dyck2011-03-011-8/+10
| | | | | | in functionality intended. llvm-svn: 126727
* [analyzer] Rename CheckerV2 -> Checker.Argyrios Kyrtzidis2011-03-0151-114/+112
| | | | llvm-svn: 126726
* [analyzer] Remove Checker V1.Argyrios Kyrtzidis2011-03-017-326/+5
| | | | llvm-svn: 126725
* [analyzer] Remove checker V1 registration and running from ExprEngine.Argyrios Kyrtzidis2011-03-014-591/+83
| | | | llvm-svn: 126724
* Narrow right shifts need to encode their immediates differently from a normalBill Wendling2011-03-017-5/+72
| | | | | | | | | | shift. 16-bit: imm6<5:3> = '001', 8 - <imm> is encded in imm6<2:0> 32-bit: imm6<5:4> = '01',16 - <imm> is encded in imm6<3:0> 64-bit: imm6<5> = '1', 32 - <imm> is encded in imm6<4:0> llvm-svn: 126723
* Improves the coding style in SValBuilder. This patch:Zhanyong Wan2011-03-014-159/+166
| | | | | | | | | | | | | | - renames evalCastNL and evalCastL to evalCastFromNonLoc and evalCastFromLoc (avoid abbreviations that aren't well known). - makes all function parameter names start with a lower case letter for consistency and distinction from member variables. - avoids abbreviations in function parameter names. Reviewed by kremenek@apple.com. llvm-svn: 126722
* Fix some regressions in the GCC testsuite due to bad souce-locationDouglas Gregor2011-03-011-2/+6
| | | | | | information. Fixes <rdar://problem/9063643>. llvm-svn: 126721
* Add an obvious missing safety check to DAE::RemoveDeadArgumentsFromCallers.Eli Friedman2011-03-012-1/+14
| | | | llvm-svn: 126720
* add a noteChris Lattner2011-03-011-0/+15
| | | | llvm-svn: 126719
* -fwrapv should turn off the inbounds markers from geps used for pointerChris Lattner2011-03-014-36/+72
| | | | | | | arithmetic. This is part of PR9256, it would be great if someone else wired up -fno-strict-overflow in the driver to -fwrapv. llvm-svn: 126718
* Unbreak CMake build.Ted Kremenek2011-03-011-5/+4
| | | | llvm-svn: 126717
* Refactor the construction of nested-name-specifiers withDouglas Gregor2011-02-285-257/+432
| | | | | | | | | | source-location information into a NestedNameSpecifierLocBuilder class, which lives within the AST library and centralize all knowledge of the format of nested-name-specifier location information here. No functionality change. llvm-svn: 126716
* Unbreak CMake build.Ted Kremenek2011-02-281-1/+0
| | | | llvm-svn: 126715
* Add an END_WITH_NULL accessor for ConstantStruct.Talin2011-02-282-2/+15
| | | | llvm-svn: 126714
* Don't warn about "clang -use-gold-plugin -c ...". With this users can sayRafael Espindola2011-02-281-0/+2
| | | | | | | CC="clang -use-gold-plugin" CFLAGS=-emit-llvm ../configure... and not be hit with a warning for each .c file. llvm-svn: 126713
* Add code to emulate LDRH (literal) Arm instruction.Caroline Tice2011-02-281-0/+113
| | | | llvm-svn: 126709
* Add register context for i386 on Linux.Stephen Wilson2011-02-283-4/+791
| | | | | | Patch by Marco Minutoli! llvm-svn: 126696
* update cmakeChris Lattner2011-02-281-1/+0
| | | | llvm-svn: 126694
* Teach Sema::CheckTypenameType to use nested-name-specifiers withDouglas Gregor2011-02-286-42/+40
| | | | | | | | source-location information. We don't actually preserve this information in any of the resulting TypeLocs (yet), so it doesn't matter. llvm-svn: 126693
OpenPOWER on IntegriCloud