summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Initial support for visiting CXXMemberCallExpr.Zhongxing Xu2010-04-012-6/+93
| | | | llvm-svn: 100098
* adjust to IRBuilder change and use faster DebugLoc apis.Chris Lattner2010-04-012-21/+11
| | | | llvm-svn: 100093
* Improve C++ constructor handling.Zhongxing Xu2010-04-012-2/+5
| | | | llvm-svn: 100080
* Fix typo.Eric Christopher2010-04-011-1/+1
| | | | llvm-svn: 100079
* First start at wmmintrin.h file with Intel AES-NI instructions.Eric Christopher2010-04-012-0/+75
| | | | llvm-svn: 100077
* Fix a bug (PR 6699) in RegionStore::RemoveDeadBindings() whereTed Kremenek2010-04-012-32/+47
| | | | | | array values with a non-zero offset would get prematurely pruned from the store. llvm-svn: 100067
* Improve diagnostics when an elaborated-type-specifer containing aDouglas Gregor2010-03-318-13/+15
| | | | | | | | | | | | | | | | nested-name-specifier (e.g., "class T::foo") fails to find a tag member in the scope nominated by the nested-name-specifier. Previously, we gave a bland error: 'Nested' does not name a tag member in the specified scope which didn't actually say where we were looking, which was rather horrible when the nested-name-specifier was instantiated. Now, we give something a bit better: error: no class named 'Nested' in 'NoDepBase<T>' llvm-svn: 100060
* Change the representation of dependent elaborated-type-specifiersDouglas Gregor2010-03-317-17/+125
| | | | | | | | | | | | | | (such as "class T::foo") from an ElaboratedType of a TypenameType to a DependentNameType, which more accurately models the underlying concept. Improve template instantiation for DependentNameType nodes that represent nested-name-specifiers, by performing tag name lookup and checking the resulting tag appropriately. Fixes PR5681. There is still much testing and cleanup to do in this area. llvm-svn: 100054
* Issue better syntax error when objc's messagingFariborz Jahanian2010-03-312-2/+11
| | | | | | ares are not separated by ':' (radar 7030268). llvm-svn: 100040
* Extend DependentNameType with a keyword enum that specifies whetherDouglas Gregor2010-03-319-58/+115
| | | | | | | this was parsed as a typename-specifier, elaborated-type-specifier (including the kind), or just a dependent qualified type name. llvm-svn: 100039
* For reverse data flow analyses, enqueue the blocks in reverse order.Ted Kremenek2010-03-311-4/+17
| | | | | | | This more likely matches with the ideal order the blocks should be visited. This shaves another 1% off the -fsyntax-only time for compare.c (403.gcc). llvm-svn: 100030
* Re-bind non-dependent CXXTemporaryObjectExpr nodes as temporaries whenChandler Carruth2010-03-312-1/+14
| | | | | | | instantiating a template, which ensures the destructor is called. This fixes PR6671. llvm-svn: 100029
* Patch implements gcc's -Wno-protocol option to suppress warningFariborz Jahanian2010-03-3111-26/+69
| | | | | | | on unimplemented methods in protocols adopted by a class. (radar 7056600). llvm-svn: 100028
* Remove the AST statistics tracking I added yesterday; it didn't pan out.Douglas Gregor2010-03-3117-234/+1
| | | | llvm-svn: 100027
* Tweak DataFlowSolver's worklist data structure to have an ordered worklistTed Kremenek2010-03-311-8/+16
| | | | | | | | and a DenseSet for caching instead of using a single SmallPtrSet. This makes the behavior of the DataFlowSolver more deterministic, and reduces the -fsyntax-only time on compare.c (403.gcc) by 1%. llvm-svn: 100026
* Reinstate my CodeModificationHint -> FixItHint renaming patch, withoutDouglas Gregor2010-03-3132-230/+201
| | | | | | the C-only "optimization". llvm-svn: 100022
* Rename TypenameType to DependentNameType in anticipation of someDouglas Gregor2010-03-3117-74/+74
| | | | | | refactoring work in this area. llvm-svn: 100019
* Revert r100008, which inexplicably breaks the clang-i686-darwin10 builderDouglas Gregor2010-03-3133-213/+231
| | | | llvm-svn: 100018
* Rename CodeModificationHint to FixItHint, since we've been using theDouglas Gregor2010-03-3133-231/+213
| | | | | | | term "fix-it" everywhere and even *I* get tired of long names sometimes. No functionality change. llvm-svn: 100008
* Minor include pruning.Benjamin Kramer2010-03-319-8/+1
| | | | llvm-svn: 100007
* Define "exploded graph" by reference to a paper.Jeffrey Yasskin2010-03-311-0/+4
| | | | llvm-svn: 99990
* use the new optimized debug info metadata accessors. InChris Lattner2010-03-312-4/+4
| | | | | | | | addition to the inherent win, this eliminates the pointless cost of going through the name -> mdkind stringmap that we were paying. llvm-svn: 99983
* Support __attribute__((unused)) on types. This suddenly started firingJohn McCall2010-03-313-4/+36
| | | | | | a lot for me on selfhosts, I dunno why. llvm-svn: 99981
* Fix PR6327: restore invariants when there's a parse error in an initializer.John McCall2010-03-314-1/+56
| | | | llvm-svn: 99980
* Regularize support for naming conversion functions in using decls.John McCall2010-03-317-39/+132
| | | | llvm-svn: 99979
* IRGen: Move the auxiliary data structures tracking AST -> LLVM mappings out ↵Daniel Dunbar2010-03-317-76/+75
| | | | | | | | of CodeGenTypes, to per-record CGRecordLayout structures. - I did a cursory check that this was perf neutral, FWIW. llvm-svn: 99978
* CGRecordLayoutBuilder: Switch unions to use same mechanism for tracking ↵Daniel Dunbar2010-03-311-3/+4
| | | | | | | | field and bit-field info as structs. - Anders, please check. llvm-svn: 99977
* Add a few asserts to be on the safe side.Argyrios Kyrtzidis2010-03-311-0/+13
| | | | llvm-svn: 99973
* Don't skip past the '}' if an expression has error and is not followed by ';'.Argyrios Kyrtzidis2010-03-313-4/+10
| | | | llvm-svn: 99972
* Drastically simplify the computation of linkage for typeinfo by usingDouglas Gregor2010-03-312-75/+13
| | | | | | | | the existing (and already well-tested) linkage computation for types, with minor tweaks for dynamic classes and (pointers to) incomplete types. Fixes PR6597. llvm-svn: 99968
* IRGen: Hide CGRecordLayoutBuilder class, because I can.Daniel Dunbar2010-03-316-183/+145
| | | | llvm-svn: 99967
* Remove silly temporary comment.John McCall2010-03-301-2/+0
| | | | llvm-svn: 99964
* Introduce a new kind of derived-to-base cast which bypasses the need forJohn McCall2010-03-307-4/+56
| | | | | | | null checks, and make sure we elide null checks when accessing base class members. llvm-svn: 99963
* Slightly relax test case. An upcoming LLVM commit will change the xor ↵Jakob Stoklund Olesen2010-03-301-1/+1
| | | | | | instruction. llvm-svn: 99962
* Fix test in -Asserts build.Daniel Dunbar2010-03-301-1/+1
| | | | llvm-svn: 99960
* Recognize __attribute__((NSObject)) directly appliedFariborz Jahanian2010-03-303-7/+17
| | | | | | on retain properties. (radar 7809468). llvm-svn: 99951
* Revert Mon Ping's 99930 due to broken llvm-gcc buildbots.Bob Wilson2010-03-3010-99/+56
| | | | llvm-svn: 99949
* Formatting tweaks.Daniel Dunbar2010-03-301-4/+4
| | | | llvm-svn: 99947
* IRGen: Narrow getCGRecordLayout type.Daniel Dunbar2010-03-302-2/+2
| | | | llvm-svn: 99946
* IRgen: Move CGRecordLayout to its own happy little file.Daniel Dunbar2010-03-305-30/+52
| | | | llvm-svn: 99945
* Minor formatting/FIXME cleanups.Daniel Dunbar2010-03-303-5/+2
| | | | llvm-svn: 99944
* Fix an oversight with access control for address-of-function.John McCall2010-03-301-0/+1
| | | | llvm-svn: 99942
* Remember the regparm attribute in FunctionType::ExtInfo.Rafael Espindola2010-03-3012-35/+118
| | | | | | Fixes PR3782. llvm-svn: 99940
* When "delayed parsing" C++ default arguments, if there is an error, there ↵Argyrios Kyrtzidis2010-03-302-0/+21
| | | | | | | | | | | | may be tokens left in the token stream that will interfere (they will be parsed as if they are after the class' '}') and a crash will occur because the CachedTokens that holds them will be deleted while the lexer is still using them. Make sure that the tokens of default args are removed from the token stream. Fixes PR6647. llvm-svn: 99939
* Add a test for C++ [stmt.select]p3, which specifies that redeclaring aDouglas Gregor2010-03-301-0/+11
| | | | | | | | name in the outermost block of a if/else that declares the same name is ill-formed. Turns out that Clang and MSVC were right about PR6739; GCC is too lax. llvm-svn: 99937
* Propagate the "found declaration" (i.e. the using declaration instead ofJohn McCall2010-03-3016-149/+338
| | | | | | | | | | | | | the underlying/instantiated decl) through a lot of API, including "intermediate" MemberExprs required for (e.g.) template instantiation. This is necessary because of the access semantics of member accesses to using declarations: only the base class *containing the using decl* need be accessible from the naming class. This allows us to complete an access-controlled selfhost, if there are no recent regressions. llvm-svn: 99936
* Fix this test on windows. When running on windows we printRafael Espindola2010-03-301-1/+1
| | | | | | | | double 0.000000e+000 instead of double 0.000000e+00 llvm-svn: 99932
* Added support for address spaces and added a isVolatile field to memcpy, ↵Mon P Wang2010-03-3010-56/+99
| | | | | | memmove, and memset llvm-svn: 99930
* Improve diagnostics when printing a template instantiation backtraceDouglas Gregor2010-03-303-7/+19
| | | | | | | | | | involving substitution of deduced template arguments into a class template partial specialization or function template, or when substituting explicitly-specific template arguments into a function template. We now print the actual deduced argument bindings so the user can see what got deduced. llvm-svn: 99923
* RegionStore: specially handle loads from integer global variables declared ↵Ted Kremenek2010-03-302-1/+51
| | | | | | | | 'const'. Fixes a false positive reported in PR 6288. llvm-svn: 99922
OpenPOWER on IntegriCloud