summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Multiplies, some shifts, set_laneNate Begeman2010-06-101-8/+109
| | | | llvm-svn: 105793
* Another chunk of the new RecursiveASTVisitor implementation: switch the returnChandler Carruth2010-06-102-2/+2
| | | | | | | value semantics such that we recurse while the visitors return true, and halt as soon as one returns false. Patch by csilvers. llvm-svn: 105787
* Create a LinuxTargetInfo on ARM. This make clang correctly expandRafael Espindola2010-06-101-0/+2
| | | | | | __USER_LABEL_PREFIX__. llvm-svn: 105771
* support _lane ops, and multiplies by scalar.Nate Begeman2010-06-103-43/+63
| | | | llvm-svn: 105770
* Add a stub Microsoft Visual C++ ABI class (with stub mangler).Charles Davis2010-06-094-21/+155
| | | | llvm-svn: 105767
* Driver: Change Option parsing to always create arguments referring to unaliasedDaniel Dunbar2010-06-091-9/+10
| | | | | | | | options. - This matches the intent of the .td files, and will simplify alias handling. - PR7321. llvm-svn: 105763
* Driver: Eliminate Arg subclasses, which are now unnecessary.Daniel Dunbar2010-06-095-100/+66
| | | | llvm-svn: 105762
* Driver: Keep the rendering style in the option, instead of as part of the Arg.Daniel Dunbar2010-06-093-46/+64
| | | | llvm-svn: 105761
* Driver: Change Arg to just hold the values directly, instead of implicitlyDaniel Dunbar2010-06-094-66/+64
| | | | | | deriving them from the Arg type. llvm-svn: 105760
* Frontend: Fix crashes on error paths.Daniel Dunbar2010-06-091-3/+3
| | | | llvm-svn: 105759
* Commit my WIP on constexpr support. This commit: an XFAILed test and ↵Sebastian Redl2010-06-091-1/+6
| | | | | | treating constexpr as a top-level const. llvm-svn: 105752
* Fix two typos in comments.Sebastian Redl2010-06-091-1/+1
| | | | llvm-svn: 105751
* Revert "Driver: Change Option parsing to always create arguments referring toDaniel Dunbar2010-06-091-9/+9
| | | | | | unaliased", this isn't quite right yet. llvm-svn: 105747
* Driver: Change Option parsing to always create arguments referring to unaliasedDaniel Dunbar2010-06-091-9/+9
| | | | | | | | options. - This matches the intent of the .td files, and will simplify alias handling. - PR7321. llvm-svn: 105744
* Driver: Add an explicit offset to JoinedArg and JoinedAndSeparateArg, so thatDaniel Dunbar2010-06-093-14/+28
| | | | | | they can be independent of the exact option that created them. llvm-svn: 105739
* Driver: Change Arg::render methods to use option name instead of string whereDaniel Dunbar2010-06-091-2/+2
| | | | | | possible. llvm-svn: 105738
* Implement codegen for hadd, hsub, max, min, mlal, movl, movn, padal, mov_nNate Begeman2010-06-092-2/+36
| | | | | | Make note about how to handle the dozen or so multiply by scalar ops. llvm-svn: 105734
* Added inherited info to template and non-type arguments of templates.Abramo Bagnara2010-06-093-12/+15
| | | | llvm-svn: 105716
* Major redesign of the RecursiveASTVisitor. This implements the majority of theChandler Carruth2010-06-092-18/+19
| | | | | | | | | | new design discussed on cfe-dev, with further steps in that direction to come. It is already much more complete than the previous visitor. Patch by Zhanyong and Craig with 80 column wraps and one missing declaration added by me. llvm-svn: 105709
* Remove an entry for a now deleted file. Fixes the neglected CMake build. ;]Chandler Carruth2010-06-091-1/+0
| | | | llvm-svn: 105708
* Correctly handle > 257 substitutions in a single mangling, and don't introduceJohn McCall2010-06-091-10/+8
| | | | | | | a spurious substitution for an unscoped dependent template-id after introducing a substitution for the scoped template-id. llvm-svn: 105699
* Merge StackAddrLeakChecker and ReturnStackAddressChecker.Zhongxing Xu2010-06-095-133/+90
| | | | llvm-svn: 105687
* Directly compare the StackFrameContext. This greatly simplifies logic andZhongxing Xu2010-06-091-30/+23
| | | | | | improves generality. Thanks Ted. llvm-svn: 105686
* More accurate BuiltinsARM.def Nate Begeman2010-06-091-0/+11
| | | | | | vget_lane support llvm-svn: 105684
* Fix a typo that breaks the GCC build. Turns out that Clang isn'tDouglas Gregor2010-06-091-1/+1
| | | | | | | diagnosing this code as an error when it should, so I've filed http://llvm.org/bugs/show_bug.cgi?id=7325. llvm-svn: 105683
* Added FixIt support to printf format string checking.Tom Care2010-06-092-38/+255
| | | | | | | | | | | | | | | | - Refactored LengthModifier to be a class. - Added toString methods in all member classes of FormatSpecifier. - FixIt suggestions keep user specified flags unless incorrect. Limitations: - The suggestions are not conversion specifier sensitive. For example, if we have a 'pad with zeroes' flag, and the correction is a string conversion specifier, we do not remove the flag. Clang will warn us on the next compilation. A test/Sema/format-strings-fixit.c M include/clang/Analysis/Analyses/PrintfFormatString.h M lib/Analysis/PrintfFormatString.cpp M lib/Sema/SemaChecking.cpp llvm-svn: 105680
* Tweak our handling of the notion of a standard conversion sequenceDouglas Gregor2010-06-095-45/+56
| | | | | | | | | | | | | being a subsequence of another standard conversion sequence. Instead of requiring exact type equality for the second conversion step, require type *similarity*, which is type equality with cv-qualifiers removed at all levels. This appears to match the behavior of EDG and VC++ (albeit not GCC), and feels more intuitive. Big thanks to John for the line of reasoning that supports this change: since cv-qualifiers are orthogonal to the second conversion step, we should ignore them in the type comparison. llvm-svn: 105678
* Simplify the code a bit and avoid a gcc waring about uninitialized variables.Rafael Espindola2010-06-091-29/+24
| | | | llvm-svn: 105676
* Get rid of getMangledCXXCtorName and getMangledCXXDtorName.Anders Carlsson2010-06-093-24/+8
| | | | llvm-svn: 105673
* More mangling cleanup.Anders Carlsson2010-06-091-6/+8
| | | | llvm-svn: 105672
* Get rid of an unnecessary getMangledName overload.Anders Carlsson2010-06-092-13/+1
| | | | llvm-svn: 105671
* Fix a gcc warning.Rafael Espindola2010-06-091-1/+1
| | | | llvm-svn: 105670
* Implement transpose/zip/unzip & table lookup.Nate Begeman2010-06-093-7/+107
| | | | | | Test out some basic constant-checking. llvm-svn: 105667
* Fix memory leak in ASTContext where ASTRecordLayout objects involving C++ ↵Ted Kremenek2010-06-081-7/+10
| | | | | | | | | structures wouldn't have their associated memory destroyed when using a BumpPtrAllocator. These objects internally use a DenseMap. llvm-svn: 105659
* Fix memory leak in Preprocessor where MacroInfo objects in the MICache ↵Ted Kremenek2010-06-081-0/+8
| | | | | | | | wouldn't have their associated SmallVectors get deallocated. llvm-svn: 105658
* Code cleanup: remove explicit flush() in favor of using the ostream's str()Jordy Rose2010-06-081-2/+1
| | | | llvm-svn: 105657
* On Darwin, initialization and destruction functions should go into the ↵Anders Carlsson2010-06-082-0/+11
| | | | | | __StaticInit section. llvm-svn: 105650
* Add a global CreateGlobalInitOrDestructFunction and use it for creating ↵Anders Carlsson2010-06-081-11/+17
| | | | | | global init or destruction functions. llvm-svn: 105649
* Rename __tcf_ to __cxx_global_array_dtor. Remove the ↵Anders Carlsson2010-06-083-6/+3
| | | | | | UniqueAggreDestructorCount from CodeGenFunction and let LLVM handle uniquing the internal functions instead. llvm-svn: 105648
* Move GenerateCXXAggrDestructorHelper to CGDeclCXX.cpp where it belongs.Anders Carlsson2010-06-082-38/+37
| | | | llvm-svn: 105647
* Simplify GenerateCXXAggrDestructorHelper.Anders Carlsson2010-06-083-27/+19
| | | | llvm-svn: 105646
* When referring to a tag that was previously declared only as a friend, Douglas Gregor2010-06-081-1/+2
| | | | | | | build a new declaration for that tag type that will be visible for future lookups of that tag. llvm-svn: 105643
* A built-in overload candidate is consider a non-template function whenDouglas Gregor2010-06-081-1/+1
| | | | | | | determining whether one overload candidate is better than another. Fixes PR7319. llvm-svn: 105642
* Block Code Gen. API. Call destructor on descriptiorFariborz Jahanian2010-06-081-2/+30
| | | | | | entry previously constructed via copy constructor. llvm-svn: 105641
* Simplify libIndex Makefile, which doesn't need to worry about altivec support.Daniel Dunbar2010-06-081-6/+0
| | | | llvm-svn: 105639
* Makefiles: Set Clang CPP compiler flags in a single location, instead of ↵Daniel Dunbar2010-06-0812-30/+0
| | | | | | scattered throughout the project Makefiles. llvm-svn: 105638
* Makefile: Switch Clang Makefiles to always include the top-level Clang Makefile.Daniel Dunbar2010-06-0815-33/+33
| | | | | | - This eliminates most dependencies on how Clang is installed relative to LLVM. llvm-svn: 105637
* Warn about comparisons between arrays and improve self-comparisonDouglas Gregor2010-06-081-11/+45
| | | | | | warnings, from Troy Straszheim! Fixes PR6163. llvm-svn: 105631
* Correctly handle fields with virtual bases containing empty subobjects.Anders Carlsson2010-06-081-1/+27
| | | | llvm-svn: 105628
* Fixes a typo which prevented proper code gen. forFariborz Jahanian2010-06-081-2/+1
| | | | | | copy-in of c++ class objects into blocks. llvm-svn: 105622
OpenPOWER on IntegriCloud