]> granicus.if.org Git - clang/log
clang
10 years agoObjectiveC. add comment.
Fariborz Jahanian [Tue, 14 Jan 2014 21:33:54 +0000 (21:33 +0000)]
ObjectiveC. add comment.

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

10 years agoDriver: clarify help string for "-###"
Tim Northover [Tue, 14 Jan 2014 20:49:19 +0000 (20:49 +0000)]
Driver: clarify help string for "-###"

Someone recently wasted some time not realising that "-###" didn't
actually execute the commands it printed, and suggested a
documentation tweak.

Having made the same mistake myself on at least one occasion, I
sympathise. So here it is. Any kibitzing on an even better text
welcome.

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

10 years agoObjectiveC. produce more expressive warning when
Fariborz Jahanian [Tue, 14 Jan 2014 20:35:13 +0000 (20:35 +0000)]
ObjectiveC. produce more expressive warning when
-Wselector detects an unimplemented method used
in an @selector expression. // rdar://15781538

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

10 years agoRemove the -cxx-abi command-line flag.
Hans Wennborg [Tue, 14 Jan 2014 19:35:09 +0000 (19:35 +0000)]
Remove the -cxx-abi command-line flag.

This makes the C++ ABI depend entirely on the target: MS ABI for -win32 triples,
Itanium otherwise. It's no longer possible to do weird combinations.

To be able to run a test with a specific ABI without constraining it to a
specific triple, new substitutions are added to lit: %itanium_abi_triple and
%ms_abi_triple can be used to get the current target triple adjusted to the
desired ABI. For example, if the test suite is running with the i686-pc-win32
target, %itanium_abi_triple will expand to i686-pc-mingw32.

Differential Revision: http://llvm-reviews.chandlerc.com/D2545

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

10 years agoDarwin: add __sinpi (etc) and __exp10 libbuiltins
Tim Northover [Tue, 14 Jan 2014 19:26:03 +0000 (19:26 +0000)]
Darwin: add __sinpi (etc) and __exp10 libbuiltins

These functions have the same constness properties of the normal libm
functions, which allows LLVM to optimise code better in general. There
are also a couple of specific optimisations that only trigger when
these are properly marked.

rdar://problem/13729466

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

10 years agoClarify driver/frontend -fms-compatibility help text
Alp Toker [Tue, 14 Jan 2014 19:13:00 +0000 (19:13 +0000)]
Clarify driver/frontend -fms-compatibility help text

Better describe the flag that enables drop-in MSVC compatibility, including
ability to parse MS standard headers. This is intended to distinguish it from
-fms-extensions, the more established and 'gentler' flag also supported by GCC.

The new wording matches up with the internal description introduced in r198936.
Still room for improvement (e.g. C++ is part of the product name, yet the flag
also applies to C) but it's a step forward from "Microsoft mode".

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

10 years agoRemove unused function to fix clang -Werror build
Reid Kleckner [Tue, 14 Jan 2014 18:10:42 +0000 (18:10 +0000)]
Remove unused function to fix clang -Werror build

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

10 years agoSimplifying the OpenCL image attribute. It does not need a semantic integer parameter...
Aaron Ballman [Tue, 14 Jan 2014 17:41:53 +0000 (17:41 +0000)]
Simplifying the OpenCL image attribute. It does not need a semantic integer parameter because the required information is encoded in the spelling. Added an appropriate subject to the attribute, and simplified the semantic checking (which will likely be expanded upon in a future patch). Also, removed the GNU spelling since it was unsupported in the first place.

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

10 years agoCFG: use Visit instead of VisitStmt to look through parens.
Jordan Rose [Tue, 14 Jan 2014 17:29:12 +0000 (17:29 +0000)]
CFG: use Visit instead of VisitStmt to look through parens.

PR18472

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

10 years ago[analyzer] Use synthesized ASTs for property getters when available.
Jordan Rose [Tue, 14 Jan 2014 17:29:06 +0000 (17:29 +0000)]
[analyzer] Use synthesized ASTs for property getters when available.

This allows the analyzer to handle properties with C++ class type,
finishing up the FIXME from r198953.

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

10 years agoUse a proper lvalue-to-rvalue conversion in Objective-C++ property accessors.
Jordan Rose [Tue, 14 Jan 2014 17:29:00 +0000 (17:29 +0000)]
Use a proper lvalue-to-rvalue conversion in Objective-C++ property accessors.

Previously, the synthesized AST contained an rvalue DeclRefExpr for 'self'.
Now, it has an lvalue DeclRefExpr wrapped in an lvalue-to-rvalue
ImplicitCastExpr, which is what's generated when an ivar access is written
in the source.

No (intended) functionality change.

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

10 years agoUpdate CodeGen to use DLL storage class for dllimport/dllexport
Nico Rieck [Tue, 14 Jan 2014 15:23:53 +0000 (15:23 +0000)]
Update CodeGen to use DLL storage class for dllimport/dllexport

