- Jan 14, 2014
-
-
Jordan Rose authored
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
-
Nico Rieck authored
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
-
Eli Bendersky authored
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
-
Alp Toker authored
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
-
Alp Toker authored
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
-
Joey Gouly authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199208 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199201 91177308-0d34-0410-b5e6-96231b3b80d8
-
Sylvestre Ledru authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199199 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
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
-
David Majnemer authored
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
-
David Majnemer authored
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
-
David Majnemer authored
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
-
Jakob Stoklund Olesen authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199189 91177308-0d34-0410-b5e6-96231b3b80d8
-
Jakob Stoklund Olesen authored
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
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199177 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bob Wilson authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199176 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
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
-
Warren Hunt authored
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
-
Reid Kleckner authored
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
-
DeLesley Hutchins authored
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
-
Warren Hunt authored
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
-
- Jan 13, 2014
-
-
Reid Kleckner authored
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
-
Warren Hunt authored
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
-
Hans Wennborg authored
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
-
Chandler Carruth authored
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
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199151 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chandler Carruth authored
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
-
Aaron Ballman authored
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
-
Aaron Ballman authored
__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
-
Aaron Ballman authored
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
-
Aaron Ballman authored
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
-
Justin Bogner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199140 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Bogner authored
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
-
Justin Bogner authored
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
-
Justin Bogner authored
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
-
Justin Bogner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199136 91177308-0d34-0410-b5e6-96231b3b80d8
-
Warren Hunt authored
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
-
Hans Wennborg authored
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
-
Hans Wennborg authored
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
-
Reid Kleckner authored
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
-