]> granicus.if.org Git - clang/log
clang
9 years ago[SemaExpr] Factor out common diagnostic code for remainder/division.
Davide Italiano [Sat, 1 Aug 2015 10:13:39 +0000 (10:13 +0000)]
[SemaExpr] Factor out common diagnostic code for remainder/division.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243832 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[MS ABI] Create a mangling for extended vector types
David Majnemer [Sat, 1 Aug 2015 05:51:55 +0000 (05:51 +0000)]
[MS ABI] Create a mangling for extended vector types

Extended vector types are mangled just like normal vector types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243828 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoConvertibility of nullptr_t to bool is available in clang. Note it.
Davide Italiano [Sat, 1 Aug 2015 05:48:03 +0000 (05:48 +0000)]
Convertibility of nullptr_t to bool is available in clang. Note it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243827 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoUse the reserved keyword spelling of 'typeof'
David Majnemer [Sat, 1 Aug 2015 05:31:56 +0000 (05:31 +0000)]
Use the reserved keyword spelling of 'typeof'

No functional change intended, just a drive-by cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243826 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Tests] Add explicit -std=lang option to a number of tests.
Yunzhong Gao [Sat, 1 Aug 2015 02:55:59 +0000 (02:55 +0000)]
[Tests] Add explicit -std=lang option to a number of tests.

This patch should not change the test results, but it is useful if clang's
default C++ language is ever changed from gnu++98.

Patch by: Charles Li

http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20150727/134667.html

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243819 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[libFuzzer] minimal documentation on data-flow-guided fuzzing
Kostya Serebryany [Fri, 31 Jul 2015 21:48:10 +0000 (21:48 +0000)]
[libFuzzer] minimal documentation on data-flow-guided fuzzing

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243793 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agotest commit; wrap ellipses in comment with brackets
Nathan Wilson [Fri, 31 Jul 2015 20:00:02 +0000 (20:00 +0000)]
test commit; wrap ellipses in comment with brackets

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243776 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDI: Update testcases for LLVM assembly change
Duncan P. N. Exon Smith [Fri, 31 Jul 2015 18:59:37 +0000 (18:59 +0000)]
DI: Update testcases for LLVM assembly change

Update testcases after LLVM change r243774.

Most of these had no need to check `tag:` field, but did so as a way of
getting to the `name:` field.  In a few cases I've converted the `tag:`
checks to `arg:` or `CHECK-NOT: arg:`.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243775 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[MS ABI] Hook clang up to the new EH instructions
David Majnemer [Fri, 31 Jul 2015 17:58:45 +0000 (17:58 +0000)]
[MS ABI] Hook clang up to the new EH instructions

The new EH instructions make it possible for LLVM to generate .xdata
tables that the MSVC personality routines will be happy about.  Because
this is experimental, hide it behind a -cc1 flag (-fnew-ms-eh).

Differential Revision: http://reviews.llvm.org/D11405

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243767 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDI: Update for LLVM API change for local variables
Duncan P. N. Exon Smith [Fri, 31 Jul 2015 17:56:14 +0000 (17:56 +0000)]
DI: Update for LLVM API change for local variables

Adjust to LLVM DIBuilder API changes in r243764, using
`createAutoVariable()` and `createParameterVariable()` in place of
`createLocalVariable()`.  No real functionality change here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243765 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoOutline function Parser::ParseCXXClassMemberDeclarationWithPragmas(), NFC.
Alexey Bataev [Fri, 31 Jul 2015 08:42:25 +0000 (08:42 +0000)]
Outline function Parser::ParseCXXClassMemberDeclarationWithPragmas(), NFC.

Parsing of pragmas followed by a class member declaration is outlined into a separate function Parser::ParseCXXClassMemberDeclarationWithPragmas().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243739 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoMake sure the 2 method calls are sequenced.
Argyrios Kyrtzidis [Fri, 31 Jul 2015 01:39:23 +0000 (01:39 +0000)]
Make sure the 2 method calls are sequenced.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243727 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[modules] Fix issue where building a module from a relative path when -working-direct...
Argyrios Kyrtzidis [Fri, 31 Jul 2015 00:58:32 +0000 (00:58 +0000)]
[modules] Fix issue where building a module from a relative path when -working-directory option is set, results in error.

The error was "module '<name>' was built in directory '<path>' but now resides in directory '<path>'
rdar://21330027

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243718 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoSplit DWARF: Allow -gmlt/-gsplit-dwarf to override rather than complement each other
David Blaikie [Thu, 30 Jul 2015 21:42:22 +0000 (21:42 +0000)]
Split DWARF: Allow -gmlt/-gsplit-dwarf to override rather than complement each other

It doesn't make any sense to enable -gmlt with -gsplit-dwarf, since
-gmlt is designed for on-line symbolication (and -gsplit-dwarf normally
emits all the -gmlt data into the .o anyway - so there's nothing to
split out except redundant/duplicate info).