With the old linkage types removed, set the linkage to external for both
dllimport and dllexport to reflect what's currently supported.

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

10 years agoClarify the LibTooling.rst a bit
Eli Bendersky [Tue, 14 Jan 2014 14:29:19 +0000 (14:29 +0000)]
Clarify the LibTooling.rst a bit

The ClangCheck tool has changed and no longer is exactly equivalent to the
code pasted in the doc.

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

10 years agoSwitch around the order of MSVCCompat and MicrosoftExt
Alp Toker [Tue, 14 Jan 2014 12:53:58 +0000 (12:53 +0000)]
Switch around the order of MSVCCompat and MicrosoftExt

Full language modes usually get listed before minor language extensions in
LangOpts, so that subsequent sub-modes can predicate on the major modes.

This also lends to a cleanup in CompilerInvocation to better indicate to the
reader that MSVCCompat is a superset of MicrosoftExt.

Cleanup only.

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

10 years agoRename language option MicrosoftMode to MSVCCompat
Alp Toker [Tue, 14 Jan 2014 12:51:41 +0000 (12:51 +0000)]
Rename language option MicrosoftMode to MSVCCompat

There's been long-standing confusion over the role of these two options. This
commit makes the necessary changes to differentiate them clearly, following up
from r198936.

MicrosoftExt (aka. fms-extensions):
 Enable largely unobjectionable Microsoft language extensions to ease
 portability. This mode, also supported by gcc, is used for building software
 like FreeBSD and Linux kernel extensions that share code with Windows drivers.

MSVCCompat (aka. -fms-compatibility, formerly MicrosoftMode):
 Turn on a special mode supporting 'heinous' extensions for drop-in
 compatibility with the Microsoft Visual C++ product. Standards-compilant C and
 C++ code isn't guaranteed to work in this mode. Implies MicrosoftExt.

Note that full -fms-compatibility mode is currently enabled by default on the
Windows target, which may need tuning to serve as a reasonable default.

See cfe-commits for the full discourse, thread 'r198497 - Move MS predefined
type_info out of InitializePredefinedMacros'

No change in behaviour.

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

10 years ago[OpenCL] Disallow casts between address spaces.
Joey Gouly [Tue, 14 Jan 2014 12:47:29 +0000 (12:47 +0000)]
[OpenCL] Disallow casts between address spaces.

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

10 years agoclang/test/Index/recursive-cxx-member-calls.cpp: Add "-target" rather than XFAILing.
NAKAMURA Takumi [Tue, 14 Jan 2014 11:07:55 +0000 (11:07 +0000)]
clang/test/Index/recursive-cxx-member-calls.cpp: Add "-target" rather than XFAILing.

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

10 years agoRemove trailing spaces
Sylvestre Ledru [Tue, 14 Jan 2014 10:25:26 +0000 (10:25 +0000)]
Remove trailing spaces

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

10 years agoclang-format: Fix bug introduced in r198871.
Daniel Jasper [Tue, 14 Jan 2014 09:53:07 +0000 (09:53 +0000)]
clang-format: Fix bug introduced in r198871.

We cannot simply change the start column to accomodate for the @ in an
ObjC string literal as that will make clang-format happily violate the
column limit.

Use a different workaround instead. However, a better long-term
solution might be to join the @ and the rest of the literal into a
single token.

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

10 years agoDisable this test for windows builders
David Majnemer [Tue, 14 Jan 2014 08:19:51 +0000 (08:19 +0000)]
Disable this test for windows builders

This test provides definitions of size_t which are at odds with
-fms-compatibility.  Disable this test on those builders (for now).

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

10 years agoSwitch to ssize_t from size_t to unbreak windows builders.
David Majnemer [Tue, 14 Jan 2014 08:18:49 +0000 (08:18 +0000)]
Switch to ssize_t from size_t to unbreak windows builders.

Builders that have -fms-compatibility on by default define size_t implicitly.
Tests that provide conflicting definitions would cause unintended failures.

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

10 years agoSema: Predefine size_t in MSVC Compatibility mode
David Majnemer [Tue, 14 Jan 2014 06:19:35 +0000 (06:19 +0000)]
Sema: Predefine size_t in MSVC Compatibility mode

MSVC defines size_t without any explicit declarations.  This change
allows us to be compatible with TUs that depend on this declaration
appearing from nowhere.

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

10 years agoThis test is passing on SPARC.
Jakob Stoklund Olesen [Tue, 14 Jan 2014 06:19:29 +0000 (06:19 +0000)]
This test is passing on SPARC.

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

10 years agoPuny 24-byte structs are returned by value on SPARC.
Jakob Stoklund Olesen [Tue, 14 Jan 2014 06:19:26 +0000 (06:19 +0000)]
Puny 24-byte structs are returned by value on SPARC.

