]> granicus.if.org Git - clang/log
clang
9 years ago[modules] Fix assert/crash when parsing and merging a definition of a class with...
Richard Smith [Thu, 11 Jun 2015 22:48:25 +0000 (22:48 +0000)]
[modules] Fix assert/crash when parsing and merging a definition of a class with a base-specifier inside a namespace.

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

9 years ago[ms] Do lookup in dependent base classes also when overload resolution fails (PR23810)
Hans Wennborg [Thu, 11 Jun 2015 21:21:57 +0000 (21:21 +0000)]
[ms] Do lookup in dependent base classes also when overload resolution fails (PR23810)

This patch does two things in order to enable compilation of the problematic code in PR23810:

1. In Sema::buildOverloadedCallSet, it postpones lookup for MS mode when no
viable candidate is found in the overload set. Previously, lookup would only
be postponed here if the overload set was empty.

2. Make BuildRecoveryCallExpr call Sema::DiagnoseEmptyLookup under more circumstances.
There is a comment in DiagnoseTwoPhaseLookup that says "Don't diagnose names we find in
classes; we get much better diagnostics for these from DiagnoseEmptyLookup." The problem
was that DiagnoseEmptyLookup might not get called later, and we failed to recover.

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

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

9 years ago[CodeGen] Emit Constants for immediate inlineasm arguments.
Ahmed Bougacha [Thu, 11 Jun 2015 18:19:34 +0000 (18:19 +0000)]
[CodeGen] Emit Constants for immediate inlineasm arguments.

For inline assembly immediate constraints, we currently always use
EmitScalarExpr, instead of directly emitting the constant. When the
overflow sanitizer is enabled, this generates overflow intrinsics
instead of constants.

Instead, emit a constant for constraints that either require an
immediate (e.g. 'I' on X86), or only accepts constants (immediate
or symbolic; i.e., don't accept registers or memory).

Fixes PR19763.

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

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

9 years agoclang-cl: Add an alias for /wd4910
Hans Wennborg [Thu, 11 Jun 2015 18:14:11 +0000 (18:14 +0000)]
clang-cl: Add an alias for /wd4910

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

9 years agoSpell -Wdllexport-explicit-instantiation-decl correctly.
Hans Wennborg [Thu, 11 Jun 2015 17:51:58 +0000 (17:51 +0000)]
Spell -Wdllexport-explicit-instantiation-decl correctly.

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

9 years agoAdd comments to PrintActions1 and Driver::PrintActions.
Douglas Katzman [Thu, 11 Jun 2015 15:05:22 +0000 (15:05 +0000)]
Add comments to PrintActions1 and Driver::PrintActions.

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

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

9 years agoadd the -mrecip driver flag and process its options (3rd try)
Sanjay Patel [Thu, 11 Jun 2015 14:53:41 +0000 (14:53 +0000)]
add the -mrecip driver flag and process its options (3rd try)

The 1st and 2nd tries to land this (r238055, r238851) were reverted due to
bot failures caused by the LLVM part of the patch. That was hopefully fixed
after r239001.

This is the front-end counterpart to D8982.

The -mrecip option interface is based on maintaining compatibility with gcc:
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/i386-and-x86-64-Options.html#index-mrecip_003dopt-1627
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/RS_002f6000-and-PowerPC-Options.html#index-mrecip-2289

...while adding more functionality (allowing users to specify the number of refinement steps for each
estimate type).

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

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

9 years agoclang-format: Make SFS_Inline imply SFS_Empty.
Daniel Jasper [Thu, 11 Jun 2015 13:31:45 +0000 (13:31 +0000)]
clang-format: Make SFS_Inline imply SFS_Empty.

In the long run, these two might be independent or we might to only
allow specific combinations. Until we have a corresponding request,
however, it is hard to do the right thing and choose the right
configuration options. Thus, just don't touch the options yet and
just modify the behavior slightly.

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

9 years agoclang-format: [JS] Ensure that formatting actually takes place in tests.
Daniel Jasper [Thu, 11 Jun 2015 13:29:20 +0000 (13:29 +0000)]
clang-format: [JS] Ensure that formatting actually takes place in tests.

And fix formatting issue discovered by that :-).

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

9 years agoC++11 rangify several loops.
Yaron Keren [Thu, 11 Jun 2015 12:33:25 +0000 (12:33 +0000)]
C++11 rangify several loops.

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

9 years agoAllow case-insensitive values for -march for ARM in line with GCC.
Gabor Ballabas [Thu, 11 Jun 2015 12:29:56 +0000 (12:29 +0000)]
Allow case-insensitive values for -march for ARM in line with GCC.

GCC allows case-insensitive values for -mcpu, -march and -mtune options.
This patch implements the same behaviour for the -march option for ARM.

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