With this change they override each other, -gmlt -gsplit-dwarf is the
same as -gsplit-dwarf and -gsplit-dwarf -gmlt is the same as -gmlt.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243694 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoImproved error recovery for _Pragma
Hubert Tong [Thu, 30 Jul 2015 21:30:00 +0000 (21:30 +0000)]
Improved error recovery for _Pragma

Summary:
Currently, if the argument to _Pragma is not a parenthesised string
literal, the bad token will be consumed, as well as the ')', if present.
If additional bad tokens are passed to the _Pragma, this results in
extra error messages which may distract from the true problem.

The proposed patch causes all tokens to be consumed until the closing
')' or a new line, whichever is reached first.

Reviewers: hfinkel, rsmith

Subscribers: hubert.reinterpretcast, fraggamuffin, rnk, cfe-commits

Differential Revision: http://reviews.llvm.org/D8308

Patch by Rachel Craik!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243692 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Concepts] Add diagnostic: non template declaration
Hubert Tong [Thu, 30 Jul 2015 21:20:55 +0000 (21:20 +0000)]
[Concepts] Add diagnostic: non template declaration

Summary:
Adding diagnostic for concepts declared as non template (function
or variable)

Reviewers: faisalv, fraggamuffin, rsmith, hubert.reinterpretcast

Subscribers: nwilson, cfe-commits

Differential Revision: http://reviews.llvm.org/D11490

Patch by Nathan Wilson!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243690 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[sanitizers] Enable dfsan for aarch64
Adhemerval Zanella [Thu, 30 Jul 2015 20:50:39 +0000 (20:50 +0000)]
[sanitizers] Enable dfsan for aarch64

This patch enables DFSan for aarch64/linux.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243685 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[sema] Allow to opt-out of overriding the super class's designated initializers by...
Argyrios Kyrtzidis [Thu, 30 Jul 2015 19:06:04 +0000 (19:06 +0000)]
[sema] Allow to opt-out of overriding the super class's designated initializers by marking the initializer as unavailable in the subclass.

rdar://20281322

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243676 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agosimplified test case
Naomi Musgrave [Thu, 30 Jul 2015 17:59:55 +0000 (17:59 +0000)]
simplified test case

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243673 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoremoved hardcoding for attribute associated with dtor in test
Naomi Musgrave [Thu, 30 Jul 2015 17:59:54 +0000 (17:59 +0000)]
removed hardcoding for attribute associated with dtor in test

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243672 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoTesting to verify function attribute disable-tail-calls applied to destructor
Naomi Musgrave [Thu, 30 Jul 2015 17:59:52 +0000 (17:59 +0000)]
Testing to verify function attribute disable-tail-calls applied to destructor

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243671 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoupdated test to be more explicit
Naomi Musgrave [Thu, 30 Jul 2015 17:59:50 +0000 (17:59 +0000)]
updated test to be more explicit

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243670 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoUpdated test regex and flags
Naomi Musgrave [Thu, 30 Jul 2015 17:59:48 +0000 (17:59 +0000)]
Updated test regex and flags

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243669 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agorepress tail call optimization when performing use-after-dtor sanitization
Naomi Musgrave [Thu, 30 Jul 2015 17:59:46 +0000 (17:59 +0000)]
repress tail call optimization when performing use-after-dtor sanitization

Reviewers: eugenis, kcc

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D11613

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243668 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoUse llvm::reverse to make a bunch of loops use foreach. NFC.
Pete Cooper [Thu, 30 Jul 2015 17:22:52 +0000 (17:22 +0000)]
Use llvm::reverse to make a bunch of loops use foreach.  NFC.

