]> granicus.if.org Git - clang/log
clang
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

9 years agoRevert three tests enabled on r243236, they fail on clang-x86-win2008-selfhost.
Yaron Keren [Sun, 26 Jul 2015 04:59:52 +0000 (04:59 +0000)]
Revert three tests enabled on r243236, they fail on clang-x86-win2008-selfhost.

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

9 years agoEnable passing clang tests on Windows/MSYS.
Yaron Keren [Sun, 26 Jul 2015 04:36:39 +0000 (04:36 +0000)]
Enable passing clang tests on Windows/MSYS.

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

9 years agoFix test running under mingw.
Yaron Keren [Sun, 26 Jul 2015 04:09:41 +0000 (04:09 +0000)]
Fix test running under mingw.

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

9 years agoTry to make the buildbots happy
David Majnemer [Sun, 26 Jul 2015 02:16:35 +0000 (02:16 +0000)]
Try to make the buildbots happy

This test was missing a triple causing it to error out on windows
targets.  They accept a much smaller alignment value.

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

9 years ago[Sema] The alignment of an object has an upper bound from the object file format
David Majnemer [Sun, 26 Jul 2015 01:48:59 +0000 (01:48 +0000)]
[Sema] The alignment of an object has an upper bound from the object file format

Don't use the spelling of the alignment attribute to determine whether
or not an alignment amount makes sense.

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

9 years ago[libclang] Use lambdas instead of explicit structs when storing arguments.
Benjamin Kramer [Sat, 25 Jul 2015 20:55:44 +0000 (20:55 +0000)]
[libclang] Use lambdas instead of explicit structs when storing arguments.

This boilerplate code was necessary to move arguments between threads in
C++98, lambdas make this much easier. No functionality change intended.

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

9 years ago[AST] Rename RecordLayoutBuilder to ItaniumRecordLayoutBuilder
David Majnemer [Sat, 25 Jul 2015 20:18:14 +0000 (20:18 +0000)]
[AST] Rename RecordLayoutBuilder to ItaniumRecordLayoutBuilder

RecordLayoutBuilder is an inaccruate name because it does not build all
records.  It only builds layouts for targets using the Itanium C++ ABI.

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

9 years agoEnable clang tests requiring "clang-driver" on mingw.
Yaron Keren [Sat, 25 Jul 2015 20:05:21 +0000 (20:05 +0000)]
Enable clang tests requiring "clang-driver" on mingw.
At least on my mingw system they do pass, let's see what the bots think.

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

9 years ago[VTableBuilder] Use range-based for loops. No functional change intended
Benjamin Kramer [Sat, 25 Jul 2015 17:10:49 +0000 (17:10 +0000)]
[VTableBuilder] Use range-based for loops. No functional change intended

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

9 years ago[VTableBuilder] Turn functors into lambdas
Benjamin Kramer [Sat, 25 Jul 2015 16:31:30 +0000 (16:31 +0000)]
[VTableBuilder] Turn functors into lambdas

No functional change intended.

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

9 years agoCapture 'this' so GCC 4.7 can find a static members.
Benjamin Kramer [Sat, 25 Jul 2015 15:27:04 +0000 (15:27 +0000)]
Capture 'this' so GCC 4.7 can find a static members.

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

9 years ago[AST] Turn the callbacks of lookupInBases and forallBases into a function_ref
Benjamin Kramer [Sat, 25 Jul 2015 15:07:25 +0000 (15:07 +0000)]
[AST] Turn the callbacks of lookupInBases and forallBases into a function_ref

This lets us pass functors (and lambdas) without void * tricks. On the
downside we can't pass CXXRecordDecl's Find* members (which are now type
safe) to lookupInBases directly, but a lambda trampoline is a small
price to pay. No functionality change intended.

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

9 years ago[Modules] Wrap the main ModuleManager visitor in a function_ref.
Benjamin Kramer [Sat, 25 Jul 2015 12:14:04 +0000 (12:14 +0000)]
[Modules] Wrap the main ModuleManager visitor in a function_ref.

