summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* [-cxx-abi microsoft] Unnamed types are mangled less wrongDavid Majnemer2013-08-261-2/+2
| | | | llvm-svn: 189208
* CodeGen: Unify two implementations of canDevirtualizeMemberFunctionCall.Benjamin Kramer2013-08-253-139/+25
| | | | | | | | | They were mostly copy&paste of each other, move it to CodeGenFunction. Of course the two implementations have diverged over time; the one in CGExprCXX seems to be the more modern one so I picked that one and moved it to CGClass which feels like a better home for it. No intended functionality change. llvm-svn: 189203
* DebugInfo: Emit info for casted decls in template argsDavid Majnemer2013-08-252-2/+21
| | | | | | | | | | | | | | | | | | Summary: Previously the backend wouldn't get to see the underlying GlobalValue that corresponds to the template argument because it would be hidden by a cast at the IR level. Instead strip the pointer casts off of the value until we see the underlying GlobalValue. Reviewers: dblaikie, echristo, majnemer Reviewed By: majnemer CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1508 llvm-svn: 189200
* Produce an error when trying to link with -emit-llvm.Rafael Espindola2013-08-253-0/+8
| | | | llvm-svn: 189193
* Tests for ARM aligned access + reserved R9Renato Golin2013-08-252-0/+13
| | | | | | Patch by Jeroen Hofstee. llvm-svn: 189190
* Fix comment.Michael Han2013-08-251-1/+1
| | | | llvm-svn: 189185
* Add gcc ARM flags -munaligned-access / -mno-unaligned-accessRenato Golin2013-08-242-5/+14
| | | | | | | | | | | | | | | | clang already had a mstrict-align which mentiones "Force all memory accesses to be aligned (ARM only)". On gcc arm this is controlled by -munaligned-access / -mno-unaligned-access. Add the gcc versions to the frontend and make -mstrict-align and alias to -mno-unaligned-access and only show it in clang -cc1 -help. Since the default value for unaligned accesses / strict alignment depends on the tripple, both the enable and disable flags are added. If both are set, the no-unaligned-access is used. Patch by Jeroen Hofstee. llvm-svn: 189175
* Add the -ffixed-r9 flag for ARM.Renato Golin2013-08-242-1/+12
| | | | | | | | | | | | This patch adds the -ffixed-r9 flag to clang to instruct llvm to globally preserve the contents of r9. The flag is added to the newly created ARM specific group. While at it, also place marm / mno-thumb in that group. Patch by Jeroen Hofstee. llvm-svn: 189174
* This wasn't headers, just missing namespaces.Benjamin Kramer2013-08-244-8/+7
| | | | | | /me bows head in shame. llvm-svn: 189172
* Add missing includes.Benjamin Kramer2013-08-242-1/+3
| | | | llvm-svn: 189171
* Replace compLocDecl with less_first.Benjamin Kramer2013-08-242-20/+9
| | | | llvm-svn: 189170
* Fix test, make the template type a const pointer.David Majnemer2013-08-241-1/+1
| | | | llvm-svn: 189166
* DebugInfo: Emit info for constant expressions in template argumentsDavid Majnemer2013-08-242-2/+26
| | | | | | | | | | | | | | | | | | | Summary: This allows us to handle the general case where a non-type template argument evaluates to a constant expression which isn't integral or a declaration. This fixes PR16939. Reviewers: dblaikie, rsmith Reviewed By: dblaikie CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1453 llvm-svn: 189165
* CMake: support the LLVM_INSTALL_TOOLCHAIN_ONLY flagHans Wennborg2013-08-241-14/+28
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1498 llvm-svn: 189156
* Add a FIXME.Richard Smith2013-08-231-0/+1
| | | | llvm-svn: 189153
* A clean-up pass, exploring the unification of traversals of class, variable ↵Larisse Voufo2013-08-235-201/+146
| | | | | | and function templates. llvm-svn: 189152
* Add note about following two commands are no longer equivalent.Shuxin Yang2013-08-231-1/+2
| | | | | | | | | - "clang -O3 -flto a.c -c", and - "clang -emit-llvm a.c -c" Thank Rafael for tips. llvm-svn: 189150
* Don't imply -flto with -O4.Rafael Espindola2013-08-235-18/+6
| | | | | | We now saturate at -O3. llvm-svn: 189149
* Driver::IsUsingLTO() no longer return true when seeing -emit-llvm.Shuxin Yang2013-08-231-3/+5
| | | | | | | | | | One step toward differentiating following two commands: clang -O3 -flto a.c -c, and clang -O3 -emit-llvm a.c Thanks many awesome folks for clarifying things. llvm-svn: 189148
* Update now that llvm uses the same feature names as the driver.Rafael Espindola2013-08-231-18/+14
| | | | llvm-svn: 189142
* Consumed analysis: change class name in test cases.DeLesley Hutchins2013-08-232-55/+55
| | | | | | | The name of a class used in the testing files was updated to actually be descriptive. Patch by chris.wailes@gmail.com. llvm-svn: 189132
* Rename CMake variable; this fell out of r189127 somehow.Hans Wennborg2013-08-231-2/+2
| | | | llvm-svn: 189129
* CMake: Don't look for llvm-tblgen when building outside LLVM treeHans Wennborg2013-08-231-11/+9
| | | | | | | | | | | Previously, the CMake build would look for llvm-tblgen to determine if a directory is an LLVM build or install directory. Since we don't want to include llvm-tblgen in the install, look for llvm-config instead, and use that to find llvm-tblgen. Differential Revision: http://llvm-reviews.chandlerc.com/D1483 llvm-svn: 189127
* Comment parsing: fix a bug where a line with whitespace between two paragraphsDmitri Gribenko2013-08-234-11/+57
| | | | | | | | | | would cause us to concatenate these paragraphs into a single one. The no-op whitespace churn in test/Index test happened because these tests don't use the correct approach for testing and are more strict than required for they are testing. llvm-svn: 189126
* Fix indentationDmitri Gribenko2013-08-231-1/+1
| | | | llvm-svn: 189119
* Use CharInfo.h routines in TextComment::isWhitespaceNoCacheDmitri Gribenko2013-08-231-3/+2
| | | | llvm-svn: 189115
* Revise -Wnewline-eof test per feedback from Dmitri.Jordan Rose2013-08-231-6/+6
| | | | llvm-svn: 189113
* Use pop_back_val() instead of both back() and pop_back().Robert Wilhelm2013-08-2330-103/+60
| | | | | | No functionality change intended. llvm-svn: 189112
* Respect -Wnewline-eof even in C++11 mode.Jordan Rose2013-08-236-13/+36
| | | | | | | | | | | If the user has requested this warning, we should emit it, even if it's not an extension in the current language mode. However, being an extension is more important, so prefer the pedantic warning or the pedantic-compatibility warning if those are enabled. <rdar://problem/12922063> llvm-svn: 189110
* clang-format: Fix indentation relative to unary expressions.Daniel Jasper2013-08-232-15/+60
| | | | | | | | | | | | | | | | | | | This should be done, only if we are still in the unary expression's scope. Before: bool aaaa = !aaaaaaaa( // break aaaaaaaaaaa); *aaaaaa = aaaaaaa( // break aaaaaaaaaaaaaaaa); After: bool aaaa = !aaaaaaaa( // break aaaaaaaaaaa); // <- (unchanged) *aaaaaa = aaaaaaa( // break aaaaaaaaaaaaaaaa); // <- (no longer indented relative to "*") llvm-svn: 189108
* clang-format: Fix corner case for string splitting ..Daniel Jasper2013-08-233-12/+31
| | | | | | | | .. in conjunction with Style.AlwaysBreakBeforeMultilineStrings. Also, simplify the implementation by handling newly split strings and already split strings by the same code. llvm-svn: 189102
* clang-format: Handle trailing commas in column layout of braced list.Daniel Jasper2013-08-233-0/+17
| | | | | | | | | | Before, this was causing errors. Also exit early in breakProtrudingToken() (before the expensive call to SourceManager::getSpellingColumnNumber()). This makes formatting huge (100k+-item) braced lists possible. llvm-svn: 189094
* correct test RUN parametersRobert Lytton2013-08-231-4/+2
| | | | llvm-svn: 189093
* [analyzer] Refactor conditional expression evaluating codePavel Labath2013-08-234-64/+100
| | | | | | | | | | | | | | | | | | | Summary: Instead of digging through the ExplodedGraph, to figure out which edge brought us here, I compute the value of conditional expression by looking at the sub-expression values. To do this, I needed to change the liveness algorithm a bit -- now, the full conditional expression also depends on all atomic sub-expressions, not only the outermost ones. Reviewers: jordan_rose CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1340 llvm-svn: 189090
* arc commit didn't add this because it wasn't in the patch...David Majnemer2013-08-231-0/+3
| | | | llvm-svn: 189088
* Sema: Properly support Microsoft-mode template argumentsDavid Majnemer2013-08-233-99/+155
| | | | | | | | | | | | | | | | | | | | | | | | Summary: There were two things known to be wrong with our implementation of MSVC mode template arguments: - We didn't properly handle __uuidof/CXXUuidofExpr and skipped all type checking completely. - We didn't allow for MSVC's extension of allowing certain constant "foldable" expressions from showing up in template arguments. They allow various casts dereference and address-of operations. We can make it more general as we find further peculiarities but this is the known extent. Reviewers: rsmith, doug.gregor, rjmccall Reviewed By: doug.gregor CC: cfe-commits, rnk Differential Revision: http://llvm-reviews.chandlerc.com/D1444 llvm-svn: 189087
* Reword a diagnostic to avoid a confusing implication that it might be talkingRichard Smith2013-08-233-3/+4
| | | | | | about a declaration within a return type. llvm-svn: 189083
* Remove SequenceNumber from class/variable template partial specializations.Richard Smith2013-08-225-80/+24
| | | | | | | | This was only used to ensure that the traversal order was the same as the insertion order, but that guarantee was already being provided by the use of a FoldingSetVector. llvm-svn: 189075
* ObjectiveC migrator: builtin ObjectiveC types are notFariborz Jahanian2013-08-223-1/+15
| | | | | | audited types. llvm-svn: 189072
* ObjectiveC migrator: some refactoring to reduceFariborz Jahanian2013-08-221-38/+15
| | | | | | code size. llvm-svn: 189070
* Check for absence of the flag.Bill Wendling2013-08-221-1/+1
| | | | llvm-svn: 189069
* Only add this attribute when it's set. If it's not there, the assumption is ↵Bill Wendling2013-08-221-15/+2
| | | | | | that it's off. llvm-svn: 189064
* Update to consumed analysis.DeLesley Hutchins2013-08-226-85/+150
| | | | | | | | | | | Patch by chris.wailes@gmail.com. The following functionality was added: * The same functionality is now supported for both CXXOperatorCallExprs and CXXMemberCallExprs. * Factored out some code in StmtVisitor. * Removed variables from the state map when their destructors are encountered. * Started adding documentation for the consumed analysis attributes. llvm-svn: 189059
* DataFlowSanitizer: Add a design doc paragraph on checking ABI consistency.Peter Collingbourne2013-08-221-0/+13
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1443 llvm-svn: 189055
* Add a separate llvm.global_ctors entry for linkonce_odr data initializersReid Kleckner2013-08-223-2/+43
| | | | | | | | | | | | | | | Summary: These typically come from static data members of class template specializations. This accomplishes two things: 1. May expose GlobalOpt optimizations for Itanium C++ ABI code. 2. Works toward fixing double initialization in the Microsoft C++ ABI. CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1475 llvm-svn: 189051
* FileCheckify a grep test.Reid Kleckner2013-08-221-3/+5
| | | | llvm-svn: 189042
* ObjectiveC migrator: Provide ARC annotations forFariborz Jahanian2013-08-222-30/+172
| | | | | | CF methods too. llvm-svn: 189041
* Refactor VariantMatcher to use an interface underneath.Samuel Benzaquen2013-08-222-78/+135
| | | | | | | | | | | | | | Summary: Refactor VariantMatcher to use an interface underneath. It supports "Single" and "Polymorphic". Will support more in the future. Reviewers: klimek CC: cfe-commits, revane Differential Revision: http://llvm-reviews.chandlerc.com/D1446 llvm-svn: 189032
* Re-add clang-check to the Makefile build.Jordan Rose2013-08-221-0/+4
| | | | | | I was bound to screw this up somehow. llvm-svn: 189029
* Work around unused variable warning in release builds.Daniel Jasper2013-08-221-0/+1
| | | | llvm-svn: 189028
OpenPOWER on IntegriCloud