In llvm commit r243581, a reverse range adapter was added which allows
us to change code such as

  for (auto I = Fields.rbegin(), E = Fields.rend(); I != E; ++I) {

in to

  for (const FieldDecl *I : llvm::reverse(Fields))

This commit changes a few of the places in clang which are eligible to use
this new adapter.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243663 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAdd fmodules-cache-path to 2 tests which were missing it.
Pete Cooper [Thu, 30 Jul 2015 16:44:07 +0000 (16:44 +0000)]
Add fmodules-cache-path to 2 tests which were missing it.

These tests were creating a modules.idx file in my clang checkout, not
the build directory or temp.

All the other tests in this directory use -fmodules-cache-path=%t so
updated these to match.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243657 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[ARM] Allow setting the generic features for native cpus
Renato Golin [Thu, 30 Jul 2015 16:40:17 +0000 (16:40 +0000)]
[ARM] Allow setting the generic features for native cpus

Copying the already existing code for x86 to ARM to set the correct CPU
features when using -mcpu=native. We can already detect the CPU name
but we were not setting the correct feature bits.

Moving fpu/hwdiv down to make sure they override whatever we set the
default to be.

No tests because this is native detection, and not all ARM-enabled builds
will hapen at a specific CPU, or even ARM. I have tested locally and it
works as expected.

Fixes PR12794.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243656 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoFix sanitizer fallout from r243642
Ulrich Weigand [Thu, 30 Jul 2015 15:53:58 +0000 (15:53 +0000)]
Fix sanitizer fallout from r243642

The memory-sanitizer build bot reported:

==5574== WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x7f03089e15f6 in
clang::Parser::TryAltiVecTokenOutOfLine(clang::DeclSpec&,
clang::SourceLocation, char const*&, unsigned int&, bool&)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/ParseDecl.cpp:6290:11

This is because the "Ident_pixel" variable was uninitialized
in the getLangOpts().ZVector case, but we'd still call into
clang::Parser::TryAltiVecTokenOutOfLine, which uses the variable.

The simplest fix for this without sprinkling !getLangOpts().ZVector
checks all over the code seems to be to just initialize the variable
to nullptr; this will then do the right thing on ZVector.

Checked in to unbreak the build bots.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243644 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[SystemZ] Add support for vecintrin.h vector built-in functions
Ulrich Weigand [Thu, 30 Jul 2015 14:10:43 +0000 (14:10 +0000)]
[SystemZ] Add support for vecintrin.h vector built-in functions

This patch adds support for the System Z vector built-in functions.
The API-defined header file has the name vecintrin.h.

The user-level functions are defined in the same style as the clang
version of altivec.h, making heavy use of the __overloadable__ and
__always_inline__ attributes.  Where possible the functions expand to
generic operations rather than specific built-in functions, in the hope
that that form can be optimised better.

Where a built-in routine is specified to require an immediate integer
argument, the __enable_if__ attribute is used to verify the argument is
in fact constant and in the appropriate range.

Based on a patch by Richard Sandiford.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243643 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAdd support for System z vector language extensions
Ulrich Weigand [Thu, 30 Jul 2015 14:08:36 +0000 (14:08 +0000)]
Add support for System z vector language extensions

The z13 vector facility has an associated language extension,
closely modeled on AltiVec/VSX.  The main differences are:

- vector long, vector float and vector pixel are not supported

- vector long long and vector double are supported (like VSX)

- comparison operators return a vector rather than a scalar integer

- shift operators behave like the OpenCL shift operators

- vector bool is only supported as argument to certain operators;
  some operators allow mixing a bool with a non-bool vector

This patch adds clang support for the extension.  It is closely modelled
on the AltiVec support.  Similarly to the -faltivec option, there's a
new -fzvector option to enable the extensions (as well as an -mzvector
alias for compatibility with GCC).  There's also a separate LangOpt.

The extension as implemented here is intended to be compatible with
the -mzvector extension recently implemented by GCC.

Based on a patch by Richard Sandiford.

Differential Revision: http://reviews.llvm.org/D11001

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243642 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[OPENMP 4.1] Initial support for extended 'ordered' clause.
Alexey Bataev [Thu, 30 Jul 2015 11:36:16 +0000 (11:36 +0000)]
[OPENMP 4.1] Initial support for extended 'ordered' clause.

OpenMP 4.1 introduces optional argument '(n)' for 'ordered' clause, where 'n' is a number of loops that immediately follow the directive.
'n' must be constant positive integer expressions and it must be less or equal than the number of the loops in the resulting loop nest.
Patch adds parsing and semantic analysis for this optional argument.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243635 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86] Recognize "flags" as an identifier, not a register in Intel-syntax inline asm
Michael Kuperstein [Thu, 30 Jul 2015 10:10:47 +0000 (10:10 +0000)]
[X86] Recognize "flags" as an identifier, not a register in Intel-syntax inline asm

This contains the test-case for r243630.

Patch by: marina.yatsina@intel.com
Differential Revision: http://reviews.llvm.org/D11513

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243632 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAdd a comment explaining differing Windows behavior.
Sean Silva [Thu, 30 Jul 2015 07:30:24 +0000 (07:30 +0000)]
Add a comment explaining differing Windows behavior.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243625 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoEnable accidentally-disabled tests.
Sean Silva [Thu, 30 Jul 2015 07:23:17 +0000 (07:23 +0000)]
Enable accidentally-disabled tests.

I think I was isolating the failure in the last RUN: line during
development, and forgot to re-enable the others.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243624 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86][AVX512BW] Remove whitespaces
Asaf Badouh [Thu, 30 Jul 2015 06:52:26 +0000 (06:52 +0000)]
[X86][AVX512BW] Remove whitespaces

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243623 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRemove some noise "this->"s left behind by r243213.
Richard Smith [Thu, 30 Jul 2015 03:37:16 +0000 (03:37 +0000)]
Remove some noise "this->"s left behind by r243213.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243614 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[modules] Remove redundant information written into DeclContext name lookup tables...
Richard Smith [Thu, 30 Jul 2015 03:17:16 +0000 (03:17 +0000)]
[modules] Remove redundant information written into DeclContext name lookup tables. We don't need to store the data length twice.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243612 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRemove bad test.
Sean Silva [Thu, 30 Jul 2015 01:21:56 +0000 (01:21 +0000)]
Remove bad test.

We currently don't canonicalize paths in the preprocessed files.
But we do when writing to PCH.
This causes a discrepancy on Windows with the test below.
This test fails even on unix if you change the test to use
`%S//preprocess.h`.