Avoids the awkward passing of an opaque void *UserData argument. No
functional change intended.

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

9 years ago[clang-cl] Add fallback support for /Zl
David Majnemer [Sat, 25 Jul 2015 06:07:59 +0000 (06:07 +0000)]
[clang-cl] Add fallback support for /Zl

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

9 years ago[CodeGen] Don't UBSan-ize the argument to __builtin_frame_address
David Majnemer [Sat, 25 Jul 2015 05:57:24 +0000 (05:57 +0000)]
[CodeGen] Don't UBSan-ize the argument to __builtin_frame_address

__builtin_frame_address requires its argument to be a constant
expression which already implies that it cannot have undefined behavior.
However, we used EmitScalarExpr to emit the argument causing UBSan to
try to check for overflow.

Instead, use the constant expression emission system.

This fixes PR24256.

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

9 years ago[SemaTemplate] Detect instantiation of unparsed exceptions.
Davide Italiano [Sat, 25 Jul 2015 01:19:32 +0000 (01:19 +0000)]
[SemaTemplate] Detect instantiation of unparsed exceptions.

This fixes the clang crash reported in PR24000.

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

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

9 years agoFix test case.
Akira Hatanaka [Sat, 25 Jul 2015 00:33:57 +0000 (00:33 +0000)]
Fix test case.

This is a follow-up to r243185, which made changes to pass subtarget
feature "+reserve-x18" instead of backend option "-aarch64-reserve-x18".

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

9 years ago[AArch64] Pass subtarget feature "+reserve-x18" instead of passing backend
Akira Hatanaka [Sat, 25 Jul 2015 00:18:00 +0000 (00:18 +0000)]
[AArch64] Pass subtarget feature "+reserve-x18" instead of passing backend
option "-aarch64-reserve-x18".

This change is needed since backend options do not make it to the backend
when doing LTO and are not capable of changing the behavior of code-gen
passes on a per-function basis.

rdar://problem/21529937

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

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

9 years agoReplacing some diagnostic string literals with tablegen equivalents because the wordi...
Aaron Ballman [Fri, 24 Jul 2015 21:49:29 +0000 (21:49 +0000)]
Replacing some diagnostic string literals with tablegen equivalents because the wording is identical; NFC.

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

9 years agoDI: Make getOrCreateLimitedType() return DICompositeType, NFC
Duncan P. N. Exon Smith [Fri, 24 Jul 2015 20:34:41 +0000 (20:34 +0000)]
DI: Make getOrCreateLimitedType() return DICompositeType, NFC

Change `getOrCreateLimitedType()` to return a `DICompositeType` and
remove the casts from its callers.  Inside, I've strengthened a `cast`
from `DICompositeTypeBase`, but the casts in the callers already prove
that this is safe.  There should be no functionality change here.

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

9 years agoSelect the highest version of the mingw toolchain found using Generic_GCC::GCCVersion
Yaron Keren [Fri, 24 Jul 2015 20:18:27 +0000 (20:18 +0000)]
Select the highest version of the mingw toolchain found using Generic_GCC::GCCVersion
similar to the way Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple works.

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

9 years agoBase the sys-root/mingw/include path on sysroot and not on /usr.
Yaron Keren [Fri, 24 Jul 2015 19:18:17 +0000 (19:18 +0000)]
Base the sys-root/mingw/include path on sysroot and not on /usr.

Thanks to Richard Smith for pointing this out!

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

9 years agoCorrect x86_64 Android fp128 mangled name
Chih-Hung Hsieh [Fri, 24 Jul 2015 18:12:54 +0000 (18:12 +0000)]
Correct x86_64 Android fp128 mangled name

These changes are for Android x86_64 targets to be compatible with current Android g++.
https://llvm.org/bugs/show_bug.cgi?id=23897
Use 'g' and 'Cg' for "long double" and "long double _Complex" mangled type names.

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

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

9 years agoDI: Make StaticDataMemberCache type-safe, NFC
Duncan P. N. Exon Smith [Fri, 24 Jul 2015 18:05:58 +0000 (18:05 +0000)]
DI: Make StaticDataMemberCache type-safe, NFC