9 years agoToken: complement is() method with isOneOf() to allow easier usage
Daniel Marjamaki [Thu, 11 Jun 2015 12:28:14 +0000 (12:28 +0000)]
Token: complement is() method with isOneOf() to allow easier usage

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

9 years ago[mips] Pass on -m{single,double}-float to GAS.
Toma Tabacu [Thu, 11 Jun 2015 12:13:18 +0000 (12:13 +0000)]
[mips] Pass on -m{single,double}-float to GAS.

Summary: We already pass these to the IAS, but not to GAS.

Reviewers: dsanders, atanasyan

Reviewed By: atanasyan

Subscribers: llvm-commits

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

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

9 years ago[OPENMP] Fox for http://llvm.org/PR23663: OpenMP crash
Alexey Bataev [Thu, 11 Jun 2015 10:53:56 +0000 (10:53 +0000)]
[OPENMP] Fox for http://llvm.org/PR23663: OpenMP crash

Destroy RuntimeCleanupScope before generation of termination instruction in parallel loop precondition.

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

9 years agoFix crash in clang-format.
Manuel Klimek [Thu, 11 Jun 2015 10:14:13 +0000 (10:14 +0000)]
Fix crash in clang-format.

The following example used to crash clang-format.
 #define a\
  /**/}

Adjusting the indentation level cache for the line starting with the
comment would lead to an out-of-bounds array read.

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

9 years agoclang-format: Don't add spaces in foreach macro definition.
Daniel Jasper [Thu, 11 Jun 2015 08:38:19 +0000 (08:38 +0000)]
clang-format: Don't add spaces in foreach macro definition.

Before clang-format would e.g. add a space into

   #define Q_FOREACH(x, y)

which turns this into a non-function-like macro.

Patch by Strager Neds, thank you!

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

9 years agoReinstate r239499 and r239503
David Majnemer [Thu, 11 Jun 2015 08:12:44 +0000 (08:12 +0000)]
Reinstate r239499 and r239503

They were reverted because the FileCheck patterns didn't match on
release builds.

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

9 years agoRevert "[MS ABI] Allow fastcall member function pointers to get CodeGen'd"
Manuel Klimek [Thu, 11 Jun 2015 07:54:35 +0000 (07:54 +0000)]
Revert "[MS ABI] Allow fastcall member function pointers to get CodeGen'd"

Revert "[MS ABI] Allow memfn pointers with unconvertible types to be formed"

This reverts r239499 and r239503; the former breaks tests [1] and the
latter is based on the former.

[1]
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/4473/testReport/Clang/CodeGenCXX/microsoft_abi_virtual_member_pointers_cpp/

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

9 years agoClang support for vector quad bit permute and gather instructions through builtins
Nemanja Ivanovic [Thu, 11 Jun 2015 06:25:36 +0000 (06:25 +0000)]
Clang support for vector quad bit permute and gather instructions through builtins

This patch corresponds to review:
http://reviews.llvm.org/D10095

This is for just two instructions and related builtins:
vbpermq
vgbbd

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

9 years ago[modules] Fix a few places where merging wasn't performed if modules was disabled...
Richard Smith [Thu, 11 Jun 2015 03:05:39 +0000 (03:05 +0000)]
[modules] Fix a few places where merging wasn't performed if modules was disabled but local module visibilty was enabled.

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

9 years ago[MS Compatibility] Handle cleanups we create for a ctor closure
David Majnemer [Thu, 11 Jun 2015 02:38:06 +0000 (02:38 +0000)]
[MS Compatibility] Handle cleanups we create for a ctor closure

This fixes PR23801.

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

9 years ago[MS ABI] Allow fastcall member function pointers to get CodeGen'd
David Majnemer [Thu, 11 Jun 2015 00:45:44 +0000 (00:45 +0000)]
[MS ABI] Allow fastcall member function pointers to get CodeGen'd

This restriction appears unnecessary and most likely came about during
early work for musttail.

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

9 years ago[MS ABI] Allow memfn pointers with unconvertible types to be formed
David Majnemer [Thu, 11 Jun 2015 00:20:57 +0000 (00:20 +0000)]
[MS ABI] Allow memfn pointers with unconvertible types to be formed

Remove the restriction which forbade forming pointers to member
functions which had parameter types or return types which were not
convertible.

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

9 years ago[bpf] add support for BPF backend
Alexei Starovoitov [Wed, 10 Jun 2015 22:59:13 +0000 (22:59 +0000)]
[bpf] add support for BPF backend

add support for bpfel/bpfeb targets

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

9 years agoWork around MSVC miscompilation.
Richard Smith [Wed, 10 Jun 2015 22:49:14 +0000 (22:49 +0000)]
Work around MSVC miscompilation.

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

9 years ago[modules] Don't allow use of non-visible (inherited) default template arguments.
Richard Smith [Wed, 10 Jun 2015 20:36:34 +0000 (20:36 +0000)]
[modules] Don't allow use of non-visible (inherited) default template arguments.

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