I am led to conclude that the invariant that this test was intending to
test has not been upheld for a while (and may never have been).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243602 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAttempt to make clang-x64-ninja-win7 happy.
Sean Silva [Thu, 30 Jul 2015 00:52:32 +0000 (00:52 +0000)]
Attempt to make clang-x64-ninja-win7 happy.

It looks like we were somehow relying somewhere on removing 'foo/./bar'
but *not* 'foo/../foo/bar'. Currently investigating.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243600 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAvoid failure to canonicalize '..'.
Sean Silva [Thu, 30 Jul 2015 00:26:34 +0000 (00:26 +0000)]
Avoid failure to canonicalize '..'.

Also fix completely broken and untested code which was hiding the
primary bug. The !LLVM_ON_UNIX branch of the ifdef was actually a no-op.

I ran into this in the wild. It was causing failures in our SDK build.

Ideally we'd have a perfect llvm::sys::fs::canonical, but at least this
is a step in the right direction, and fixes an obviously broken case.
In some sense the test case I've added here is an integration test. We
should have these routines thoroughly unit tested in llvm::sys::fs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243597 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoFix -Wredundant-move warning.
Richard Trieu [Wed, 29 Jul 2015 23:47:19 +0000 (23:47 +0000)]
Fix -Wredundant-move warning.

Without DR1579 implemented, the only case for -Wredundant-move is for a
parameter being returned with the same type as the function return type.  Also
include a check to verify that the move constructor will be used by matching
nodes in the AST dump.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243594 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[modules] When performing redeclaration lookup for a using declaration, prefer
Richard Smith [Wed, 29 Jul 2015 23:38:25 +0000 (23:38 +0000)]
[modules] When performing redeclaration lookup for a using declaration, prefer
UsingShadowDecls over other declarations of the same entity in the lookup
results. This ensures that we build correct redeclaration chains for the
UsingShadowDecls (otherwise we could see assertions and other misbehavior in
modules builds, when merging combines multiple redeclaration chains for the
same entity from the same module into one chain).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243592 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[SemaAccess] Provide meaningful message when we hit llvm_unreachable().
Davide Italiano [Wed, 29 Jul 2015 20:55:04 +0000 (20:55 +0000)]
[SemaAccess] Provide meaningful message when we hit llvm_unreachable().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243571 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoUse the AddAllArgs overload which accepts an ArrayRef of OptSpecifier.
Douglas Katzman [Wed, 29 Jul 2015 18:39:14 +0000 (18:39 +0000)]
Use the AddAllArgs overload which accepts an ArrayRef of OptSpecifier.

Differential Revision: http://reviews.llvm.org/D11599

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243552 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDisable -Wpessimizing-move and -Wredundant-move in template instantiations.
Richard Trieu [Wed, 29 Jul 2015 17:03:34 +0000 (17:03 +0000)]
Disable -Wpessimizing-move and -Wredundant-move in template instantiations.

Dependent types can throw off the analysis for these warnings, possibly giving
conflicting warnings and fix-its.  Disabling the warning in template
instantiations will prevent this problem, and will still catch the
non-dependent cases in templates.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243538 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoIn case of an existing GlobalVariable, the comdat is created using the name of the
Yaron Keren [Wed, 29 Jul 2015 15:42:28 +0000 (15:42 +0000)]
In case of an existing GlobalVariable, the comdat is created using the name of the
new GV (usually NAME.1) instead of the correct NAME of the old GV. Moving comdat
creation after GV replacement solves this. Patch + testcase.

Reviewed by Reid Kleckner.

http://reviews.llvm.org/D11594

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243525 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoMake this test target x86_64-pc-windows-gnu as well.
Yaron Keren [Wed, 29 Jul 2015 15:28:02 +0000 (15:28 +0000)]
Make this test target x86_64-pc-windows-gnu as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243523 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[AArch64] Pass subtarget feature "+strict-align".
Akira Hatanaka [Wed, 29 Jul 2015 14:25:58 +0000 (14:25 +0000)]
[AArch64] Pass subtarget feature "+strict-align".

This commit changes the driver to save subtarget feature "+strict-align"
to the IR instead of using backend option "aarch64-strict-align". This is
needed for LTO.

rdar://problem/21529937

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243518 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRemove unnecessary variable.
Yaron Keren [Wed, 29 Jul 2015 14:21:47 +0000 (14:21 +0000)]
Remove unnecessary variable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243517 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86][AVX512BW] add convert i16 to i8 and unpack intrinsics
Asaf Badouh [Wed, 29 Jul 2015 12:34:20 +0000 (12:34 +0000)]
[X86][AVX512BW] add convert i16 to i8 and unpack intrinsics

Differential Revision: http://reviews.llvm.org/D11564

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243514 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86][AVX512BW] Replace attributes with __DEFAULT_FN_ATTRS
Asaf Badouh [Wed, 29 Jul 2015 12:22:19 +0000 (12:22 +0000)]
[X86][AVX512BW] Replace attributes with __DEFAULT_FN_ATTRS

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243512 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[ARM] Pass subtarget feature "+strict-align".
Akira Hatanaka [Tue, 28 Jul 2015 22:26:45 +0000 (22:26 +0000)]
[ARM] Pass subtarget feature "+strict-align".