Pad these structs up so they are sret-returned even on that
architecture.

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

10 years agoUpdate feature name "Generalized Attributes" to match the heading in the paper.
Richard Smith [Tue, 14 Jan 2014 02:52:38 +0000 (02:52 +0000)]
Update feature name "Generalized Attributes" to match the heading in the paper.

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

10 years agoRemove a temporary workaround that is no longer relevant.
Bob Wilson [Tue, 14 Jan 2014 01:56:31 +0000 (01:56 +0000)]
Remove a temporary workaround that is no longer relevant.

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

10 years agoRemoving some attribute magic related to the OpenCL keyword attributes. Instead of...
Aaron Ballman [Tue, 14 Jan 2014 01:29:54 +0000 (01:29 +0000)]
Removing some attribute magic related to the OpenCL keyword attributes. Instead of mapping them to their semantics as a custom part of the parser, they instead map declaratively through the rest of the attribute system.

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

10 years ago[ms-abi] Small Change to pack+alignment interaction.
Warren Hunt [Tue, 14 Jan 2014 00:54:36 +0000 (00:54 +0000)]
[ms-abi] Small Change to pack+alignment interaction.

This patch makes a small behavioral change to the interaction between
pack and alignment.  Specifically it makes __declspec(align()) on a
field change that field's alignment without respect to pack but the
alignment change to the record alignment as a whole still obeys pack.

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

10 years ago[ms-abi] Remove duplicated vbptr offset code
Reid Kleckner [Tue, 14 Jan 2014 00:50:39 +0000 (00:50 +0000)]
[ms-abi] Remove duplicated vbptr offset code

Record layout will tell us the offset of a shared vbptr inside a
non-virtual base.

No functionality change.

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

10 years agoConsumed analysis: add two new attributes which fine-tune the behavior of
DeLesley Hutchins [Tue, 14 Jan 2014 00:36:53 +0000 (00:36 +0000)]
Consumed analysis: add two new attributes which fine-tune the behavior of
consumable objects.  These are useful for implementing error codes that
must be checked.  Patch also includes some significant refactoring, which was
necesary to implement the new behavior.

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

10 years ago[ms-abi] Report VBPtrOffset correctly
Warren Hunt [Tue, 14 Jan 2014 00:31:30 +0000 (00:31 +0000)]
[ms-abi] Report VBPtrOffset correctly

Although VBPtrs were being placed correctly by the ms-abi layout engine,
their offsets were being improperly reported to the ASTRecordLayout
builder due to a bug.  This patch fixes that and fixes the test cases to
use the correct values.
y

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

10 years ago[ms-abi] Always generate complete constructors in the Microsoft C++ ABI
Reid Kleckner [Mon, 13 Jan 2014 22:57:31 +0000 (22:57 +0000)]
[ms-abi] Always generate complete constructors in the Microsoft C++ ABI

Fixes PR18435, where we generated a base ctor instead of a complete
ctor, and so failed to construct virtual bases when constructing the
complete object.

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

10 years ago[ms-abi] Reordering __declspec(align) pragma pack handling
Warren Hunt [Mon, 13 Jan 2014 22:25:55 +0000 (22:25 +0000)]
[ms-abi] Reordering __declspec(align) pragma pack handling

This patch moves the check for pragma pack until after the application
of __declspec align to before pragma pack.  This causes observable
changes in the use of tail padding for bases.  A test case is included.

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

10 years agoclang-cl: Ignore /fallback when not actually compiling (PR18456)
Hans Wennborg [Mon, 13 Jan 2014 22:24:42 +0000 (22:24 +0000)]
clang-cl: Ignore /fallback when not actually compiling (PR18456)

For example, don't fall back in /P (preprocess) mode.

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

10 years agoLLVM's CMake is now using a feature that wasn't preasant in CMake 2.8.7,
Chandler Carruth [Mon, 13 Jan 2014 22:23:58 +0000 (22:23 +0000)]
LLVM's CMake is now using a feature that wasn't preasant in CMake 2.8.7,
so bump the minimum version in the standalone Clang CMake project as
well.

As I mentioned on the LLVM commit version of this, if this causes any
trouble for folks, just let me know. I'm trying to avoid re-implementing
functionality in CMake, but I will if there are problems using the newer
versions.

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

10 years agoAdding myself as the code owner for the attribute subsystem.
Aaron Ballman [Mon, 13 Jan 2014 22:23:27 +0000 (22:23 +0000)]
Adding myself as the code owner for the attribute subsystem.

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

10 years agoTeach the standalone Clang CMake bits about the flag to force using an
Chandler Carruth [Mon, 13 Jan 2014 22:22:24 +0000 (22:22 +0000)]
Teach the standalone Clang CMake bits about the flag to force using an
old toolchain to build. The toolchain version is now checked in
HandleLLVMOptions.

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

