- Jun 07, 2013
-
-
Faisal Vali authored
llvm-svn: 183486
-
Richard Smith authored
places which weren't setting it up properly. This allows us to get the right cv-qualifiers for 'this' when it appears outside a method body in a class template. llvm-svn: 183483
-
Eli Friedman authored
invalid field; make sure we don't try. Fixes <rdar://problem/14084171>. llvm-svn: 183479
-
Adrian Prantl authored
llvm-svn: 183475
-
Adrian Prantl authored
the default names, not just when the isImplicit flag is set. rdar://problem/14035789 llvm-svn: 183474
-
Adrian Prantl authored
llvm-svn: 183473
-
Fariborz Jahanian authored
is evaluated in a condition expression and then dereferenced to envoke the block. This is pr15663 and I applied a slight variation of the patch with a test case. (patch is from Arthur O'Dwyer). Also // rdar://14085217 llvm-svn: 183471
-
Tim Northover authored
X86's 'y' inline assembly constraint represents an MMX register, this change prevents Clang from hitting an assertion when passed an incompatible type to deal with. llvm-svn: 183467
-
Eli Friedman authored
correctly aligned. Not performing such computations led to misaligned loads, which crash on some platforms and are generally bad on other platforms. The implementation of TypeLocBuilder::pushImpl is rather messy; code using TypeLocBuilder accidentally assumes that partial TypeLocs are laid out like a complete TypeLoc. As a followup, I intend to work on fixing the TypeLocBuilder API to avoid exposing partial TypeLocs; this should substantially simplify the implemementation. Fixes PR16144. llvm-svn: 183466
-
David Majnemer authored
Disallowing deriving from classes that have private virtual base classes except in instances where the deriving class would be able to cast itself to the private virtual base via a different derivation. llvm-svn: 183462
-
Anna Zaks authored
llvm-svn: 183455
-
Anna Zaks authored
The function in which we were doing it used to be conditionalized. Add a new unconditional cleanup step. This fixes PR16227 (radar://14073870) - a crash when generating html output for one of the test files. llvm-svn: 183451
-
Anna Zaks authored
llvm-svn: 183450
-
- Jun 06, 2013
-
-
Jordan Rose authored
Previously our edges were completely broken here; now, the final result is a very simple set of edges in most cases: one up to the "for" keyword for context, and one into the body of the loop. This matches the behavior for ObjC for-in loops. In the AST, however, CXXForRangeStmts are handled very differently from ObjCForCollectionStmts. Since they are specified in terms of equivalent statements in the C++ standard, we actually have implicit AST nodes for all of the semantic statements. This makes evaluation very easy, but diagnostic locations a bit trickier. Fortunately, the problem can be generally defined away by marking all of the implicit statements as part of the top-level for-range statement. One of the implicit statements in a for-range statement is the declaration of implicit iterators __begin and __end. The CFG synthesizes two separate DeclStmts to match each of these decls, but until now these synthetic DeclStmts weren't in the function's ParentMap. Now, the CFG keeps track of its synthetic statements, and the AnalysisDeclContext will make sure to add them to the ParentMap. <rdar://problem/14038483> llvm-svn: 183449
-
Argyrios Kyrtzidis authored
This avoids building libclang twice by default. llvm-svn: 183437
-
Daniel Jasper authored
Before, clang-format would happily move a trailing block comment to a new line, which normally changes the perceived binding of that comment. E.g., it would move: void f() { /* comment */ ... } to: void f() { /* comment */ ... } llvm-svn: 183420
-
Joey Gouly authored
constant. Also fix some spelling mistakes and formatting issues. Reviewed by Richard Smith over IRC. Fixes PR15069. llvm-svn: 183409
-
Hans Wennborg authored
llvm-svn: 183406
-
Benjamin Kramer authored
llvm-svn: 183404
-
Pavel Labath authored
Summary: This adds a command line argument '-analyze' to clang-check which runs the clang static analyzer on the source files. Reviewers: klimek CC: cfe-commits, revane Differential Revision: http://llvm-reviews.chandlerc.com/D926 llvm-svn: 183399
-
Pavel Labath authored
Summary: This patch creates a new ArgumentsAdjuster, which removes all -o parameters from the command line. This adjuster is inserted by default into the ClangTool pipeline. Reviewers: klimek CC: cfe-commits, revane Differential Revision: http://llvm-reviews.chandlerc.com/D925 llvm-svn: 183398
-
Richard Smith authored
just copy-list-initialization in a variable declaration. This effectively reverts r142147. llvm-svn: 183397
-
Hans Wennborg authored
This became allowed by accident in r131201, but triggers an assert. That patch added an exception to allow conversion from pointers to narrow integral types for MSVC compatibility. However, a pointer can already be converted to bool in a civilized manner; allowing conversion via reinterpret_cast is a bad idea. Fixes PR16222. llvm-svn: 183394
-
Daniel Jasper authored
The leading "}" in the construct "} else if (..) {" was confusing the expression parser. Thus, no fake parentheses were generated and the indentation was broken in some cases. llvm-svn: 183393
-
Daniel Jasper authored
Before: return (my_int) aaaa; template <> void f<int>(int i)SOME_ANNOTATION; f("aaaa" SOME_MACRO(aaaa)"aaaa"); After: return (my_int)aaaa; template <> void f<int>(int i) SOME_ANNOTATION; f("aaaa" SOME_MACRO(aaaa) "aaaa"); llvm-svn: 183389
-
Richard Smith authored
must be initialized by a constant expression (not just a core constant expression), because we're going to emit it as a global. Core issue for this is pending. llvm-svn: 183388
-
Richard Trieu authored
llvm-svn: 183372
-
Jordan Rose authored
We based decisions during analysis and during path generation on whether or not an expression is consumed, so if a top-level expression has cleanups it's important for us to look through that. <rdar://problem/14076125> llvm-svn: 183368
-
Jordan Rose authored
You can now dump a single PathDiagnosticPiece or PathDiagnosticLocation. llvm-svn: 183367
-
NAKAMURA Takumi authored
clang/unittests/Format/FormatTest.cpp: Suppress utf8 literals with _MSC_VER. MS cl.exe is unaware of BOM-less utf8 source files. FIXME: Encode Cyrillic and CJK characters below to appease MS compilers. llvm-svn: 183366
-
Anna Zaks authored
When processing ArrayToPointerDecay, we expect the array to be a location, not a LazyCompoundVal. Special case the rvalue arrays by using a location to represent them. This case is handled similarly elsewhere in the code. Fixes PR16206. llvm-svn: 183359
-
Jordan Rose authored
We previously asserted that there was a top-level function entry edge, but if the function decl's location is invalid (or within a macro) this edge might not exist. Change the assertion to an actual check, and don't drop the first path piece if it doesn't match. <rdar://problem/14070304> llvm-svn: 183358
-
Jordan Rose authored
The edge optimizer needs to see edges for, say, implicit casts (which have the same source location as their operand) to uniformly simplify the entire path. However, we still don't want to produce edges from a statement to /itself/, which could occur when two nodes in a row have the same statement location. This necessitated moving the check for redundant notes to after edge optimization, since the check relies on notes being adjacent in the path. <rdar://problem/14061675> llvm-svn: 183357
-
Eric Christopher authored
integrated assembler then go ahead and still split the dwarf anyhow. Add two tests, one to exercise existing behavior of not splitting when we're just emitting assembly files and the other to test that we split when we're not in integrated as mode. llvm-svn: 183355
-
- Jun 05, 2013
-
-
Fariborz Jahanian authored
for -Wundeclared-selector warnings. // rdar://14039037 llvm-svn: 183331
-
David Blaikie authored
There seems to have been some erroneous code attempting to describe the ABI of parameters (non-trivial record parameters are passed by reference). This would break the type of the function (especially when it caused a mismatch between the type of a declaration & a definition) causing PR14763 and PR14645. llvm-svn: 183329
-
Argyrios Kyrtzidis authored
When the template specialization header is missing, set a valid source location for the template keyword when recovering. Otherwise ClassTemplateSpecializationDecl::getSourceRange() will mistakenly consider itself as an implicit partial specialization and lead to a crash. Fixes rdar://14063074 llvm-svn: 183325
-
Peter Collingbourne authored
This is so that we can give destructor variants different linkage later. Differential Revision: http://llvm-reviews.chandlerc.com/D819 llvm-svn: 183324
-
Pavel Labath authored
Summary: This adds two command-line parameters: -extra-arg and -extra-arg-before, which enable the user to pass additional parameters to the compiler command. Reviewers: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D919 llvm-svn: 183320
-
Reid Kleckner authored
Also addresses a review comment from John from on r180985 by removing the "== -1" check, since it's now reusing the correct code which has the comment. llvm-svn: 183318
-