This commit changes the driver to save subtarget feature "+strict-align" to the
IR instead of using backend option "arm-strict-align". This is needed for LTO.

Also, move the logic in ARM backend that was deciding whether strict alignment
should be forced to the front-end.

rdar://problem/21529937

http://reviews.llvm.org/D11472

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243489 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoSilence unused argument warning for --cuda-host-only.
Artem Belevich [Tue, 28 Jul 2015 21:01:30 +0000 (21:01 +0000)]
Silence unused argument warning for --cuda-host-only.

Differential Revision: http://reviews.llvm.org/D11575

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243479 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago--cuda-host-only should not disable linking phase.
Artem Belevich [Tue, 28 Jul 2015 21:01:21 +0000 (21:01 +0000)]
--cuda-host-only should not disable linking phase.

Host-only cuda compilation does produce valid host object
file and in some cases users do want to proceed on to the linking phase.
The change removes special case that stopped compilation pipeline at
the Assembly phase. Device-side compilation is still stopped early
by the types::getCompilationPhases().

Differential Revision: http://reviews.llvm.org/D11573

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243478 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoUse an iterative method instead of recursion for printing macro backtraces.
Richard Trieu [Tue, 28 Jul 2015 20:53:46 +0000 (20:53 +0000)]
Use an iterative method instead of recursion for printing macro backtraces.

Store the locations for a macro expansion in a vector, then iterate over them
instead of using recursion.  This simplifies the logic around the backtrace
limit and gives easier access to the source locations.  No functionality change.

Patch by Zhengkai Wu.

Differential Revision: http://reviews.llvm.org/D11542

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243477 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDo not give a -Wredundant-move warning when removing the move will result in an
Richard Trieu [Tue, 28 Jul 2015 19:06:16 +0000 (19:06 +0000)]
Do not give a -Wredundant-move warning when removing the move will result in an
error.

If the object being moved has a move constructor and a deleted copy constructor,
std::move is required, otherwise Clang will give a deleted constructor error.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243463 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[test] Follow-up for r243119, also add a test case using property methods.
Argyrios Kyrtzidis [Tue, 28 Jul 2015 17:38:51 +0000 (17:38 +0000)]
[test] Follow-up for r243119, also add a test case using property methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243455 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRename -Wmsvc-include to -Wmicrosoft-include, now that -Wmicrosoft is split up.
Nico Weber [Tue, 28 Jul 2015 16:48:12 +0000 (16:48 +0000)]
Rename -Wmsvc-include to -Wmicrosoft-include, now that -Wmicrosoft is split up.

(Keep -Wmsvc-include around as an alias.)

While here, also replace the one other mention of "MSVC" in diagnostics with
"Microsoft", for consistency.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243444 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAdd -femulated-tls flag to select the emulated TLS model.
Chih-Hung Hsieh [Tue, 28 Jul 2015 16:27:56 +0000 (16:27 +0000)]
Add -femulated-tls flag to select the emulated TLS model.

This will be used for old targets like Android that do not
support ELF TLS models.

Differential Revision: http://reviews.llvm.org/D10524

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243441 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CodeGen] Simplify creation of shuffle masks.
Benjamin Kramer [Tue, 28 Jul 2015 16:25:32 +0000 (16:25 +0000)]
[CodeGen] Simplify creation of shuffle masks.

No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243439 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoGetting rid of old iterator loops
Piotr Padlewski [Tue, 28 Jul 2015 16:10:58 +0000 (16:10 +0000)]
Getting rid of old iterator loops

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243431 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDo not force linebreaks when MaxEmptyLinesToKeep is 0.
Manuel Klimek [Tue, 28 Jul 2015 15:50:24 +0000 (15:50 +0000)]
Do not force linebreaks when MaxEmptyLinesToKeep is 0.

Previously we would format
 call(

     p);
as
 call(
     p);
with MaxEmptyLinesToKeep == 0.

Now we format it as:
  call(p);

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243429 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CodeGen] Clean up CGBuiltin a bit.
Benjamin Kramer [Tue, 28 Jul 2015 15:40:11 +0000 (15:40 +0000)]
[CodeGen] Clean up CGBuiltin a bit.

- Use cached LLVM types
- Turn SmallVectors into Arrays/ArrayRef if the size is static
- Use ConstantInt::get's implicit splatting for vector types

No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243425 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRegParmMax must be 0 for AArch64, as the regparm function attribute is not supported...
Kristof Beyls [Tue, 28 Jul 2015 14:23:47 +0000 (14:23 +0000)]
RegParmMax must be 0 for AArch64, as the regparm function attribute is not supported on AArch64.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243417 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[AArch64] Implement __builtin_thread_pointer
Adhemerval Zanella [Tue, 28 Jul 2015 13:10:10 +0000 (13:10 +0000)]
[AArch64] Implement __builtin_thread_pointer