9 years ago[modules] Track all default template arguments for a given parameter across
Richard Smith [Wed, 10 Jun 2015 20:30:23 +0000 (20:30 +0000)]
[modules] Track all default template arguments for a given parameter across
modules, and allow use of a default template argument if any of the parameters
providing it is visible.

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

9 years agoDo not parse members of incomplete class.
Serge Pavlov [Wed, 10 Jun 2015 19:06:59 +0000 (19:06 +0000)]
Do not parse members of incomplete class.

If definition of a class is unknown and out-of-line definition of its
member is encountered, do not parse the member declaration.
This change fixes PR18542.

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

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

9 years agoPass down the -flto option to the -cc1 job, and from there into the
Teresa Johnson [Wed, 10 Jun 2015 17:49:45 +0000 (17:49 +0000)]
Pass down the -flto option to the -cc1 job, and from there into the
CodeGenOptions and onto the PassManagerBuilder. This enables gating
the new EliminateAvailableExternally module pass on whether we are
preparing for LTO.

If we are preparing for LTO (e.g. a -flto -c compile), the new pass is not
included as we want to preserve available externally functions for possible
link time inlining.

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

9 years agosome StmtExprs do not have side-effects
Scott Douglass [Wed, 10 Jun 2015 15:18:23 +0000 (15:18 +0000)]
some StmtExprs do not have side-effects

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

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

9 years agoadd ConstEvaluatedExprVisitor
Scott Douglass [Wed, 10 Jun 2015 13:53:15 +0000 (13:53 +0000)]
add ConstEvaluatedExprVisitor

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

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

9 years agoPR5172: Fix for a bug in pragma redefine_extname implementation:
Alexander Musman [Wed, 10 Jun 2015 11:20:26 +0000 (11:20 +0000)]
PR5172: Fix for a bug in pragma redefine_extname implementation:
it doesn't work correctly when a structure is declared before pragma
and then a function with the same name declared after pragma.

Patch by Andrey Bokhanko

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

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

9 years agoclang-format: [JS] Only special case top level object literal
Daniel Jasper [Wed, 10 Jun 2015 09:21:09 +0000 (09:21 +0000)]
clang-format: [JS] Only special case top level object literal
assignments as enums.

Top level object literals are treated as enums, and their k/v pairs are put on
separate lines:

  X.Y = {
    A: 1,
    B: 2
  };

However assignments within blocks should not be affected:

  function x() {
    y = {a:1, b:2};
  }

This change fixes the second case. Patch by Martin Probst.

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

9 years agoFix the test case to handle different IR variable names.
Yunzhong Gao [Wed, 10 Jun 2015 03:19:08 +0000 (03:19 +0000)]
Fix the test case to handle different IR variable names.

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

9 years ago[modules] Reconstruct template default argument inheritance on reload rather
Richard Smith [Wed, 10 Jun 2015 01:47:58 +0000 (01:47 +0000)]
[modules] Reconstruct template default argument inheritance on reload rather
than wasting storage and triggering eager deserializations by serializing it.

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

9 years ago[cleanup] Remove unused default argument and tidy up.
Sean Silva [Wed, 10 Jun 2015 01:37:59 +0000 (01:37 +0000)]
[cleanup] Remove unused default argument and tidy up.

The RequestingModule argument was unused and always its default value of
nullptr.

Also move a declaration closer to its use, and range-for'ify.

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

9 years agoRevert accidentally-committed test change from r239447.
Richard Smith [Wed, 10 Jun 2015 01:36:14 +0000 (01:36 +0000)]
Revert accidentally-committed test change from r239447.

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

9 years agoRefactor storage of default template arguments.
Richard Smith [Wed, 10 Jun 2015 00:29:03 +0000 (00:29 +0000)]
Refactor storage of default template arguments.

This is just a preparatory step towards fixing visibility for default template
arguments in modules builds.

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

9 years agoImplementing C99 partial re-initialization behavior (DR-253)
Yunzhong Gao [Wed, 10 Jun 2015 00:27:52 +0000 (00:27 +0000)]
Implementing C99 partial re-initialization behavior (DR-253)

Based on previous discussion on the mailing list, clang currently lacks support
for C99 partial re-initialization behavior:
Reference: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-April/029188.html
Reference: http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_253.htm

This patch attempts to fix this problem.

Given the following code snippet,

struct P1 { char x[6]; };
struct LP1 { struct P1 p1; };

struct LP1 l = { .p1 = { "foo" }, .p1.x[2] = 'x' };
// this example is adapted from the example for "struct fred x[]" in DR-253;
// currently clang produces in l: { "\0\0x" },
//   whereas gcc 4.8 produces { "fox" };
// with this fix, clang will also produce: { "fox" };