10 years agoWhen determining the attribute's parsed kind, pay attention to the syntax used. This...
Aaron Ballman [Mon, 13 Jan 2014 21:42:39 +0000 (21:42 +0000)]
When determining the attribute's parsed kind, pay attention to the syntax used. This fixes bugs where an attribute has differing GNU and Declspec spellings, but they are treated as the same. Eg) __declspec(aligned) when it should be __attribute__((aligned)), and __attribute__((align)) when it should be __declspec(align).

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

10 years ago__forceinline is a keyword, and not a GNU-style attribute. This FIXME appears to...
Aaron Ballman [Mon, 13 Jan 2014 21:40:16 +0000 (21:40 +0000)]
__forceinline is a keyword, and not a GNU-style attribute. This FIXME appears to be out-dated, and the attribute syntax is becoming more important these days.

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

10 years agoUpdating the attribute declarations to have the correct syntaxes. This means giving...
Aaron Ballman [Mon, 13 Jan 2014 21:32:48 +0000 (21:32 +0000)]
Updating the attribute declarations to have the correct syntaxes. This means giving a __declspec spelling to: deprecated, naked, noinline, noreturn, and nothrow. uuid has no GNU spelling, so it was switched to __declspec. dllexport and dllimport both are now supported with GNU spellings.

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

10 years agoThere is no such thing as __attribute__((align)); that's a __declspec attribute....
Aaron Ballman [Mon, 13 Jan 2014 21:30:03 +0000 (21:30 +0000)]
There is no such thing as __attribute__((align)); that's a __declspec attribute. Fixing these test cases to use the proper spelling for their syntax.

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

10 years agoCodeGen: Clarify a comment about PGO in case statement ranges
Justin Bogner [Mon, 13 Jan 2014 21:24:25 +0000 (21:24 +0000)]
CodeGen: Clarify a comment about PGO in case statement ranges

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

10 years agoCodeGen: Rename adjustFallThroughCount -> adjustForControlFlow
Justin Bogner [Mon, 13 Jan 2014 21:24:22 +0000 (21:24 +0000)]
CodeGen: Rename adjustFallThroughCount -> adjustForControlFlow

adjustFallThroughCount isn't a good name, and the documentation was
even worse. This commit attempts to clarify what it's for and when to
use it.

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

10 years agoCodeGen: Introduce CodeGenPGO::setCurrentRegionUnreachable
Justin Bogner [Mon, 13 Jan 2014 21:24:18 +0000 (21:24 +0000)]
CodeGen: Introduce CodeGenPGO::setCurrentRegionUnreachable

There are a number of places where we do PGO.setCurrentRegionCount(0)
directly after an unconditional branch. Give this operation a name so
that it's clearer why we're doing this.

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

10 years agoCodeGen: Remove a superfluous setCurrentRegionCount
Justin Bogner [Mon, 13 Jan 2014 21:24:15 +0000 (21:24 +0000)]
CodeGen: Remove a superfluous setCurrentRegionCount

This call looks like it was an artifact of an earlier change, and
doesn't actually make sense. We begin a new region immediately anyway,
so it was mostly harmless.

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

10 years agoCodeGen: Remove some unnecessary braces
Justin Bogner [Mon, 13 Jan 2014 21:24:13 +0000 (21:24 +0000)]
CodeGen: Remove some unnecessary braces

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

10 years ago[ms-abi] Leading VFPtrs don't suppress the leading zero sized flag
Warren Hunt [Mon, 13 Jan 2014 19:55:52 +0000 (19:55 +0000)]
[ms-abi] Leading VFPtrs don't suppress the leading zero sized flag

The MS-ABI tracks a bit that asserts that the first sub-object is zero
sized.  This bit is used to add padding between objects if there's the
potential for zero sized objects to alias.  The bit is still true even
if the zero sized base is lead by a VFPtr.  This patch makes clang mimic
that behavior.

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

10 years agoUse the MS ABI for Win32 targets by default
Hans Wennborg [Mon, 13 Jan 2014 19:48:18 +0000 (19:48 +0000)]
Use the MS ABI for Win32 targets by default

In addition to being a sensible default, this is a huge improvement
in test coverage for the MS ABI: any bot that targets Win32 will
now run the test suite using the MS ABI by default.

Differential Revision: http://llvm-reviews.chandlerc.com/D2401

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

10 years agoUpdate tests in preparation for using the MS ABI for Win32 targets
Hans Wennborg [Mon, 13 Jan 2014 19:48:13 +0000 (19:48 +0000)]
Update tests in preparation for using the MS ABI for Win32 targets

In preparation for making the Win32 triple imply MS ABI mode,
make all tests pass in this mode, or make them use the Itanium
mode explicitly.

Differential Revision: http://llvm-reviews.chandlerc.com/D2401

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

10 years ago[ms-abi] Quick fix layout of an array of records
Reid Kleckner [Mon, 13 Jan 2014 19:25:00 +0000 (19:25 +0000)]
[ms-abi] Quick fix layout of an array of records