This path add the aarch64 __builtin_thread_pointer support.  It will be
lowered to llvm.aarch64.thread.pointer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243413 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86][AVX512VL] add AVX512VL intrinsics 4 out of 4
Asaf Badouh [Tue, 28 Jul 2015 12:04:40 +0000 (12:04 +0000)]
[X86][AVX512VL] add AVX512VL intrinsics 4 out of 4

Differential Revision: http://reviews.llvm.org/D11526

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243409 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86][AVX512VL] add AVX512VL intrinsics 3 out of 4
Asaf Badouh [Tue, 28 Jul 2015 11:14:09 +0000 (11:14 +0000)]
[X86][AVX512VL] add AVX512VL intrinsics 3 out of 4

http://reviews.llvm.org/D11526

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243406 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86][AVX512VL] add AVX512VL intrinsics 2 out of 4
Asaf Badouh [Tue, 28 Jul 2015 10:30:56 +0000 (10:30 +0000)]
[X86][AVX512VL] add AVX512VL intrinsics 2 out of 4

http://reviews.llvm.org/D11526

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243402 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoUse TargetParser to parse -mhwdiv command line option in Driver.
Alexandros Lamprineas [Tue, 28 Jul 2015 09:08:03 +0000 (09:08 +0000)]
Use TargetParser to parse -mhwdiv command line option in Driver.

Change-Id: I2ebc40f77af75ec6b43ce8364d6d5a1d29988bd6
Phabricator: http://reviews.llvm.org/D11501

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243398 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86][AVX512VL] add AVX512VL intrinsics 1 out of 4
Asaf Badouh [Tue, 28 Jul 2015 08:26:14 +0000 (08:26 +0000)]
[X86][AVX512VL] add AVX512VL intrinsics 1 out of 4

http://reviews.llvm.org/D11526

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243394 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[sema] Fix crash when typo-transforming an expression containing an ObjC super messag...
Argyrios Kyrtzidis [Tue, 28 Jul 2015 06:12:24 +0000 (06:12 +0000)]
[sema] Fix crash when typo-transforming an expression containing an ObjC super message expression.

rdar://21427916

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243387 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoMake local function isWhitespaceExceptNL static instead of in anonymous namespace
Yaron Keren [Tue, 28 Jul 2015 04:54:03 +0000 (04:54 +0000)]
Make local function isWhitespaceExceptNL static instead of in anonymous namespace
per the coding standard. Thanks Craig Tooper for noticing this.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243381 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoFix what looks like accidentally repeated file contents. No behavior change.
Nico Weber [Tue, 28 Jul 2015 03:37:54 +0000 (03:37 +0000)]
Fix what looks like accidentally repeated file contents.  No behavior change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243376 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoSplit -Wmicrosoft into many specific warnings.
Nico Weber [Tue, 28 Jul 2015 02:37:37 +0000 (02:37 +0000)]
Split -Wmicrosoft into many specific warnings.

Also move "pragma comment" warning from -Wmicrosoft to -Wignored-pragmas.

-Wmicrosoft currently covers many different areas, some more useful than
others.  Split it into many targeted flags, so that projects can choose to
enable only a subset of these warnings.  This is also useful for incrementally
fixing and turning on these warnings.