Change `StaticDataMemberCache` to store references to `DIDerivedType`
directly, and remove now-unnecessary casts from the accessors.

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

9 years agoTest commit.
Chih-Hung Hsieh [Fri, 24 Jul 2015 17:39:13 +0000 (17:39 +0000)]
Test commit.

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

9 years ago[test] Attempt to fix failing test in non-darwin bots.
Argyrios Kyrtzidis [Fri, 24 Jul 2015 17:18:25 +0000 (17:18 +0000)]
[test] Attempt to fix failing test in non-darwin bots.

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

9 years ago[code-completion] Strip outer nullability annotations when completing method implemen...
Argyrios Kyrtzidis [Fri, 24 Jul 2015 17:00:19 +0000 (17:00 +0000)]
[code-completion] Strip outer nullability annotations when completing method implementations.

The outer nullability is transferred from the declaration to the implementation so including them is redundant.
The inner ones are not transferred so they are kept to match the exact types. When we transfer the inner ones as well
adding them in the implementation will become redundant and we should strip those as well.

rdar://21737451

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

9 years agoLLVM API Change: the Module always owns the DataLayout
Mehdi Amini [Fri, 24 Jul 2015 16:04:29 +0000 (16:04 +0000)]
LLVM API Change: the Module always owns the DataLayout

From: Mehdi Amini <mehdi.amini@apple.com>

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

9 years agoCorrecting some comments. (1) the function is named throughUsingDecl() and not throug...
Aaron Ballman [Fri, 24 Jul 2015 15:47:32 +0000 (15:47 +0000)]
Correcting some comments. (1) the function is named throughUsingDecl() and not throughUsingDeclaration(). (2) Testing shows that this does work for shadowed variables as well as shadowed functions. I could not find an example where this matcher was failing. NFC.

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

9 years agoSilence a "not all control paths return a value" warning from MSVC. Should also silen...
Aaron Ballman [Fri, 24 Jul 2015 12:47:27 +0000 (12:47 +0000)]
Silence a "not all control paths return a value" warning from MSVC. Should also silence a -Wreturn-type warning. NFC intended.

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

9 years agoVisual Studio is more permissive than other compilers; amends r243107 to fix a compil...
Aaron Ballman [Fri, 24 Jul 2015 12:44:02 +0000 (12:44 +0000)]
Visual Studio is more permissive than other compilers; amends r243107 to fix a compile error.

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

9 years agoAdd an AST matcher, isFinal(), for testing whether a method or class declaration...
Aaron Ballman [Fri, 24 Jul 2015 12:35:41 +0000 (12:35 +0000)]
Add an AST matcher, isFinal(), for testing whether a method or class declaration are marked final.

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

9 years agoApparently some of the bots add .svn dirs inside the test/Driver/Inputs
Yaron Keren [Fri, 24 Jul 2015 11:01:45 +0000 (11:01 +0000)]
Apparently some of the bots add .svn dirs inside the test/Driver/Inputs
directory structure. Try to make mingw toolchain resilient to such surprises.

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

9 years agoTry to appease clang buildbot by forcing libstdc++ in mingw.cpp test.
Yaron Keren [Fri, 24 Jul 2015 09:31:57 +0000 (09:31 +0000)]
Try to appease clang buildbot by forcing libstdc++ in mingw.cpp test.

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

9 years agoAdd extensive tests for the mingw toolchain and remove trailing slash from Arch.
Yaron Keren [Fri, 24 Jul 2015 08:50:15 +0000 (08:50 +0000)]
Add extensive tests for the mingw toolchain and remove trailing slash from Arch.

Address Richard Smith comments: remove the trailing seperator from the Arch
variable, implement six mingw_* trees under tools/clangtest/Driver/Inputs
and merge linux and Windows tests into a universal test that uses these trees.

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

9 years ago[clang-cl] Implement support for the /Zl flag
David Majnemer [Fri, 24 Jul 2015 06:49:13 +0000 (06:49 +0000)]
[clang-cl] Implement support for the /Zl flag

