| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 152579
|
| |
|
|
|
|
|
|
| |
The LIBRARY_PATH environment variable should be honored by clang. Have the
driver pass the directories to the linker.
<rdar://problem/9743567> and PR10296.
llvm-svn: 152578
|
| |
|
|
|
|
|
|
|
| |
functions that includes an explicit template argument list, perform
an inner deduction against each of the function templates in that list
and, if successful, use the result of that deduction for the outer
template argument deduction. Fixes PR11713.
llvm-svn: 152575
|
| |
|
|
|
|
| |
lvalues. Regression from r152491. Fixes PR12248.
llvm-svn: 152573
|
| |
|
|
|
|
|
|
|
|
|
| |
serialized
-Don't add methods of invalid objc containers to the global method pool.
This protects us from trying to serialize a method whose container was not
serialized.
Part of rdar://11007039.
llvm-svn: 152566
|
| |
|
|
|
|
| |
(true/false). They are NOT objects.
llvm-svn: 152564
|
| |
|
|
|
|
| |
will reside in .objc_ivar$B sections. // rdar://11023490
llvm-svn: 152563
|
| |
|
|
| |
llvm-svn: 152559
|
| |
|
|
| |
llvm-svn: 152552
|
| |
|
|
|
|
|
|
| |
being defined here: [] () -> struct S {} does not define struct S.
In passing, implement DR1318 (syntactic disambiguation of 'final').
llvm-svn: 152551
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
defined here, but not semantically, so
new struct S {};
is always ill-formed, even if there is a struct S in scope.
We also had a couple of bugs in ParseOptionalTypeSpecifier caused by it being
under-loved (due to it only being used in a few places) so merge it into
ParseDeclarationSpecifiers with a new DeclSpecContext. To avoid regressing, this
required improving ParseDeclarationSpecifiers' diagnostics in some cases. This
also required teaching ParseSpecifierQualifierList about constexpr... which
incidentally fixes an issue where we'd allow the constexpr specifier in other
bad places.
llvm-svn: 152549
|
| |
|
|
| |
llvm-svn: 152547
|
| |
|
|
|
|
|
| |
statically writter metadata.
// rdar://11023490
llvm-svn: 152546
|
| |
|
|
|
|
|
|
|
|
| |
(Lex to AST).
The member variable is always "LangOpts" and the member function is always "getLangOpts".
Reviewed by Chris Lattner
llvm-svn: 152536
|
| |
|
|
|
|
|
| |
Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default.
Added some notes relative to case iterators.
llvm-svn: 152533
|
| |
|
|
| |
llvm-svn: 152531
|
| |
|
|
|
|
|
|
| |
structural comparison of non-dependent types. Otherwise, we end up
rejecting cases where the non-dependent types don't match due to
qualifiers in, e.g., a pointee type. Fixes PR12132.
llvm-svn: 152529
|
| |
|
|
| |
llvm-svn: 152526
|
| |
|
|
| |
llvm-svn: 152521
|
| |
|
|
|
|
|
|
| |
access expression is the start of a template-id, ignore function
templates found in the context of the entire postfix-expression. Fixes
PR11856.
llvm-svn: 152520
|
| |
|
|
|
|
|
| |
Test case/other help by Richard Smith.
Code review by John McCall.
llvm-svn: 152519
|
| |
|
|
|
|
| |
This allows people's cross-platform compiler-specific macros to work properly.
llvm-svn: 152512
|
| |
|
|
|
|
| |
does not imply that such functions can't be declared at block scope.
llvm-svn: 152509
|
| |
|
|
|
|
| |
change.
llvm-svn: 152504
|
| |
|
|
| |
llvm-svn: 152503
|
| |
|
|
|
|
| |
declaration of class metadata when they are defined later.
llvm-svn: 152500
|
| |
|
|
|
|
| |
// rdar://11024543
llvm-svn: 152496
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 152494
|
| |
|
|
| |
llvm-svn: 152493
|
| |
|
|
|
|
|
|
| |
track whether the referenced declaration comes from an enclosing
local context. I'm amenable to suggestions about the exact meaning
of this bit.
llvm-svn: 152491
|
| |
|
|
|
|
|
|
| |
enum is scoped or not, which is not relevant here. Instead, phrase the loop in
the same terms that the standard uses, instead of this awkward set of
conditions that is *nearly* equal.
llvm-svn: 152489
|
| |
|
|
|
|
|
| |
please annotate it with a note explaining why this wrong-seeming behaviour is
correct.
llvm-svn: 152488
|
| |
|
|
|
|
| |
doing a copy. Fixes PR12139.
llvm-svn: 152485
|
| |
|
|
|
|
|
|
| |
should not impede creating a proper TypeLoc info for the decl-spec.
This improves our semantic error recovery.
llvm-svn: 152481
|
| |
|
|
|
|
|
|
| |
we correctly emit loads of BlockDeclRefExprs even when they
don't qualify as ODR-uses. I think I'm adequately convinced
that BlockDeclRefExpr can die.
llvm-svn: 152479
|
| |
|
|
| |
llvm-svn: 152478
|
| |
|
|
| |
llvm-svn: 152475
|
| |
|
|
|
|
| |
constructors. Fixes PR12219.
llvm-svn: 152470
|
| |
|
|
| |
llvm-svn: 152469
|
| |
|
|
|
|
|
|
|
|
|
| |
doesn't understand. We registered
as aborted, but didn't treat such cases as sinks in the ExplodedGraph.
Along the way, add basic support for CXXCatchStmt, expanding the set of code we actually analyze (hopefully correctly).
Fixes: <rdar://problem/10892489>
llvm-svn: 152468
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- We do this when it is easy to determine that the backend will pass them on
the stack properly by itself.
Currently LLVM codegen is really bad in some cases with byval, for example, on
the test case here (which is derived from Sema code, which likes to pass
SourceLocations around)::
struct s47 { unsigned a; };
void f47(int,int,int,int,int,int,struct s47);
void test47(int a, struct s47 b) { f47(a, a, a, a, a, a, b); }
we used to emit code like this::
...
movl %esi, -8(%rbp)
movl -8(%rbp), %ecx
movl %ecx, (%rsp)
...
to handle moving the struct onto the stack, which is just appalling.
Now we generate::
movl %esi, (%rsp)
which seems better, no?
llvm-svn: 152462
|
| |
|
|
| |
llvm-svn: 152461
|
| |
|
|
|
|
| |
// rdar://11023563
llvm-svn: 152459
|
| |
|
|
|
|
| |
innermost type. Fixes PR12142.
llvm-svn: 152456
|
| |
|
|
|
|
|
|
| |
copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on
403.gcc/combine.c. The performance differences on my constexpr torture tests
are below the noise floor.
llvm-svn: 152455
|
| |
|
|
|
|
| |
ivars in the modern rewriter.
llvm-svn: 152451
|
| |
|
|
|
|
| |
annotations. Fixes <rdar://problem/10824732>.
llvm-svn: 152448
|
| |
|
|
|
|
|
|
|
|
| |
basic source character set in C++98. Add -Wc++98-compat diagnostics for same in
literals in C++11. Extend such support to cover string literals as well as
character literals, and mark N2170 as done.
This seems too minor to warrant a release note to me. Let me know if you disagree.
llvm-svn: 152444
|
| |
|
|
|
|
| |
actually happened.
llvm-svn: 152442
|
| |
|
|
| |
llvm-svn: 152441
|