-Wno-microsoft still disables all these warnings, and -Wmicrosoft still enables
them all.  After this change, it's possible to pass `-Wno-microsoft
-Wmicrosoft-unqualified-friend` to only enable -Wmicrosoft-unqualified-friend,
and `-Wmicrosoft -Wno-microsoft-unqualified-friend` to enable all other
Microsoft warnings.

I put all the template-related warnings behind -Wmicrosoft-template; if that
turns out to be too coarse we can make that finer later on. (In practice, I
haven't seen the template-related warnings fire frequently.)

Reviewed at http://reviews.llvm.org/D11504

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243371 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoInstrProf: Fix a misuse of the FunctionDecl API when generating coverage
Justin Bogner [Tue, 28 Jul 2015 00:41:51 +0000 (00:41 +0000)]
InstrProf: Fix a misuse of the FunctionDecl API when generating coverage

This was calling FD->hasBody(), meaning "Does the function that this
decl refers to have a body?", rather than
FD->doesThisDeclarationHaveABody(), meaning "Is this decl a
non-deleted definition?".

We might want to consider renaming these APIs :/

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243360 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[test] Follow-up for r243343, also add a test case using an enum for designated enum.
Argyrios Kyrtzidis [Tue, 28 Jul 2015 00:01:13 +0000 (00:01 +0000)]
[test] Follow-up for r243343, also add a test case using an enum for designated enum.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243355 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[ARM] Implement -Wa,-mfpu and friends for assemblers
Renato Golin [Mon, 27 Jul 2015 23:44:45 +0000 (23:44 +0000)]
[ARM] Implement -Wa,-mfpu and friends for assemblers

This patch allows Clang to pass on -Wa,-mfpu, -Wa,-mhwdiv and
-Wa,-mcpu to the integrated assembler (via target-features), but
-march is still not being passed, but validated.

In case the command line has both -mxxx and -Wa,-mxxx, we warn
that the naked one will not be used in assembler mode.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243353 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[ARM] Changes to Arch/CPU handling to help with -Wa,-mfpu etc. (nfc)
Renato Golin [Mon, 27 Jul 2015 23:44:42 +0000 (23:44 +0000)]
[ARM] Changes to Arch/CPU handling to help with -Wa,-mfpu etc. (nfc)

To be able to handle -Wa, options in the assembler (ClangAs), we need to
make the handling of options based on the value of the options, not direct
Arguments from the list, since the list is immutable.

No functional change in this patch, but this allows validating of -Wa,-mfpu
and friends in the same way we validate -mfpu and friends, *just* for the
assembler.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243352 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[sema] Fix infinite loop when using a boolean value as designated initializer.
Argyrios Kyrtzidis [Mon, 27 Jul 2015 23:16:53 +0000 (23:16 +0000)]
[sema] Fix infinite loop when using a boolean value as designated initializer.

For designated indices use the max array size type bitwidth, not the bitwidth of the index value itself.
rdar://21942503

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243343 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoUse CGLoopInfo to emit metadata for loop hint pragmas.
Tyler Nowicki [Mon, 27 Jul 2015 20:10:20 +0000 (20:10 +0000)]
Use CGLoopInfo to emit metadata for loop hint pragmas.

When ‘#pragma clang loop vectorize(assume_safety)’ was specified on a loop other loop hints were lost. The problem is that CGLoopInfo attaches metadata differently than EmitCondBrHints in CGStmt. For do-loops CGLoopInfo attaches metadata to the br in the body block and for while and for loops, the inc block. EmitCondBrHints on the other hand always attaches data to the br in the cond block. When specifying assume_safety CGLoopInfo emits an empty llvm.loop metadata shadowing the metadata in the cond block. Loop transformations like rotate and unswitch would then eliminate the cond block and its non-empty metadata.

This patch unifies both approaches for adding metadata and modifies the existing safety tests to include non-assume_safety loop hints.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243315 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoFixed test in rL243305
Simon Pilgrim [Mon, 27 Jul 2015 19:49:54 +0000 (19:49 +0000)]
Fixed test in rL243305

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243314 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRemoving unused function declaration with no definition; NFC.
Aaron Ballman [Mon, 27 Jul 2015 19:34:46 +0000 (19:34 +0000)]
Removing unused function declaration with no definition; NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243311 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[AArch64] Unconditionally pass subtarget feature reserve-x18 on Darwin.
Akira Hatanaka [Mon, 27 Jul 2015 19:29:04 +0000 (19:29 +0000)]
[AArch64] Unconditionally pass subtarget feature reserve-x18 on Darwin.

After r243308, the front-end is responsible for checking the target OS and
passing reserve-x18 if the target is Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243310 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86] Add missing _m_prefetch intrinsic
Simon Pilgrim [Mon, 27 Jul 2015 19:01:52 +0000 (19:01 +0000)]
[X86] Add missing _m_prefetch intrinsic

The 3DNOW/PRFCHW cpu targets define both the PREFETCHW (set cache line modified) and PREFETCH (set cache line exclusive) instructions but only the _m_prefetchw (PREFETCHW) intrinsic is included in the header. This patch adds the missing _m_prefetch intrinsic.

I'm basing this off AMD documentation - the intel docs on the support for PREFETCHW isn't clear whether Silvermont/Broadwell properly support PREFETCH but given that the intrinsic implementation is a default __builtin_prefetch call, it is safe whatever.

Fix for PR23648

Differential Revision: http://reviews.llvm.org/D11338

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243305 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoCorrecting a typo in a comment; NFC.
Aaron Ballman [Mon, 27 Jul 2015 17:58:32 +0000 (17:58 +0000)]
Correcting a typo in a comment; NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243292 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[OpenMP] Fix copyin codegen test regression in order used in compare
Samuel Antao [Mon, 27 Jul 2015 17:49:18 +0000 (17:49 +0000)]
[OpenMP] Fix copyin codegen test regression in order used in compare
instruction.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243289 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[OpenMP] Fix copyin clause codegen regression caused by r243277.
Samuel Antao [Mon, 27 Jul 2015 17:30:41 +0000 (17:30 +0000)]
[OpenMP] Fix copyin clause codegen regression caused by r243277.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243285 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[OpenMP] Add TLS requirement for the copyin clause codegen test. This is an
Samuel Antao [Mon, 27 Jul 2015 16:59:45 +0000 (16:59 +0000)]
[OpenMP] Add TLS requirement for the copyin clause codegen test. This is an
attempt to fix regressions triggered by r243277.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243280 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRename {Hexagon,NaCl}_TC to {Hexagon,NaCl}ToolChain respectively. NFC
Douglas Katzman [Mon, 27 Jul 2015 16:53:08 +0000 (16:53 +0000)]
Rename {Hexagon,NaCl}_TC to {Hexagon,NaCl}ToolChain respectively. NFC

Also rename XCore (the toolchain) to XCoreToolChain since XCore is
also a namespace for its tools.

Differential Revision: http://reviews.llvm.org/D10609

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243279 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[OpenMP] Add capture for threadprivate variables used in copyin clause
Samuel Antao [Mon, 27 Jul 2015 16:38:06 +0000 (16:38 +0000)]
[OpenMP] Add capture for threadprivate variables used in copyin clause
if TLS is enabled in OpenMP code generation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243277 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAnalysis: Fix example usage comment in CFG.cpp. NFC
Jonathan Roelofs [Mon, 27 Jul 2015 16:05:36 +0000 (16:05 +0000)]
Analysis: Fix example usage comment in CFG.cpp. NFC

Patch by Vedant Kumar!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243275 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoSetting ARM dynamic linker name from commandline
Renato Golin [Mon, 27 Jul 2015 09:56:37 +0000 (09:56 +0000)]
Setting ARM dynamic linker name from commandline

Currently trigger to select hard-float linker is only based of -gnueabihf
appearing in target triplet, but we should also select it when hardfloat
is requested via cmdline.

Patch by Khem Raj.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243262 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[clang-cl] Handle -O correctly
David Majnemer [Mon, 27 Jul 2015 07:32:11 +0000 (07:32 +0000)]
[clang-cl] Handle -O correctly

We had multiple bugs here:
- We didn't support multiple optimization options in one argument.
  e.g. -O2y-
- We didn't correctly expand -O[12dx] to their respective options.
- We treated -O1 as clang -O1 instead of clang -Os.
- We treated -Ox as clang -O3 instead of clang -O2.  In fact, cl's -Ox
  option is *less* powerful than cl's -O2 option despite -Ox described
  as "Full Optimization".

This fixes PR24003.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243261 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRename highly-confusing isWhitespace that returns false on \n to
Yaron Keren [Mon, 27 Jul 2015 06:35:22 +0000 (06:35 +0000)]
Rename highly-confusing isWhitespace that returns false on \n to
isWhitespaceExceptNL. If that's wasn't bad enough, we have an identically
named function in Basic/CharInfo.h.

While at it, remove unnecessary includes, .str() calls and #ifdef.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243260 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[modules] Add an assert for redeclarations that we never added to their redecl
Richard Smith [Mon, 27 Jul 2015 05:40:23 +0000 (05:40 +0000)]
[modules] Add an assert for redeclarations that we never added to their redecl
chain and fix the cases where it fires.

 * Handle the __va_list_tag as a predefined decl. Previously we failed to merge
   sometimes it because it's not visible to name lookup. (In passing, remove
   redundant __va_list_tag typedefs that we were creating for some ABIs. These
   didn't affect the mangling or representation of the type.)

 * For Decls derived from Redeclarable that are not in fact redeclarable
   (implicit params, function params, ObjC type parameters), remove them from
   the list of expected redeclarable decls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243259 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Targets] Define _M_AMD64 and _M_X64 to a more appropriate value
David Majnemer [Sun, 26 Jul 2015 23:17:29 +0000 (23:17 +0000)]
[Targets] Define _M_AMD64 and _M_X64 to a more appropriate value

We used to define them to 1, we should have defined them to 100.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243255 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[AST] It should be impossible to get Int128 or UInt128 into VisitIntegerLiteral
David Majnemer [Sun, 26 Jul 2015 18:33:32 +0000 (18:33 +0000)]
[AST] It should be impossible to get Int128 or UInt128 into VisitIntegerLiteral

These cases should now be impossible as of r243243.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243252 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[MS Extensions] Remove support for the i128 integer literal suffix
David Majnemer [Sun, 26 Jul 2015 09:02:26 +0000 (09:02 +0000)]
[MS Extensions] Remove support for the i128 integer literal suffix

There is currently no support in MSVC for using i128 as an integer
literal suffix.  In fact, there appears to be no evidence that they have
ever supported this feature in any of their compilers.  This was an over
generalization of their actual feature and is a nasty source of bugs.
Why is it a source of bugs?  Because most code in clang expects that
evaluation of an integer constant expression won't give them something
that 'long long' can't represent.  Instead of providing a meaningful
feature, i128 gives us cute ways of exploding the compiler.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243243 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Sema] Refactor AddAlignedAttr to reduce indentation
David Majnemer [Sun, 26 Jul 2015 09:02:21 +0000 (09:02 +0000)]
[Sema] Refactor AddAlignedAttr to reduce indentation

No functionality change intended, just a tidy-up.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243242 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoThis test failed on ninja-x64-msvc-RA-centos6.
Yaron Keren [Sun, 26 Jul 2015 05:15:24 +0000 (05:15 +0000)]
This test failed on ninja-x64-msvc-RA-centos6.
We could probably get this and the previous three disabled in r243237
working on these builders if MSYS was updated to current MSYS2.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243238 91177308-0d34-0410-b5e6-96231b3b80d8