The flag allows users to specify that they do not want the object file
to have any implicit /defaultlib directives.

This fixes PR24236.

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

9 years ago[AST] Perform additional canonicalization for DependentSizedArrayType
David Majnemer [Fri, 24 Jul 2015 05:54:19 +0000 (05:54 +0000)]
[AST] Perform additional canonicalization for DependentSizedArrayType

We treated DependentSizedArrayTypes with the same element type but
differing size expressions as equivalently canonical.  This would lead
to bizarre behavior during template instantiation.

This fixes PR24212.

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

9 years agoCleanup ObjCInterfaceDecl lookup for ObjC literals
Alex Denisov [Fri, 24 Jul 2015 05:09:40 +0000 (05:09 +0000)]
Cleanup ObjCInterfaceDecl lookup for ObjC literals

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

9 years agoGenerating available_externally vtables for outline virtual functions
Piotr Padlewski [Fri, 24 Jul 2015 04:04:49 +0000 (04:04 +0000)]
Generating available_externally vtables for outline virtual functions

Generating available_externally vtables for optimizations purposes.
Unfortunatelly ItaniumABI doesn't guarantee that we will be able to
refer to virtual inline method by name.
But when we don't have any inline virtual methods, and key function is
not defined in this TU, we can generate that there will be vtable and
mark it as available_externally.

This is patch will help devirtualize better.
Differential Revision: http://reviews.llvm.org/D11441

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

9 years ago[Static Analyzer] Some tests do not turn on core checkers. Running the analyzers...
Gabor Horvath [Fri, 24 Jul 2015 03:25:13 +0000 (03:25 +0000)]
[Static Analyzer] Some tests do not turn on core checkers. Running the analyzers without the core checkers is not supported.

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

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

9 years agoFix the cc1as crash when it outputs assembly
Steven Wu [Fri, 24 Jul 2015 02:12:43 +0000 (02:12 +0000)]
Fix the cc1as crash when it outputs assembly

In clang cc1as_main, when the output file type is “asm”, AsmStreamer
owns a formatted_raw_ostream which has a reference to FDOS
(raw_ostream), so AsmStreamer must be closed before FDOS is closed.

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

9 years agoFix the equal-vector-size rule for reinterpret_casts in C++
John McCall [Thu, 23 Jul 2015 23:54:07 +0000 (23:54 +0000)]
Fix the equal-vector-size rule for reinterpret_casts in C++
to consider the storage size of the vector instead of its
sizeof.  In other words, ban <3 x int> to <4 x int> casts,
which produced invalid IR anyway.

Also, attempt to be a little more rigorous, or at least
explicit, about when enums are allowed in these casts.

rdar://21901132

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

9 years agoInstrProf: Fix a typo in the test for r243066
Justin Bogner [Thu, 23 Jul 2015 23:34:26 +0000 (23:34 +0000)]
InstrProf: Fix a typo in the test for r243066

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

9 years agoInstrProf: Don't extend coverage regions into the catch keyword
Justin Bogner [Thu, 23 Jul 2015 23:24:21 +0000 (23:24 +0000)]
InstrProf: Don't extend coverage regions into the catch keyword

The catch keyword isn't really part of a region, so it's fairly
meaningless to extend into it. This was usually harmless, but it could
crash when catch blocks involved macros in strange ways.

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

9 years agoAdd documentation for the objc_boxable attribute
Alex Denisov [Thu, 23 Jul 2015 21:53:13 +0000 (21:53 +0000)]
Add documentation for the objc_boxable attribute

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

9 years agoSema: Avoid a stack overflow on large CFGs
Duncan P. N. Exon Smith [Thu, 23 Jul 2015 20:15:50 +0000 (20:15 +0000)]
Sema: Avoid a stack overflow on large CFGs

Large CFGs cause `checkForFunctionCall()` to overflow its stack.  Break
the recursion by manually managing the call stack instead.

Patch by Vedant Kumar!

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