This fixes llvm::SmallVector, which fixes lots of TUs in the MS ABI self
host.

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

10 years agoFollow-up to r199120: don't try referencing the dtor if the param decl isn't valid.
Hans Wennborg [Mon, 13 Jan 2014 19:24:31 +0000 (19:24 +0000)]
Follow-up to r199120: don't try referencing the dtor if the param decl isn't valid.

This was caught by running test/SemaCXX/destructor.cpp in MS ABI mode.

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

10 years agoUpdate for getLazyBitcodeModule API change.
Rafael Espindola [Mon, 13 Jan 2014 18:31:09 +0000 (18:31 +0000)]
Update for getLazyBitcodeModule API change.

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

10 years agoHook up NetBSD/aarch64.
Joerg Sonnenberger [Mon, 13 Jan 2014 18:25:15 +0000 (18:25 +0000)]
Hook up NetBSD/aarch64.

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

10 years ago[analyzer] Add a CFG node for the allocator call in a C++ 'new' expression.
Jordan Rose [Mon, 13 Jan 2014 17:59:19 +0000 (17:59 +0000)]
[analyzer] Add a CFG node for the allocator call in a C++ 'new' expression.

In an expression like "new (a, b) Foo(x, y)", two things happen:
- Memory is allocated by calling a function named 'operator new'.
- The memory is initialized using the constructor for 'Foo'.

Currently the analyzer only models the second event, though it has special
cases for both the default and placement forms of operator new. This patch
is the first step towards properly modeling both events: it changes the CFG
so that the above expression now generates the following elements.

1. a
2. b
3. (CFGNewAllocator)
4. x
5. y
6. Foo::Foo

The analyzer currently ignores the CFGNewAllocator element, but the next
step is to treat that as a call like any other.

The CFGNewAllocator element is not added to the CFG for analysis-based
warnings, since none of them take advantage of it yet.

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

10 years ago[ms-cxxabi] Elide dtor access checks for pass-by-val objects in callees
Hans Wennborg [Mon, 13 Jan 2014 17:23:24 +0000 (17:23 +0000)]
[ms-cxxabi] Elide dtor access checks for pass-by-val objects in callees

The ABI requires the destructor to be invoked in the callee, but the
standard does not require access checks here so we avoid doing direct
access checks on the destructor.

If we end up needing to define an implicit destructor, we don't skip
access checks for the base class, etc. Those checks are effectively part
of generating the destructor definition, and aren't affected by which TU
the check is performed in.

Differential Revision: http://llvm-reviews.chandlerc.com/D2409

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

10 years agoclang-format: Fix corner case with comment in ctor initializer.
Daniel Jasper [Mon, 13 Jan 2014 14:10:04 +0000 (14:10 +0000)]
clang-format: Fix corner case with comment in ctor initializer.

Formatting:
  Constructor() :
      // Comment forcing unwanted break.
      aaaa(aaaa) {}

Before:
  Constructor()
      :
        // Comment forcing unwanted break.
        aaaa(aaaa) {}

After:
  Constructor()
      : // Comment forcing unwanted break.
        aaaa(aaaa) {}

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

10 years agoclang-format: Don't indent relative to ./->.
Daniel Jasper [Mon, 13 Jan 2014 13:42:08 +0000 (13:42 +0000)]
clang-format: Don't indent relative to ./->.

Before:
  SomeThing          // break
      .SomeFunction( // break
           param);
After:
  SomeThing          // break
      .SomeFunction( // break
          param);

Seems to be more common in editors and codebases I have looked at.

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

10 years ago[PM] Update Clang to reflect LLVM r199095 which moves the core DomTree
Chandler Carruth [Mon, 13 Jan 2014 10:56:17 +0000 (10:56 +0000)]
[PM] Update Clang to reflect LLVM r199095 which moves the core DomTree
algorithms and datastructures into the fully generic support library,
separating them (almost) entirely from the LLVM IR. This makes the
reliance on domtrees here *much* cleaner.

It might be worthwhile for someone to use extern templates and other
tools to sink a lot more of this code into the .cpp files instead of the
.h files, but leaving that for someone other than me.

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

10 years ago[cleanup] Update the include of Dominators.h to reflect its move to the
Chandler Carruth [Mon, 13 Jan 2014 09:26:48 +0000 (09:26 +0000)]
[cleanup] Update the include of Dominators.h to reflect its move to the
IR library in LLVM r199082.

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

10 years ago[PM] Update Clang to reflect the new header for the bitcode writer pass
Chandler Carruth [Mon, 13 Jan 2014 07:47:38 +0000 (07:47 +0000)]
[PM] Update Clang to reflect the new header for the bitcode writer pass
added in LLVM r199078.

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

