]>
granicus.if.org Git - clang/log
Ben Langmuir [Mon, 21 Apr 2014 19:49:57 +0000 (19:49 +0000)]
Allow submodule inferrences with a missing umbrella when the module is unavailable
If the module is unavailable because of a missing header, don't diagnose
a "module * {}" declaration for having a missing umbrella.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206776
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 21 Apr 2014 14:13:22 +0000 (14:13 +0000)]
Handle possible trailing '/' in xcode-select output. Patch by Jeff Olson.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206752
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Mon, 21 Apr 2014 07:28:16 +0000 (07:28 +0000)]
Initialize clang::Module::IsMissingRequirement. Fix msan issue and hopefully some builder failures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206736
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 21 Apr 2014 01:23:39 +0000 (01:23 +0000)]
ARM64: Do not expand variadic HFA/HVA arguments with the Darwin ABI.
Unlike the standard AAPCS64 ABI, variadic arguments are always passed on the
stack with the Darwin ABI, and this was not being considered when deciding
whether to expand HFA/HVA arguments in a call. An HFA argument with a "float"
base type was being expanded into separate "float" arguments, each of which
was then extended to a double, resulting in a serious mismatch from what is
expected by the va_arg implementation. <rdar://problem/
15777067 >
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206729
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 21 Apr 2014 01:23:36 +0000 (01:23 +0000)]
Fix a comment typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206728
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Sun, 20 Apr 2014 01:07:03 +0000 (01:07 +0000)]
cindex.py: Avoid deprecated function
Implement Diagnostic::category_name() using clang_getDiagnosticCategoryText()
instead of the deprected clang_getDiagnosticCategoryName().
Preserves existing behaviour and API covered by existing tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206712
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Sat, 19 Apr 2014 23:55:49 +0000 (23:55 +0000)]
Remove some empty statements
Cleanup only.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206709
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Sat, 19 Apr 2014 21:40:58 +0000 (21:40 +0000)]
Fix and restore the macro-multiline.c test
This test didn't work as intended and was ultimately disabled some years ago in
r169458.
Indeed it's not clear if the '\n' was ever passed through to the driver
correctly given that lit would insert '&& {' at the newline.
Test rewritten to use printf/xargs to insert '\n' in a more reliable manner and
to use FileCheck for verification.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206703
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Sat, 19 Apr 2014 19:07:31 +0000 (19:07 +0000)]
Disallow driver use in more Sema tests
There are now only a handful of Sema tests remaining that use %clang in
SemaCXX, SemaObjC and SemaTemplate.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206688
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Sat, 19 Apr 2014 19:07:24 +0000 (19:07 +0000)]
Move ObjC Cocoa.h header test to Headers
This tests for broad compatibility with platform SDK headers using the clang
driver and so belongs alongside the other header ingtegration tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206687
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alp Toker [Sat, 19 Apr 2014 19:07:19 +0000 (19:07 +0000)]
Re-enable the C++11 modules integration test on OS X
XCode 5.1.1 has shipped with fixed SDK headers.
This reverts commit r200256.
Fixes PR18322.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206686
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 19 Apr 2014 16:49:22 +0000 (16:49 +0000)]
clang/test/Index/pch-with-errors.c: Remove XFAIL added in r206294. It has been fixed since r206644.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206685
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 19 Apr 2014 04:28:00 +0000 (04:28 +0000)]
Speculative fix for buildbot failure. Apparently Clang 3.1 got move semantics wrong.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206682
91177308 -0d34-0410-b5e6-
96231b3b80d8
DeLesley Hutchins [Sat, 19 Apr 2014 03:54:41 +0000 (03:54 +0000)]
Thread Safety Analysis: Convert to minimal SSA.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206681
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 19 Apr 2014 03:48:30 +0000 (03:48 +0000)]
When a module completes the definition of a class template specialization imported from another module, emit an update record, rather than using the broken decl rewriting mechanism. If multiple modules do this, merge the definitions together, much as we would if they were separate declarations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206680
91177308 -0d34-0410-b5e6-
96231b3b80d8
DeLesley Hutchins [Sat, 19 Apr 2014 00:35:54 +0000 (00:35 +0000)]
Thread Safety Analysis: Update SSA pass to handle loops.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206676
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ben Langmuir [Fri, 18 Apr 2014 23:51:00 +0000 (23:51 +0000)]
Fix a hole with nested unavailable submodules from r206664
If a module doesn't meet a requirement, neither do its submodules. If we
don't propogate that, we might think it's an error to be missing a
header in one of those submodules.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206673
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Fri, 18 Apr 2014 22:31:07 +0000 (22:31 +0000)]
CodeGen: Remove an unused include
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206667
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ben Langmuir [Fri, 18 Apr 2014 22:07:31 +0000 (22:07 +0000)]
Don't build modules with (submodules with) missing headers
Unless they are in submodules that aren't available anyway, due to
requirements not being met. Also, mark children as unavailable when the
parent is.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206664
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Fri, 18 Apr 2014 21:55:49 +0000 (21:55 +0000)]
Fix sphinx-build warnings in clang docs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206661
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Fri, 18 Apr 2014 21:55:46 +0000 (21:55 +0000)]
Add support for building Sphinx documentation when being inside LLVM source tree and using CMake
Patch by Daniel Liew <daniel.liew@imperial.ac.uk>!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206660
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Fri, 18 Apr 2014 21:52:00 +0000 (21:52 +0000)]
CodeGen: Use LLVM's InstrProfReader in -fprofile-instr-use=
Update clang to use the InstrProfReader from LLVM to read
instrumentation based profile data. This also switches us from the
naive text format to the binary format, since that's what's
implemented in the reader.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206658
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Fri, 18 Apr 2014 21:51:09 +0000 (21:51 +0000)]
[Cleanup] Remove a trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206657
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ben Langmuir [Fri, 18 Apr 2014 20:39:48 +0000 (20:39 +0000)]
Don't read CompilerInstance fields that don't exist in ASTUnit
When transferring data from a CompilerInstance in an error path we need
to consider cases where the various fields are uninitialized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206644
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Fri, 18 Apr 2014 20:27:24 +0000 (20:27 +0000)]
Teach users of OnDiskHashTable to define hash_value and offset types
This paves the way to making OnDiskHashTable work with hashes that are
not 32 bits wide and to making OnDiskHashTable work very large hash
tables. The LLVM change to use these types is upcoming.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206640
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Fri, 18 Apr 2014 19:57:06 +0000 (19:57 +0000)]
Remove OnDiskHashTable.h, since it's been moved to llvm
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206637
91177308 -0d34-0410-b5e6-
96231b3b80d8
Timur Iskhodzhanov [Fri, 18 Apr 2014 15:10:05 +0000 (15:10 +0000)]
Split out the no-thunk multiple inheritance tests
Also, intentionally duplicate base class definitions per test, so it's easier to copy tests while debugging failures
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206614
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Fri, 18 Apr 2014 14:36:51 +0000 (14:36 +0000)]
Add more constness to module-related APIs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206595
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Fri, 18 Apr 2014 13:46:08 +0000 (13:46 +0000)]
ARM64: make sure the caller is expected to extend in AAPCS.
This is one of those DarwinPCS differences. It'd been caught in
arguments, but not return values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206594
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Fri, 18 Apr 2014 13:13:15 +0000 (13:13 +0000)]
Updating to use more range-based for loops, nullptr and auto. No functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206590
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Fri, 18 Apr 2014 10:47:44 +0000 (10:47 +0000)]
ARM64: make sure HFAs on the stack get properly aligned.
Another AAPCS bug, part of PR19432.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206580
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Fri, 18 Apr 2014 01:21:55 +0000 (01:21 +0000)]
Fix a -Wmicrosoft warning on an unrepresentable enum
0x80000000 isn't representable as an int, which is the default enum
type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206545
91177308 -0d34-0410-b5e6-
96231b3b80d8
Duncan P. N. Exon Smith [Fri, 18 Apr 2014 01:05:25 +0000 (01:05 +0000)]
BackendUtil: Pass through -mdisable-tail-calls
The frontend option -fno-optimize-sibling-calls resolves to -cc1's
-mdisable-tail-calls, which is passed to the TargetMachine in the
backend. PassManagerBuilder was adding the -tailcallelim pass anyway.
Use a new DisableTailCalls option in PassManagerBuilder to disable tail
calls harder.
Requires the matching commit in LLVM that adds DisableTailCalls.
<rdar://problem/
16050591 >
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206543
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Thu, 17 Apr 2014 22:49:06 +0000 (22:49 +0000)]
test: Use llvm-profdata merge in Profile tests
In preparation for using a binary format for instrumentation based
profiling, explicitly treat the test inputs as text and transform them
before running. This will allow us to leave the checked in files in
human readable format once the instrumentation format is binary.
No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206509
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Thu, 17 Apr 2014 22:47:52 +0000 (22:47 +0000)]
MS ABI: Don't append to vbtables that we shouldn't extend
This was probably a benign bug, since nobody would look at the vbtable
slots that we were filling in.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206508
91177308 -0d34-0410-b5e6-
96231b3b80d8
Timur Iskhodzhanov [Thu, 17 Apr 2014 22:01:48 +0000 (22:01 +0000)]
Follow-up to r206457 -- fix static adjustments for some subtle virtual inheritance cases
Reviewed at http://reviews.llvm.org/D3410
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206504
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Thu, 17 Apr 2014 21:44:08 +0000 (21:44 +0000)]
Making some public members into private members. This also introduces a bit more const-correctness, and now uses some range-based for loops. No functional changes intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206503
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 17 Apr 2014 20:39:09 +0000 (20:39 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206494
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 17 Apr 2014 20:33:01 +0000 (20:33 +0000)]
Add missing serialization code for one of the CXXRecordDecl definition flags.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206493
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Thu, 17 Apr 2014 20:08:36 +0000 (20:08 +0000)]
Nitpicky refactoring -- use of nullptr and auto, made a bit more const-correct. No functional changes intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206491
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Thu, 17 Apr 2014 18:17:36 +0000 (18:17 +0000)]
Revised per Dmitri's comments. My first exposure to range-based for loops, thanks!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206483
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nico Weber [Thu, 17 Apr 2014 17:51:57 +0000 (17:51 +0000)]
clang-format.py: Don't omit the first two words from error messages.
This reverts r172072. clang-format used to use DiagnosticEngine to output
errors: http://llvm.org/viewvc/llvm-project?view=revision&revision=172071. Now
it doesn't, so this code is obsolete.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206479
91177308 -0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Thu, 17 Apr 2014 17:45:37 +0000 (17:45 +0000)]
Bug 18567: Fix constantexpr pointer casts with address spaces.
Getting a pointer into a struct at a non-zero offset would try to
use the default address space.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206478
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Thu, 17 Apr 2014 17:06:13 +0000 (17:06 +0000)]
Revised per Dmitri's comments. My first exposure to range-based for loops, thanks!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206474
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Kornienko [Thu, 17 Apr 2014 16:12:46 +0000 (16:12 +0000)]
Fix alignment of trailing block comments.
Summary:
This patch ensures that the lines of the block comments retain relative
column offsets. In order to do this WhitespaceManager::Changes representing
continuation of block comments keep a pointer on the change representing the
whitespace change before the block comment, and a relative column offset to this
change, so that the correct column can be reconstructed at the end of alignment
process.
Fixes http://llvm.org/PR19325
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://reviews.llvm.org/D3408
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206472
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Thu, 17 Apr 2014 15:23:50 +0000 (15:23 +0000)]
Since the object is new'ed in the enterCFG function, now deleting in the exitCFG function instead of the destructor to ensure proper pairing. This allows reuse of the builder without creating a memory leak.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206471
91177308 -0d34-0410-b5e6-
96231b3b80d8
Keith Walker [Thu, 17 Apr 2014 13:04:53 +0000 (13:04 +0000)]
Fix Profile:cxx-lambda.cpp test for targets that do not generate zeroext
Change an expected match to allow for the fact that some targets
may not generated the zeroext operation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206467
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Thu, 17 Apr 2014 12:51:42 +0000 (12:51 +0000)]
[ARM64] Fix __clear_cache - ensure it is predefined.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206465
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Thu, 17 Apr 2014 12:51:36 +0000 (12:51 +0000)]
[ARM64] Add ARM64 RUN lines to a bunch of tests that had AARCH64 RUN lines.
This covers all tests in tests/Driver and tests/Preprocessor, but there are some
failing tests in test/Sema that need looking into.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206464
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Thu, 17 Apr 2014 12:51:28 +0000 (12:51 +0000)]
[ARM64] Teach Targets.cpp about Cortex-A53 and Cortex-A57, and enable more tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206463
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Thu, 17 Apr 2014 12:51:23 +0000 (12:51 +0000)]
[ARM64] Plumb in big-endian - add arm64_be to the many switches where it was missing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206462
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Thu, 17 Apr 2014 12:51:17 +0000 (12:51 +0000)]
[ARM64] Default to the 'generic' CPU, unless -arch is present for backwards compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206461
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Thu, 17 Apr 2014 12:50:54 +0000 (12:50 +0000)]
Preventing future MSVC 2012 surprises with SimpleArray by giving it an explicit move assignment operator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206460
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Thu, 17 Apr 2014 11:32:02 +0000 (11:32 +0000)]
clang-format: Respect BinPackParameters in Cpp11BracedListStyle.
With BinPackParameters=false and Cpp11BracedListStyle=true (i.e. mostly
for Chromium):
Before:
const Aaaaaa aaaaa = {aaaaa, bbbbb, ccccc, ddddd, eeeee, ffffff,
ggggg, hhhhhh, iiiiii, jjjjjj, kkkkkk};
After:
const Aaaaaa aaaaa = {aaaaa,
bbbbb,
ccccc,
ddddd,
eeeee,
ffffff,
ggggg,
hhhhhh,
iiiiii,
jjjjjj,
kkkkkk};
This fixes llvm.org/PR19359. I am not sure we'll want this in all cases
in the long run, but I'll guess we'll get feedback on that.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206458
91177308 -0d34-0410-b5e6-
96231b3b80d8
Timur Iskhodzhanov [Thu, 17 Apr 2014 11:01:41 +0000 (11:01 +0000)]
Fix PR19408 - Missing static this adjustment in a vtordisp thunk
Also fix a few other vtordisp-related bugs.
Reviewed at http://reviews.llvm.org/D3400
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206457
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Thu, 17 Apr 2014 10:20:38 +0000 (10:20 +0000)]
ARM64: remove holes from *all* HFAs on the stack.
My first attempt to make sure HFAs were contiguous was in the block dealing
with padding registers, which meant it only triggered on the first stack-based
HFA. This should extend it to the rest as well.
Another part of PR19432.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206456
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 17 Apr 2014 08:57:09 +0000 (08:57 +0000)]
SemaTemplate.cpp: Rework r206451. Removing an argument was really bad idea.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206452
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 17 Apr 2014 08:42:31 +0000 (08:42 +0000)]
SemaTemplate.cpp: Appease msvc to get rid of default argument in lambda definition.
clang\lib\Sema\SemaTemplate.cpp(1826) : error C2064: term does not evaluate to a function taking 1 arguments
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206451
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 17 Apr 2014 03:52:20 +0000 (03:52 +0000)]
PR19340: If we see a declaration of a member of an unspecialized class template
that looks like it might be an explicit specialization, don't recover as an
explicit specialization (bypassing the check that would reject that).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206444
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ben Langmuir [Thu, 17 Apr 2014 03:31:02 +0000 (03:31 +0000)]
When writing YAML in libclang, use yaml::escape instead of write_escaped
The YAMLParser has its own escaped string representation, and does not
handle octal escape sequences. When writing the virtual file system to a
YAML file, use yaml::escape().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206443
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 17 Apr 2014 03:29:33 +0000 (03:29 +0000)]
Refactor all the checking for missing 'template<>'s when a declaration has a
template-id after its scope specifier into a single place.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206442
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 17 Apr 2014 02:56:49 +0000 (02:56 +0000)]
Don't emit an ExtWarn on declarations of variable template specializations;
we'll already have issued the relevant diagnostic when we saw the declaration
of the primary template.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206441
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 17 Apr 2014 02:32:52 +0000 (02:32 +0000)]
[Parser] Remove "add -fmodules" from the "use of '@import' when modules are disabled, add -fmodules" error.
We disable modules for C++, at which point this is confusing.
rdar://
16641918
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206440
91177308 -0d34-0410-b5e6-
96231b3b80d8
Yunzhong Gao [Thu, 17 Apr 2014 02:26:26 +0000 (02:26 +0000)]
Adding type info for f16c floating-point type. This is consistent with the
Itanium ABI in 2.9.2 Place of Emission.
Differential Revision: http://reviews.llvm.org/D2750
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206439
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 17 Apr 2014 01:52:14 +0000 (01:52 +0000)]
Implement [over.match.oper]p3 properly, by filtering the non-candidates out
when building the candidate set, rather than trying to contort name lookup into
handling this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206436
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 17 Apr 2014 01:12:17 +0000 (01:12 +0000)]
PR19452: Implement more of [over.match.oper]p3's restrictions on which non-member overloaded operators can be found when no operand is of class type. We used to fail to implement this rule if there was an operand of dependent type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206435
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Thu, 17 Apr 2014 01:04:01 +0000 (01:04 +0000)]
Further simplify r206430.
rdar://problem/
16636569 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206434
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ben Langmuir [Thu, 17 Apr 2014 00:52:48 +0000 (00:52 +0000)]
Rename lib/Headers/module.map to module.modulemap
Don't install a file using the legacy spelling.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206431
91177308 -0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Thu, 17 Apr 2014 00:30:48 +0000 (00:30 +0000)]
Debug info: When collecting the parameters of C++ partial template
specializations collect all arguments and not just the ones from the
class template partial specialization from which this class template
specialization was instantiated. The debug info does not represent the
partial specialization otherwise and so specialized parameters would
go missing.
rdar://problem/
16636569 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206430
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 16 Apr 2014 21:32:23 +0000 (21:32 +0000)]
Attempting to unbreak the MSVC 2012 build a second time.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206420
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Wed, 16 Apr 2014 21:03:41 +0000 (21:03 +0000)]
Added dump method for global module index.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206418
91177308 -0d34-0410-b5e6-
96231b3b80d8
Joerg Sonnenberger [Wed, 16 Apr 2014 20:44:17 +0000 (20:44 +0000)]
Handle -m32 for NetBSD/sparc64 correctly. Extend test case to also check
ARM, MIPS and i386 ABIs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206416
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 16 Apr 2014 20:10:16 +0000 (20:10 +0000)]
Revert "Move -fms-extensions predefined macros into InitPreprocessor"
This reverts commit r206413.
This was proposed before, but it's not clear if this is really a good
idea:
http://reviews.llvm.org/D3034
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206415
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 16 Apr 2014 19:59:42 +0000 (19:59 +0000)]
Attempting to unbreak the MSVC 2012 build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206414
91177308 -0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Wed, 16 Apr 2014 19:47:06 +0000 (19:47 +0000)]
Move -fms-extensions predefined macros into InitPreprocessor
If someone on Linux asks for -fms-extensions, there's no reason not to
define the feature test macros that MSVC defines.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206413
91177308 -0d34-0410-b5e6-
96231b3b80d8
Diego Novillo [Wed, 16 Apr 2014 19:02:35 +0000 (19:02 +0000)]
Fix check failure on hexagon targets.
This test was failing because there is no assembler for hexagon-elf on
this buildbot:
http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/10470
Fixed by adding -S to the driver invocation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206412
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 16 Apr 2014 18:45:32 +0000 (18:45 +0000)]
Fix indentation, NFC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206411
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 16 Apr 2014 18:32:51 +0000 (18:32 +0000)]
[objc] -[NSObject init] is documented to not do anything, don't warn if subclasses do not call [super init] on their initializers.
Part of rdar://
16568441
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206410
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 16 Apr 2014 18:32:42 +0000 (18:32 +0000)]
[objc] Consider new initializers inside @implementation when determining if the class
introduces new initializers.
Part of rdar://
16568441
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206409
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 16 Apr 2014 17:44:02 +0000 (17:44 +0000)]
More minor refactoring. Updated for const-correctness, moved another deleted function to be private, 0 -> nullptr and some style corrections. No functional changes intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206406
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 16 Apr 2014 17:20:26 +0000 (17:20 +0000)]
Minor cleanups for deleted functions to ensure they're a bit more robustly "deleted".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206404
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 16 Apr 2014 17:03:06 +0000 (17:03 +0000)]
Objective-C rewriter. Use _WIN64 instead of __LLP64__
to conditinalize on 64bit length in a generated meta-data.
// rdar://
16489050
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206402
91177308 -0d34-0410-b5e6-
96231b3b80d8
Diego Novillo [Wed, 16 Apr 2014 16:54:24 +0000 (16:54 +0000)]
Add support for optimization reports.
Summary:
This patch adds a new flag -Rpass=. The flag indicates the name
of the optimization pass that should emit remarks stating when it
made a transformation to the code.
This implements the design I proposed in:
https://docs.google.com/document/d/1FYUatSjZZO-zmFBxjOiuOzAy9mhHA8hqdvklZv68WuQ/edit?usp=sharing
Other changes:
- Add DiagnosticIDs::isRemark(). Use it in printDiagnosticOptions to
print "-R" instead of "-W" in the diagnostic message.
- In BackendConsumer::OptimizationRemarkHandler, get a SourceLocation
object out of the file name, line and column number. Use that location
in the call to Diags.Report().
- When -Rpass is used without debug info a note is emitted alerting
the user that they need to use -gline-tables-only -gcolumn-info to
get this information.
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D3226
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206401
91177308 -0d34-0410-b5e6-
96231b3b80d8
Duncan P. N. Exon Smith [Wed, 16 Apr 2014 16:03:27 +0000 (16:03 +0000)]
InstrProf: Calculate a better function hash
The function hash should change when control flow changes. This patch
hashes the type of each AST node that affects counters, rather than just
counting how many there are. These types are combined into a small
enumerator that currently has 16 values.
The new hash algorithm packs the enums for consecutively visited types
into a `uint64_t`. In order to save space for new types, the types are
assumed to be 6-bit values (instead of 4-bit). In order to minimize
overhead for functions with little control flow, the `uint64_t` is used
directly as a hash if it never fills up; if it does, it's passed through
an MD5 context.
<rdar://problem/
16435801 >
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206397
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Wed, 16 Apr 2014 15:33:56 +0000 (15:33 +0000)]
[ARM64] Plumb in the -mfpu= flag.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206395
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Wed, 16 Apr 2014 15:33:48 +0000 (15:33 +0000)]
[ARM64] Allow the disabling of NEON and crypto instructions. Update tests to pass -target-feature +neon.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206394
91177308 -0d34-0410-b5e6-
96231b3b80d8
James Molloy [Wed, 16 Apr 2014 15:06:20 +0000 (15:06 +0000)]
[ARM64] Fix up predefines, including adding big endian support to Targets.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 16 Apr 2014 13:16:19 +0000 (13:16 +0000)]
Minor formatting cleanups -- no functional changes intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206386
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 16 Apr 2014 12:26:54 +0000 (12:26 +0000)]
clang-format: Add special case to reduce indentaiton in streams.
This is similar to how we treat assignments and seems to be generally
desirable.
Before:
llvm::errs() <<
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (
aaaaaaaaaaaaaaaaaaaaaaaaaaaa ,
aaaaaaaaaaaaaaaaaaaaaaaaaaaa );
After:
llvm::errs() <<
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (
aaaaaaaaaaaaaaaaaaaaaaaaaaaa ,
aaaaaaaaaaaaaaaaaaaaaaaaaaaa );
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206384
91177308 -0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Wed, 16 Apr 2014 11:09:33 +0000 (11:09 +0000)]
Adding a move constructor (due to CopyOnWriteVector requiring move-only semantics) to appease MSVC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206374
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Wed, 16 Apr 2014 11:04:33 +0000 (11:04 +0000)]
Hopefully avoid a warning on some GCCs (but not all strangely,
preventing me from seeing it initially). GCC doesn't use the unused
attribute on members for anything, so while it works to suppress Clang's
warning for an unused private member, it adds a GCC warning for the
attribute. =/ Silence Clang's warning with a void cast in the
constructor instead which doesn't trigger any complaints from GCC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206373
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Sandiford [Wed, 16 Apr 2014 08:47:51 +0000 (08:47 +0000)]
Sema: Factor out argument range checks for builtin functions
No behavioural change intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206364
91177308 -0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Wed, 16 Apr 2014 08:06:33 +0000 (08:06 +0000)]
Re-enable several builtins in non-gnu modes.
This is a partial revert of 183015.
By not recognizing things like _setjmp we lose (returns_twice) attribute on
them, which leads to incorrect code generation.
Fixes PR16138.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206362
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 16 Apr 2014 07:26:09 +0000 (07:26 +0000)]
-Wunreachable-code: refine recognition of unreachable "sigil" to cope with implicit casts in C++.
Fixes <rdar://problem/
16631033 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206360
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Wed, 16 Apr 2014 02:56:48 +0000 (02:56 +0000)]
Lex: Fix __has_feature(cxx_exceptions) for objective C++
At one point, -fexceptions was a synonym for -fcxx-exceptions. While
the driver options still enables cxx-exceptions by default, the cc1
flag is purely about exception tables and this doesn't account for
objective C exceptions. Because of this, checking for the
cxx_exceptions feature in objective C++ often gives the wrong answer.
The cxx_exceptions feature should be based on the -fcxx-exceptions cc1
flag, not -fexceptions. Furthermore, at some point the tests were
changed to use cc1 even though they were testing the driver behaviour.
We're better off testing both the driver and cc1 here.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206352
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 16 Apr 2014 01:22:22 +0000 (01:22 +0000)]
threadSafety::SExprBuilder::BlockInfo: Non-static member initializer is unavailable. Use default constructor instead.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206347
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 16 Apr 2014 01:22:07 +0000 (01:22 +0000)]
Reformat.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206346
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 16 Apr 2014 01:21:53 +0000 (01:21 +0000)]
threadSafety::CopyOnWriteVector: Use LLVM_DELETED_FUNCTION here due to missing functionality of msc17.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206345
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Wed, 16 Apr 2014 00:07:06 +0000 (00:07 +0000)]
Fixed problem with exclude header. The exclude header argument needs to be relative to the module.map file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206342
91177308 -0d34-0410-b5e6-
96231b3b80d8
Duncan P. N. Exon Smith [Tue, 15 Apr 2014 23:58:06 +0000 (23:58 +0000)]
Fix build after r206338
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206341
91177308 -0d34-0410-b5e6-
96231b3b80d8