Differential Review: http://reviews.llvm.org/D5789

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

9 years agoAttach attribute "disable-tail-calls" to the functions in the IR.
Akira Hatanaka [Tue, 9 Jun 2015 19:04:36 +0000 (19:04 +0000)]
Attach attribute "disable-tail-calls" to the functions in the IR.

This commit adds back the code that seems to have been dropped unintentionally
in r176985.

rdar://problem/13752163

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

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

9 years ago[ItaniumMangle] Mangle long double as __float128 for some Power targets
David Majnemer [Tue, 9 Jun 2015 18:05:33 +0000 (18:05 +0000)]
[ItaniumMangle] Mangle long double as __float128 for some Power targets

GCC mangles long double like __float128 in order to support
compatibility with ABI variants which had a different interpretation of
long double.

This fixes PR23791.

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

9 years agoRevert "Re-land r236052, "[SEH] Add 32-bit lowering code for __try""
Reid Kleckner [Tue, 9 Jun 2015 17:49:42 +0000 (17:49 +0000)]
Revert "Re-land r236052, "[SEH] Add 32-bit lowering code for __try""

This reverts commit r239415. This was committed accidentally, LLVM isn't
ready for this.

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

9 years agoDisable style-on-command-line test on Windows
Reid Kleckner [Tue, 9 Jun 2015 17:47:59 +0000 (17:47 +0000)]
Disable style-on-command-line test on Windows

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

9 years agoRe-land r236052, "[SEH] Add 32-bit lowering code for __try"
Reid Kleckner [Tue, 9 Jun 2015 17:47:50 +0000 (17:47 +0000)]
Re-land r236052, "[SEH] Add 32-bit lowering code for __try"

This reverts r236167.

LLVM should be ready for this now.

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

9 years ago[PowerPC] Reformat altivec.h with clang-format
Bill Seurer [Tue, 9 Jun 2015 14:39:47 +0000 (14:39 +0000)]
[PowerPC] Reformat altivec.h with clang-format

This revision just fixes the formatting of altivec.h.

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

9 years agoMove target-specific Sema test to its own file.
Jonathan Roelofs [Tue, 9 Jun 2015 14:30:17 +0000 (14:30 +0000)]
Move target-specific Sema test to its own file.

Fixing the build-break introduced in r239406.

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

9 years agoFix printing of GCCAsmExprs with input or output arguments.
Jonathan Roelofs [Tue, 9 Jun 2015 14:13:31 +0000 (14:13 +0000)]
Fix printing of GCCAsmExprs with input or output arguments.

Patch by Nick Sumner!

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

9 years agoclang-format: Support //!-comments, increase test coverage.
Daniel Jasper [Tue, 9 Jun 2015 13:16:54 +0000 (13:16 +0000)]
clang-format: Support //!-comments, increase test coverage.

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

9 years agoRemove rm invocations where the file is immediately rewritten later.
Benjamin Kramer [Tue, 9 Jun 2015 12:41:02 +0000 (12:41 +0000)]
Remove rm invocations where the file is immediately rewritten later.

This may or may not help making this test less flaky on windows. There's
a race condition in lit somewhere.

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

9 years agoRemove unused diagnostics.
Benjamin Kramer [Tue, 9 Jun 2015 12:17:19 +0000 (12:17 +0000)]
Remove unused diagnostics.

-Wreceiver-is-weak is unused but should be ignored, move it to the list
of diagnostic groups.

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

9 years agoRemoving spurious semi colons; NFC.
Aaron Ballman [Tue, 9 Jun 2015 12:04:17 +0000 (12:04 +0000)]
Removing spurious semi colons; NFC.

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

9 years agoclang-format: [JS] Hotfix for runtime issue with deeply nested JS code.
Daniel Jasper [Tue, 9 Jun 2015 11:39:22 +0000 (11:39 +0000)]
clang-format: [JS] Hotfix for runtime issue with deeply nested JS code.