10 years ago[CMake] Move BUG_REPORT_URL from clang to llvm.
NAKAMURA Takumi [Mon, 13 Jan 2014 05:25:13 +0000 (05:25 +0000)]
[CMake] Move BUG_REPORT_URL from clang to llvm.

It was too late to set BUG_REPORT_URL after configure_file(config.h).
BUG_REPORT_URL in config.h.cmake would be updated at 2nd run of cmake.
It caused many recompilations.

FYI, configure handles BUG_REPORT_URL in llvm side.

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

10 years agoRename target i386-linux-android to i686-linux-android
Alexey Bataev [Mon, 13 Jan 2014 03:49:38 +0000 (03:49 +0000)]
Rename target i386-linux-android to i686-linux-android

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

10 years agoAdd help text for -MMD, -MD, -MM, -M, -MF.
Nico Weber [Sun, 12 Jan 2014 23:12:35 +0000 (23:12 +0000)]
Add help text for -MMD, -MD, -MM, -M, -MF.

Also regroup these flags so that alike flags are next to each other, while
keeping the list still mostly alphabetical.

The help text isn't ideal, but I feel it's less maze-like than
http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Preprocessor-Options.html (look
at the entry for '-MMD' and count how many other entries you need to look up
until you know what it does).

And it looks like -M / -MM are mostly an historical accident and most people
use -MD or -MMD for deps tracking these days, so make -M / -MM refer to
-MD / -MMD instead of the other way round.

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

