David Majnemer
29c69db760
[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.
llvm-svn: 243233
2015-07-26 01:48:59 +00:00
David Majnemer
be52539650
Sema: size_t is available in C when -fms-compatibility is enabled
...
llvm-svn: 229616
2015-02-18 02:28:13 +00:00
Aaron Ballman
fdd783a501
Unify __declspec attribute argument parsing with the common attribute argument parsing code.
...
This removes a diagnostic that is no longer required (the semantic engine now properly handles attribute syntax so __declspec and __attribute__ spellings no longer get mismatched). This caused several testcases to need updating for a slightly different wording.
llvm-svn: 205234
2014-03-31 18:18:43 +00:00
Aaron Ballman
c698809955
No longer accepting attribute spellings with prefix and suffix underscores except for GNU attributes, or C++11-style attributes in the GNU namespace. This prevents attributes such as __declspec(__dllexport__) or [[__noreturn__]] from being treated as known attributes.
...
llvm-svn: 197082
2013-12-11 22:27:44 +00:00
Aaron Ballman
a99c35702d
Splitting this test case into two because the behavior for the calling convention code is target-specific.
...
llvm-svn: 165016
2012-10-02 14:56:00 +00:00
Aaron Ballman
e91c6be01e
Allowing individual targets to determine whether a given calling convention is allowed or ignored with warning. This allows for correct name mangling for x64 targets on Windows, which in turn allows for linking against the Win32 APIs.
...
Fixes PR13782
llvm-svn: 165015
2012-10-02 14:26:08 +00:00
Aaron Ballman
478faed4b0
Reapplying the changes from r158717 as they were rolled back to avoid merge conflicts from a separate problematic patch.
...
llvm-svn: 158750
2012-06-19 22:09:27 +00:00
Jakob Stoklund Olesen
e1c0ae6fda
Revert r158700 and dependent patches r158716, r158717, and r158731.
...
The original r158700 caused crashes in the gcc test suite,
g++.abi/vtable3a.C among others. It also caused failures in the libc++
test suite.
llvm-svn: 158749
2012-06-19 21:48:43 +00:00
Aaron Ballman
38c9ad9e72
Improves parsing and semantic analysis for MS __declspec attributes. This includes support for the align (which fixes PR12631).
...
llvm-svn: 158717
2012-06-19 13:49:26 +00:00
Aaron Ballman
0c84ebb539
Turned on support for __declspecs: noreturn, noinline, nothrow and naked in MS compatibility mode.
...
llvm-svn: 151295
2012-02-23 22:46:33 +00:00
Eli Friedman
59e41d046e
Shift Microsoft enum extensions from -fms-extensions to -fms-compatibility, so -fms-extensions doesn't affect enum semantics in incompatible ways. <rdar://problem/10657186>.
...
llvm-svn: 150663
2012-02-16 05:20:44 +00:00