I have not succeeded in writing a proper test case for this yet and we
also need to solve the underlying fundamental problem of trying too
many combinations with nested blocks (basically this somewhat works
around our Dijkstra algorithm). Preventing this linebreak is good
anyways as usually the penalties never make us choose it (that's why I
can't create a test) and it also looks ugly.

Also cleaned up state comparison code that I discovered while hunting
this down.

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

9 years agoclang-cl: Ignore the /o option when /P is specified.
Greg Bedwell [Tue, 9 Jun 2015 10:24:06 +0000 (10:24 +0000)]
clang-cl: Ignore the /o option when /P is specified.

This matches the cl.exe behavior (tested with 18.00.31101).  In order to
specify an output file for /P, use the /Fi option instead.

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

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

9 years agoReenable Misc/interpreter.c as r239388 correctly handles such targets
David Majnemer [Tue, 9 Jun 2015 06:33:13 +0000 (06:33 +0000)]
Reenable Misc/interpreter.c as r239388 correctly handles such targets

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

9 years ago[Driver] Preserve the object file format in ComputeEffectiveClangTriple
David Majnemer [Tue, 9 Jun 2015 06:30:01 +0000 (06:30 +0000)]
[Driver] Preserve the object file format in ComputeEffectiveClangTriple

The object file format is sometimes overridden for MSVC targets to use
ELF instead of COFF.  Make sure we preserve this choice when setting the
msvc version number in the triple.

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

9 years agoDisable clang/test/Misc/interpreter.c, for now, since r239273 mishandled *-msvc-elf.
NAKAMURA Takumi [Tue, 9 Jun 2015 06:27:21 +0000 (06:27 +0000)]
Disable clang/test/Misc/interpreter.c, for now, since r239273 mishandled *-msvc-elf.

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

9 years ago[MSVC Compatibility] Don't diagnose c-style cast from void-ptr to fn-ptr
David Majnemer [Tue, 9 Jun 2015 02:41:08 +0000 (02:41 +0000)]
[MSVC Compatibility] Don't diagnose c-style cast from void-ptr to fn-ptr

The machinery added to permit a static_cast from void-ptr to fn-ptr
unintentionally gets triggered for c-style casts and function-style
casts.  The observable effect was a diagnostic issued inappropriately.

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

9 years agorange-for'ify Args->filtered_begin(...) loops
Sean Silva [Tue, 9 Jun 2015 01:57:17 +0000 (01:57 +0000)]
range-for'ify Args->filtered_begin(...) loops

We already have Args->filtered(...) which is a drop-in range-for
replacement.

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

9 years agoSimplify this code a bit.
Sean Silva [Tue, 9 Jun 2015 00:47:20 +0000 (00:47 +0000)]
Simplify this code a bit.

We weren't using the short-circuiting property anyway.

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

9 years agoEnable DLL attribute propagation on explicit instantiation definitions (PR23770)
Hans Wennborg [Tue, 9 Jun 2015 00:39:09 +0000 (00:39 +0000)]
Enable DLL attribute propagation on explicit instantiation definitions (PR23770)

This is a follow-up to r225570 which enabled adding DLL attributes when a
class template goes from explicit instantiation declaration to explicit
instantiation definition.

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

9 years agoMinGW: don't allow adding DLL attribute if template already has explicit instantiatio...
Hans Wennborg [Tue, 9 Jun 2015 00:39:05 +0000 (00:39 +0000)]
MinGW: don't allow adding DLL attribute if template already has explicit instantiation declaration

This is a follow-up to r238266 which failed to take MinGW into account.

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

9 years agoEnable propagation of dll attributes to previously instantiated base class templates...
Hans Wennborg [Tue, 9 Jun 2015 00:39:03 +0000 (00:39 +0000)]
Enable propagation of dll attributes to previously instantiated base class templates in some cases

It is safe to add a dll attribute if the base class template previously only had
an explicit instantiation declaration, or was implicitly instantiated.

I both those cases, the members would not have been codegenned yet. In the case
of explicit instantiation declaration this is natural, and for implicit
instantiations, codegen is deferred (see r225570).

This is work towards fixing PR23770.

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

9 years agoNarrow the -Wunsupported-dll-base-class-template warning.
Hans Wennborg [Tue, 9 Jun 2015 00:38:56 +0000 (00:38 +0000)]
Narrow the -Wunsupported-dll-base-class-template warning.

Don't warn about not being able to propagate dll attribute to a base class template
when that base already has a different attribute.

MSVC doesn't actually try to do this; the first attribute that was propagated
takes precedence, so Clang is already doing the right thing and there's no
need to warn.

(This is a step towards fixing PR21718.)

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

9 years ago[modules] Fix some visibility issues with default template arguments.
Richard Smith [Tue, 9 Jun 2015 00:35:49 +0000 (00:35 +0000)]
[modules] Fix some visibility issues with default template arguments.

There are still problems here, but this is a better starting point.

The main part of the change is: when doing a lookup that would accept visible
or hidden declarations, prefer to produce the latest visible declaration if
there are any visible declarations, rather than always producing the latest
declaration.

Thus, when we inherit default arguments (and other properties) from a previous
declaration, we inherit them from the previous visible declaration; if the
previous declaration is hidden, we already suppress inheritance of default
arguments.

There are a couple of other changes here that fix latent bugs exposed by this
change.

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

9 years agoEliminate unnecessary namespace to prevent conflicts.
Tyler Nowicki [Mon, 8 Jun 2015 23:27:35 +0000 (23:27 +0000)]
Eliminate unnecessary namespace to prevent conflicts.

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

9 years agoCorrect Loop Hint Diagnostic Message
Tyler Nowicki [Mon, 8 Jun 2015 23:13:43 +0000 (23:13 +0000)]
Correct Loop Hint Diagnostic Message

When pragma clang loop unroll() is specified without an argument the diagnostic message should inform that user that 'full' and 'disable' are valid arguments (not 'enable').

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

9 years agoMoved CPP CodeGen tests into CodeGenCXX.
Tyler Nowicki [Mon, 8 Jun 2015 22:53:36 +0000 (22:53 +0000)]
Moved CPP CodeGen tests into CodeGenCXX.

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

9 years agoConsider unsigned long for non-u/U decimal literals (C90/C++03)
Hubert Tong [Mon, 8 Jun 2015 21:59:59 +0000 (21:59 +0000)]
Consider unsigned long for non-u/U decimal literals (C90/C++03)

Summary:
This modifies Clang to reflect that under pre-C99 ISO C, decimal
constants may have type `unsigned long` even if they do not contain `u`
or `U` in their suffix (C90 subclause 6.1.3.2 paragraph 5). The same is
done for C++ without C++11 which--because of undefined behaviour--allows
for behaviour compatible with ISO C90 in the case of an unsuffixed
decimal literal and is otherwise identical to C90 in its treatment of
integer literals (C++03 subclause 2.13.1 [lex.icon] paragraph 2).

Messages are added to the `c99-compat` and `c++11-compat` groups to warn
on such literals, since they behave differently under the newer
standards.

Fixes PR 16678.

Test Plan:
A new test file is added to exercise both pre-C99/C++11 and C99/C++11-up
on decimal literals with no suffix or suffixes `l`/`L` for both 32-bit
and 64-bit `long`.

In the file, 2^31 (being `INT_MAX+1`) is tested for the expected type
using `__typeof__` and multiple declarations of the same entity. 2^63
is similarly tested when it is within the range of `unsigned long`.

Preprocessor arithmetic tests are added to ensure consistency given
that Clang (like GCC) uses greater than 32 bits for preprocessor
arithmetic even when `long` and `unsigned long` is 32 bits and a
pre-C99/C++11 mode is in effect.

Tests added:
  test/Sema/PR16678.c

Reviewers: fraggamuffin, rsmith

Reviewed By: rsmith

Subscribers: cfe-commits

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

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

9 years agoUpdate test with target flag and amended results
Leny Kholodov [Mon, 8 Jun 2015 11:39:16 +0000 (11:39 +0000)]
Update test with target flag and amended results

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

9 years agoFix for temporary variable names in stack reuse tests in revision 239294
Leny Kholodov [Mon, 8 Jun 2015 11:06:59 +0000 (11:06 +0000)]
Fix for temporary variable names in stack reuse tests in revision 239294

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

9 years ago[CodeGen] Reuse stack space from unused function results (with more accurate unused...
Leny Kholodov [Mon, 8 Jun 2015 10:23:49 +0000 (10:23 +0000)]
[CodeGen] Reuse stack space from unused function results (with more accurate unused result detection)

This patch fixes issues with unused result detection which were found in patch http://reviews.llvm.org/D9743.

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

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

9 years ago[Driver] Inject the MSVC compatibility version into the triple
David Majnemer [Mon, 8 Jun 2015 00:22:46 +0000 (00:22 +0000)]
[Driver] Inject the MSVC compatibility version into the triple

Encoding the version into the triple will allow us to communicate to
LLVM what functions it can expect to depend upon in the implementation.

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

9 years agoclang-cl: Implement /GL in terms of -flto.
Peter Collingbourne [Sat, 6 Jun 2015 02:09:34 +0000 (02:09 +0000)]
clang-cl: Implement /GL in terms of -flto.

No documentation yet; the linker needs more work.

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

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

9 years agoMove a test from static-assert.cpp to DeclPrinterTest
David Majnemer [Fri, 5 Jun 2015 22:40:53 +0000 (22:40 +0000)]
Move a test from static-assert.cpp to DeclPrinterTest

It's better not to rely on the diagnostics engine to pretty print the
argument to decltype.  Instead, exercise the functionality in
DeclPrinterTest.

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

9 years agoFix typo of function name.
Eric Christopher [Fri, 5 Jun 2015 22:03:01 +0000 (22:03 +0000)]
Fix typo of function name.

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

9 years agoRename the single non-style conformant function in TargetCodeGenInfo
Eric Christopher [Fri, 5 Jun 2015 22:03:00 +0000 (22:03 +0000)]
Rename the single non-style conformant function in TargetCodeGenInfo
and update all callers.

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

9 years agoRevert accidental commit
David Majnemer [Fri, 5 Jun 2015 18:24:55 +0000 (18:24 +0000)]
Revert accidental commit

This change was unrelated to r239170.

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

9 years ago[AST] There is no message for C++1z-style static_assert
David Majnemer [Fri, 5 Jun 2015 18:03:58 +0000 (18:03 +0000)]
[AST] There is no message for C++1z-style static_assert

We would crash in the DeclPrinter trying to pretty-print the
static_assert message.  C++1z-style assertions don't have a message so
we would crash.

This fixes PR23756.

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

9 years ago[SPARC] Fix windows test failure after r239154.
James Y Knight [Fri, 5 Jun 2015 14:16:39 +0000 (14:16 +0000)]
[SPARC] Fix windows test failure after r239154.

(Hopefully)

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

9 years ago[SPARC] Add multiarch include paths.
James Y Knight [Fri, 5 Jun 2015 13:44:43 +0000 (13:44 +0000)]
[SPARC] Add multiarch include paths.

Adds tests verifying the proper dirs are found in the Debian 8/GCC4.9
layout for sparc (32bit), sparc (32bit) with lib64 multilib, and
sparc64.

The test cases added here also cover r239047, which fixed the linker
paths.

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

9 years agoFix for PR14269: Clang crashes when a bit field is used as inline assembler
Alexander Musman [Fri, 5 Jun 2015 13:40:59 +0000 (13:40 +0000)]
Fix for PR14269: Clang crashes when a bit field is used as inline assembler
input / output with memory constraint.
One generally can't get address of a bit field, so the general solution is to
error on such cases. GCC does the same.

Patch by Andrey Bokhanko

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

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

9 years ago[ARM] Use TargetParser to determine FPU subtarget features
John Brawn [Fri, 5 Jun 2015 13:34:11 +0000 (13:34 +0000)]
[ARM] Use TargetParser to determine FPU subtarget features

The main effect of this is to fix anomalies where certain -mfpu options didn't
disable everything that they should causing strange behaviour when combined
with -mcpu or -march values that themselves enabled fpu subtarget features,
e.g. -mfpu=fpv5-dp-d16 with -march=armv7em previously behaved the same as
-mfpu=fpv5-sp-d16 due to fp-only-sp not being disabled.

Invalid -mfpu options now also give an error, which is consistent with the
handling of the .fpu directive.

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

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

9 years agoclang-format: More eagerly wrap trailing return types.
Daniel Jasper [Fri, 5 Jun 2015 13:18:09 +0000 (13:18 +0000)]
clang-format: More eagerly wrap trailing return types.

Before:
  template <typename T>
  auto aaaaaaaaaaaaaaaaaaaaaa(T t) -> decltype(eaaaaaaaaaaaaaaa<T>(t.a)
                                                   .aaaaaaaa());

After:
  template <typename T>
  auto aaaaaaaaaaaaaaaaaaaaaa(T t)
      -> decltype(eaaaaaaaaaaaaaaa<T>(t.a).aaaaaaaa());

Also add a test case for a difficult template parsing case I stumbled accross.
Needs fixing.

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

9 years agoC++ 11 rangify for loop.
Yaron Keren [Fri, 5 Jun 2015 09:40:53 +0000 (09:40 +0000)]
C++ 11 rangify for loop.

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

9 years agoclang-format: [JS] Let fat arrows have 'Assignment' precedence.
Daniel Jasper [Fri, 5 Jun 2015 08:25:37 +0000 (08:25 +0000)]
clang-format: [JS] Let fat arrows have 'Assignment' precedence.

This is a more correct representation than using "Equality" introduced
in r238942 which was a quick fix to solve an actual regression.

According to the typescript spec, arrows behave like "low-precedence"
assignments.

Before:
  var a = a.aaaaaaa((a: a) => aaaaaaaaaaaaaaaaaaaaa(bbbbbbbbb) &&
                    aaaaaaaaaaaaaaaaaaaaa(bbbbbbb));
After:
  var a = a.aaaaaaa((a: a) => aaaaaaaaaaaaaaaaaaaaa(bbbbbbbbb) &&
                              aaaaaaaaaaaaaaaaaaaaa(bbbbbbb));

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

9 years ago[Concepts] lex keywords: concept and requires
Hubert Tong [Fri, 5 Jun 2015 01:10:24 +0000 (01:10 +0000)]
[Concepts] lex keywords: concept and requires

Summary:
This patch enables lexing of `concept` and `requires` as keywords.
Further changes which add messages for future keyword compat are to
follow.

Test Plan:
Testing of C++14 + Concepts TS mode is added to
`test/Lexer/keywords_test.cpp`, which expects that the new keywords are
enabled under said mode.

Reviewers: faisalv, fraggamuffin, rsmith

Reviewed By: rsmith

Subscribers: cfe-commits

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

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

9 years agoRemove unused defaulted argument `IncludeTextualHeaders`.
Sean Silva [Thu, 4 Jun 2015 23:38:11 +0000 (23:38 +0000)]
Remove unused defaulted argument `IncludeTextualHeaders`.

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

9 years agoTest commit access.
Hubert Tong [Thu, 4 Jun 2015 22:53:21 +0000 (22:53 +0000)]
Test commit access.

Fixes trailing whitespace in lib/Sema/JumpDiagnostics.cpp.

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

9 years agoSimplify ARMTargetParser::parseArch(ARMTargetParser::getCanonical()), following r239099
Artyom Skrobov [Thu, 4 Jun 2015 21:31:41 +0000 (21:31 +0000)]
Simplify ARMTargetParser::parseArch(ARMTargetParser::getCanonical()), following r239099

Reviewers: rengolin

Reviewed By: rengolin

Subscribers: cfe-commits

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

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

9 years agoFix terrible python goof in clang-format.py which broke my vim
Chandler Carruth [Thu, 4 Jun 2015 21:23:07 +0000 (21:23 +0000)]
Fix terrible python goof in clang-format.py which broke my vim
integration.

Nothing is more important in life than clang-format integration with
vim. ;]

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

9 years ago[CodeGen] Add testcase for r239002.
Ahmed Bougacha [Thu, 4 Jun 2015 20:58:49 +0000 (20:58 +0000)]
[CodeGen] Add testcase for r239002.

Just realized I forgot to add it when committing.

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

9 years ago[PowerPC] This revision adds 68 of the missing "Predefined Functions for Vector Progr...
Bill Seurer [Thu, 4 Jun 2015 18:45:44 +0000 (18:45 +0000)]
[PowerPC] This revision adds 68 of the missing "Predefined Functions for Vector Programming" from appendix A of the OpenPOWER ABI for Linux Supplement document.

I also added tests for the new functions and updated another test that was looking for specific line numbers in error messages from altivec.h.

https://llvm.org/bugs/show_bug.cgi?id=23679

http://reviews.llvm.org/D10131

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

9 years agoC++11 rangify for loop.
Yaron Keren [Thu, 4 Jun 2015 18:33:04 +0000 (18:33 +0000)]
C++11 rangify for loop.

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

9 years agoAllow case-insensitive values for -mcpu for ARM
Gabor Ballabas [Thu, 4 Jun 2015 17:56:32 +0000 (17:56 +0000)]
Allow case-insensitive values for -mcpu for ARM

GCC allows case-insensitive values for -mcpu, -march and -mtune options.
This patch implements the same behaviour for the -mcpu option.

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

9 years ago[SPARC] Fix multiarch path detection for sparc and sparcv9.
James Y Knight [Thu, 4 Jun 2015 15:36:30 +0000 (15:36 +0000)]
[SPARC] Fix multiarch path detection for sparc and sparcv9.

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

9 years ago[SPARC] Fix types of size_t, intptr_t, and ptrdiff_t on Linux.
James Y Knight [Thu, 4 Jun 2015 15:36:29 +0000 (15:36 +0000)]
[SPARC] Fix types of size_t, intptr_t, and ptrdiff_t on Linux.

They should be 'int' instead of 'long int' everywhere else except
NetBSD too, from what I gather in GCC's spec files. So, optimistically
changing it for everyone else, too.

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

9 years agoRemove extraneous qualifiers due to "using namespace". NFC
Douglas Katzman [Thu, 4 Jun 2015 14:40:44 +0000 (14:40 +0000)]
Remove extraneous qualifiers due to "using namespace". NFC

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

9 years agoUse the appropriate PIE level for OpenBSD/sparc.
Brad Smith [Thu, 4 Jun 2015 08:45:23 +0000 (08:45 +0000)]
Use the appropriate PIE level for OpenBSD/sparc.

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

9 years agoFix fragile source-col-map.c test-case.
James Y Knight [Thu, 4 Jun 2015 04:15:33 +0000 (04:15 +0000)]
Fix fragile source-col-map.c test-case.

The test passing was dependent upon your source tree being checked out
in a directory with a long enough path, to cause the diagnostics to
wrap at the expected locations.

Use stdin instead, so that the error messages consistently use
<stdin> as the filename, and get wrapped consistently.

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

9 years ago[CodeGen][NEON] Emit constants for "immediate" intrinsic arguments.
Ahmed Bougacha [Thu, 4 Jun 2015 01:43:41 +0000 (01:43 +0000)]
[CodeGen][NEON] Emit constants for "immediate" intrinsic arguments.

On ARM/AArch64, we currently always use EmitScalarExpr for the immediate
builtin arguments, instead of directly emitting the constant. When the
overflow sanitizer is enabled, this generates overflow intrinsics
instead of constants, breaking assumptions in various places.

Instead, use the knowledge of "immediates" to directly emit a constant:
- teach the tablegen backend to emit the "immediate" modifiers
- use those modifiers in the NEON CodeGen, on ARM and AArch64.

Fixes PR23517.

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

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