10 years agoDynamicASTMatchers/VariantValueTest.cpp: It works with msvcrt since setmode(stderr...
NAKAMURA Takumi [Sun, 12 Jan 2014 17:49:26 +0000 (17:49 +0000)]
DynamicASTMatchers/VariantValueTest.cpp: It works with msvcrt since setmode(stderr, O_BINARY) were removed.

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

10 years agoDelete inaccurate doc comment - isVariadic is long gone
Alp Toker [Sun, 12 Jan 2014 15:18:15 +0000 (15:18 +0000)]
Delete inaccurate doc comment - isVariadic is long gone

The canonical documentation in the header is up-to-date.

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

10 years agoClarify warn_cxx98_compat_attribute diagnostic
Alp Toker [Sun, 12 Jan 2014 15:18:06 +0000 (15:18 +0000)]
Clarify warn_cxx98_compat_attribute diagnostic

Various attribute flavours are supported in C++98. Make it clear that this
compatibility warning relates specifically to C++11-style generalized
attributes.

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

10 years ago[PM] Update the creation of an IR printing pass to reflect the API
Chandler Carruth [Sun, 12 Jan 2014 11:31:22 +0000 (11:31 +0000)]
[PM] Update the creation of an IR printing pass to reflect the API
update in LLVM r199044.

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

10 years ago[PM] Update Clang to follow the header rename in LLVM r199041.
Chandler Carruth [Sun, 12 Jan 2014 11:11:50 +0000 (11:11 +0000)]
[PM] Update Clang to follow the header rename in LLVM r199041.

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

10 years agoSPARC passes non-trivial C++ objects indirectly like everybody else.
Jakob Stoklund Olesen [Sun, 12 Jan 2014 06:54:56 +0000 (06:54 +0000)]
SPARC passes non-trivial C++ objects indirectly like everybody else.

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

10 years agoMIPS and SPARC assemblers both take the -KPIC flag.
Jakob Stoklund Olesen [Sun, 12 Jan 2014 04:53:36 +0000 (04:53 +0000)]
MIPS and SPARC assemblers both take the -KPIC flag.

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

10 years agotest case hygiene.
Benjamin Kramer [Sat, 11 Jan 2014 21:22:35 +0000 (21:22 +0000)]
test case hygiene.

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

10 years agoMake helper function static.
Benjamin Kramer [Sat, 11 Jan 2014 18:42:35 +0000 (18:42 +0000)]
Make helper function static.

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

10 years agoSelect the UltraSPARC instruction set when invoking the assembler.
Jakob Stoklund Olesen [Sat, 11 Jan 2014 18:25:01 +0000 (18:25 +0000)]
Select the UltraSPARC instruction set when invoking the assembler.

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

10 years agoWhoops! Fix major think-o in the first example in the documentation that I edited...
Nick Lewycky [Sat, 11 Jan 2014 02:55:22 +0000 (02:55 +0000)]
Whoops! Fix major think-o in the first example in the documentation that I edited at 3am.

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

10 years agoAdd a new attribute 'enable_if' which can be used to control overload resolution...
Nick Lewycky [Sat, 11 Jan 2014 02:50:57 +0000 (02:50 +0000)]
Add a new attribute 'enable_if' which can be used to control overload resolution based on the values of the function arguments at the call site.

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

10 years agoUse the appropriate SourceLocation for the template backtrace when doing
Nick Lewycky [Sat, 11 Jan 2014 02:37:12 +0000 (02:37 +0000)]
Use the appropriate SourceLocation for the template backtrace when doing
template argument deduction.

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

10 years agoPR12208: Under -fno-elide-constructors, don't forget to actually copy an NRVO
Richard Smith [Sat, 11 Jan 2014 01:24:05 +0000 (01:24 +0000)]
PR12208: Under -fno-elide-constructors, don't forget to actually copy an NRVO
variable to the return slot. Patch by David Wiberg, with test case alterations
by me.

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

10 years ago[ms-abi] Change the way alignment is tracked
Warren Hunt [Sat, 11 Jan 2014 01:16:40 +0000 (01:16 +0000)]
[ms-abi] Change the way alignment is tracked

This patch more cleanly seperates the concepts of Preferred Alignment
and Required Alignment.  Most notable that changes to Required Alignment
do *not* impact preferred alignment until late in struct layout.  This
is observable when using pragma pack and non-virtual bases and the use
of tail padding when laying them out.

Test cases included.

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

10 years agoFix "regression" caused by updating our notion of POD to better match the C++11
Richard Smith [Sat, 11 Jan 2014 00:53:35 +0000 (00:53 +0000)]
Fix "regression" caused by updating our notion of POD to better match the C++11
rules: instead of requiring flexible array members to be POD, require them to
be trivially-destructible. This seems to be the only constraint that actually
matters here (and even then, it's questionable whether this matters).

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

10 years ago[ms-abi] Adjusting Rules for Padding Between Bases
Warren Hunt [Fri, 10 Jan 2014 23:32:32 +0000 (23:32 +0000)]
[ms-abi] Adjusting Rules for Padding Between Bases

The presence of a VBPtr suppresses the presence of zero sized
sub-objects in the non-virtual portion of the object in the context of
determining if two base objects need alias-avoidance padding placed
between them.

Test cases included.

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

10 years agoUse the simpler version of llvm::sys::fs::remove when possible.
Rafael Espindola [Fri, 10 Jan 2014 21:32:14 +0000 (21:32 +0000)]
Use the simpler version of llvm::sys::fs::remove when possible.

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

10 years agoDowngrade bogus ExtWarn on duplicate 'friend' specifier to a Warning, and add a
Richard Smith [Fri, 10 Jan 2014 21:27:55 +0000 (21:27 +0000)]
Downgrade bogus ExtWarn on duplicate 'friend' specifier to a Warning, and add a
Warning for a duplicate 'constexpr' specifier.

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

10 years ago[analyzer] Model getters of known-@synthesized Objective-C properties.
Jordan Rose [Fri, 10 Jan 2014 20:06:06 +0000 (20:06 +0000)]
[analyzer] Model getters of known-@synthesized Objective-C properties.

...by synthesizing their body to be "return self->_prop;", with an extra
nudge to RetainCountChecker to still treat the value as +0 if we have no
other information.

This doesn't handle weak properties, but that's mostly correct anyway,
since they can go to nil at any time. This also doesn't apply to properties
whose implementations we can't see, since they may not be backed by an
ivar at all. And finally, this doesn't handle properties of C++ class type,
because we can't invoke the copy constructor. (Sema has actually done this
work already, but the AST it synthesizes is one the analyzer doesn't quite
handle -- it has an rvalue DeclRefExpr.)

Modeling setters is likely to be more difficult (since it requires
handling strong/copy), but not impossible.

<rdar://problem/11956898>

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

10 years agoObjectiveC. Remove warning on mismatched methods
Fariborz Jahanian [Fri, 10 Jan 2014 19:27:21 +0000 (19:27 +0000)]
ObjectiveC. Remove warning on mismatched methods
which may belong to unrelated classes. It was
primarily intended for miuse of @selector expression.
But warning is too noisy and will be issued when
an actual @selector is used. // rdar://15740134

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

10 years agoImplement -m32 and -m64 with llvm::Triple functions.
Jakob Stoklund Olesen [Fri, 10 Jan 2014 15:25:23 +0000 (15:25 +0000)]
Implement -m32 and -m64 with llvm::Triple functions.

Don't repeat the 32 <-> 64 architecture mapping incompletely.

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

10 years agoRemove unexpected code completion handling from ConsumeToken()
Alp Toker [Fri, 10 Jan 2014 14:37:02 +0000 (14:37 +0000)]
Remove unexpected code completion handling from ConsumeToken()

With this change tok::code_completion is finally handled exclusively as a
special token kind like other tokens that need special treatment.

All callers have been updated to use the specific token consumption methods and
the parser has a clear idea the current token isn't special by the time
ConsumeToken() gets called, so this has been unreachable for some time.

ConsumeAnyToken() behaviour is unchanged and will continue to support
unexpected code completion as part of the special token path.

This survived an amount of fuzzing and validation, but please ping the list if
you hit a code path that previously relied on the old unexpected handler and
now asserts.

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

10 years agoEnable -fuse-init-array for all AArch64 ELF targets by default, not just linux.
Kristof Beyls [Fri, 10 Jan 2014 13:44:34 +0000 (13:44 +0000)]
Enable -fuse-init-array for all AArch64 ELF targets by default, not just linux.

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

10 years agoUse 'w' instead of 'c' to represent the win32 mangling.
Rafael Espindola [Fri, 10 Jan 2014 13:42:17 +0000 (13:42 +0000)]
Use 'w' instead of 'c' to represent the win32 mangling.

This change was requested to avoid confusion if we ever support non windows
coff systems.

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

10 years agoUpdate LangOpt descriptions
Alp Toker [Fri, 10 Jan 2014 11:19:45 +0000 (11:19 +0000)]
Update LangOpt descriptions

Based on recent discussions, attempt to provide a clearer distinction between
MicrosoftMode and MicrosoftExt. This still doesn't feel perfect but gives a
better idea which is which.

Also update the CPlusPlus11 description which got missed in r171367.

C++0x is dead, long live C++0x!

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

10 years agoTryConsume parser cleanups
Alp Toker [Fri, 10 Jan 2014 11:19:30 +0000 (11:19 +0000)]
TryConsume parser cleanups

Also move some comments into the block they were meant to describe.

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

10 years agoclang-format: Slightly adapt line break in edge case.
Daniel Jasper [Fri, 10 Jan 2014 08:40:17 +0000 (08:40 +0000)]
clang-format: Slightly adapt line break in edge case.

Before:
  SomeMap[std::pair(aaaaaaaaaaaabbbbbbbbbbbbbbb)]
      .insert(ccccccccccccccccccccccc);

After:
  SomeMap[std::pair(aaaaaaaaaaaabbbbbbbbbbbbbbb)].insert(
      ccccccccccccccccccccccc);

This seems to be about 3:1 more common in Google and Chromium style and I found
only a handful of instances inside the LLVM codebase.

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

10 years agoUse the right dynamic linker for SPARC Linux executables.
Jakob Stoklund Olesen [Fri, 10 Jan 2014 08:18:34 +0000 (08:18 +0000)]
Use the right dynamic linker for SPARC Linux executables.

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

10 years agoreapply r198858: Disable LeakSanitizer in TableGen binaries, see PR18325; this time...
Kostya Serebryany [Fri, 10 Jan 2014 08:05:42 +0000 (08:05 +0000)]
reapply r198858: Disable LeakSanitizer in TableGen binaries, see PR18325; this time LeakSanitizerIsTurnedOffForTheCurrentProcess is used instead of __lsan_is_turned_off

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

10 years agoclang-format: Understand ObjC boxed expressions.
Daniel Jasper [Fri, 10 Jan 2014 07:44:53 +0000 (07:44 +0000)]
clang-format: Understand ObjC boxed expressions.

Before:
  [dictionary setObject:@(1)forKey:@"number"];
After:
  [dictionary setObject:@(1) forKey:@"number"];

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

10 years agoLocate GCC installations on SPARC systems.
Jakob Stoklund Olesen [Fri, 10 Jan 2014 06:53:02 +0000 (06:53 +0000)]
Locate GCC installations on SPARC systems.

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

10 years agoMake the tautological out of range warning use Sema::DiagRuntimeBehavior so that
Richard Trieu [Fri, 10 Jan 2014 04:38:09 +0000 (04:38 +0000)]
Make the tautological out of range warning use Sema::DiagRuntimeBehavior so that
the warning will not trigger on code protected by compile time checks.

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

10 years agoGive the linker the right ELF type for SPARC targets.
Jakob Stoklund Olesen [Fri, 10 Jan 2014 03:51:33 +0000 (03:51 +0000)]
Give the linker the right ELF type for SPARC targets.

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

10 years agoPass -32/-64 to the assembler when building for sparc/sparc64.
Jakob Stoklund Olesen [Fri, 10 Jan 2014 03:51:29 +0000 (03:51 +0000)]
Pass -32/-64 to the assembler when building for sparc/sparc64.

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

10 years ago[ms-abi] Handle __declspec(align) on bitfields "properly"
Warren Hunt [Fri, 10 Jan 2014 01:28:05 +0000 (01:28 +0000)]
[ms-abi] Handle __declspec(align) on bitfields "properly"

__declspec(align), when applied to bitfields affects their perferred
alignment instead of their required alignment.  We don't know why.
Also, #pragma pack(n) turns packing *off* if n is greater than the
pointer size.  This is now observable because of the impact of
declspec(align) on bitfields.

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

10 years agoCGRecordLayoutBuilder.cpp: Clarify if-else. [-Wdangling-else]
NAKAMURA Takumi [Fri, 10 Jan 2014 00:54:50 +0000 (00:54 +0000)]
CGRecordLayoutBuilder.cpp: Clarify if-else. [-Wdangling-else]

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