Richard Smith
810ad3eb44
Downgrade 'attribute ignored when parsing type' from error to warning, to match
...
the diagnostic's warn_ name. Switch some places (notably C++11 attributes)
which really wanted an error over to a different diagnostic. Finally, suppress
the diagnostic entirely for __ptr32, __ptr64 and __w64, to avoid producing
diagnostics in important system headers.
llvm-svn: 173788
2013-01-29 10:02:16 +00:00
Chad Rosier
879edcd1a4
Fail these tests in a way that doesn't cause unexpected successes, per Daniel's
...
suggestion.
llvm-svn: 173367
2013-01-24 20:46:39 +00:00
Chad Rosier
33a6e11c21
[ms-inline asm] Remove a warning about ms-style inline assembly not being
...
supported.
llvm-svn: 173177
2013-01-22 18:18:22 +00:00
Chad Rosier
636386753a
[driver, ms-inline asm] Have -fms-extensions enable the AsmBlocks language
...
option. MS-style inline asm can now be enabled by either -fasm-blocks or
-fms-extensions.
rdar://12808010
llvm-svn: 169445
2012-12-05 23:08:09 +00:00
Chad Rosier
c8e56e8931
[driver, ms-inline asm] MS-Style inline assembly is controlled by the
...
-fasm-blocks flag, not the -fms-extensions flag.
rdar://12808010
llvm-svn: 169422
2012-12-05 21:08:21 +00:00
Joao Matos
566359c0bf
Revert r163083 per chandlerc's request.
...
llvm-svn: 163149
2012-09-04 17:49:35 +00:00
Joao Matos
c32a7e4d8e
Implemented parsing and AST support for the MS __leave exception statement. Also a minor fix to __except printing in StmtPrinter.cpp. Thanks to Aaron Ballman for review.
...
llvm-svn: 163083
2012-09-02 03:45:41 +00:00
Eli Friedman
971bfa11c6
Unify the codepaths for emitting deprecation warnings. The test changes are just to account for us emitting notes more consistently.
...
llvm-svn: 161528
2012-08-08 21:52:41 +00:00
Chad Rosier
43b7c021b3
[ms-style asm] Change the fatal error to an extension warning. Apparently, this
...
error was asserting on anything that included Windows.h. MS-style inline asm is
still dropped, but at least now we're not completely silent about it.
llvm-svn: 158833
2012-06-20 18:28:37 +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
John McCall
8d32c05ed4
Recognize the MS inheritance attributes and turn them into attributes
...
on the RecordDecl. Persist the MS portability type attributes and
ignore them in Sema rather than the parser.
Patch by João Matos!
llvm-svn: 157288
2012-05-22 21:28:12 +00:00
Douglas Gregor
6cda0715c3
Add _alignof and __builtin_alignof as aliases for __alignof in
...
Microsoft mode, from Will Wilson!
llvm-svn: 156940
2012-05-16 20:04:05 +00:00
Aaron Ballman
c42d838d9f
Adding some more specific tests for enum declspec parsing, to prove that it really works.
...
llvm-svn: 152757
2012-03-15 00:20:05 +00:00
Aaron Ballman
9ecff02a45
Added support for parsing declspecs on enumerations. Fixes PR8783
...
llvm-svn: 151798
2012-03-01 04:09:28 +00:00
John McCall
42856de542
Hey, maybe we shouldn't silently ignore decl attributes
...
on declarators written as types.
llvm-svn: 140931
2011-10-01 05:17:03 +00:00
Francois Pichet
f2fb411d4a
Add support for Microsoft __ptr32 keyword.
...
Patch by Chris Cudmore!
llvm-svn: 138533
2011-08-25 00:36:46 +00:00
Francois Pichet
4ad2a27065
Change __debugbreak signature to void __debugbreak(void); MSVC compatibility.
...
llvm-svn: 134869
2011-07-10 14:15:07 +00:00
Chandler Carruth
bc0f9aeac3
Remove some more hard CR-LF lines. These were particularly weird as they were
...
only a few lines of the file. Also set their properties to have explicitly
native eol sytle.
llvm-svn: 130124
2011-04-25 07:09:43 +00:00
Francois Pichet
9dddd40a1c
Emit an error if operator __uuidof() is called on a type with no associated GUID.
...
llvm-svn: 122226
2010-12-20 03:51:03 +00:00
Francois Pichet
7da1166da0
Validate Microsoft's uuid attribute string.
...
llvm-svn: 122220
2010-12-20 01:41:49 +00:00
Francois Pichet
4f64c5aa70
Microsoft's __uuidof operator returns a lvalue.
...
llvm-svn: 122021
2010-12-17 02:00:06 +00:00
Francois Pichet
c2bc5ac149
Add parsing support for Microsoft attributes. MS attributes will just be skipped and not inserted into the AST for now.
...
llvm-svn: 116203
2010-10-11 12:59:39 +00:00
Francois Pichet
d61f192b1a
Add 2 Microsoft compiler intrinsics that don't require prototypes:
...
__assume
__noop
llvm-svn: 116202
2010-10-11 12:00:10 +00:00
Francois Pichet
f804a97d4f
_inline is an alias for inline in MSVC.
...
llvm-svn: 115785
2010-10-06 13:02:48 +00:00
Chris Lattner
d7821e4ec4
enhance tentative parsing to handle ms extensions, patch by Martin Vejnar!
...
llvm-svn: 115004
2010-09-28 23:35:09 +00:00
Francois Pichet
9f4f2078d6
Microsoft's __uuidof operator implementation part 1.
...
llvm-svn: 113356
2010-09-08 12:20:18 +00:00
John McCall
0f8ccc4938
Allow multiple __declspec attributes after a class-key.
...
Patch by Francois Pichet!
llvm-svn: 110344
2010-08-05 17:13:11 +00:00
Douglas Gregor
3a8e0d7d57
Revert Microsoft-specific override of the "typedef requires a name"
...
diagnostic. Instead, put it and the "declaration does not declare
anything" warning into -Wmissing-declarations.
llvm-svn: 108527
2010-07-16 15:40:40 +00:00
Douglas Gregor
5692680e0e
Suppress the "typedef requires a name" warning in Microsoft-extensions mode
...
llvm-svn: 108526
2010-07-16 15:18:19 +00:00
Charles Davis
163855f46d
dllimport and dllexport are declspec attributes, too. They're also
...
Win32-specific.
Also, fix a test to use FileCheck instead of grepping LLVM IR.
llvm-svn: 96364
2010-02-16 18:27:26 +00:00
Chris Lattner
3859c74b32
fix the microsoft "charify" extension to return the charified token
...
as a character literal, not a string literal. This might fix
rdar://7486575
llvm-svn: 92025
2009-12-23 19:15:27 +00:00
Daniel Dunbar
8fbe78f6fc
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
...
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).
llvm-svn: 91446
2009-12-15 20:14:24 +00:00
Daniel Dunbar
f4a72b06c2
Use '-x' 'foo' instead of '-x=foo'.
...
llvm-svn: 90069
2009-11-29 09:32:31 +00:00
Mike Stump
11289f4280
Remove tabs, and whitespace cleanups.
...
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Mike Stump
753d120975
Prep for new warning.
...
llvm-svn: 76709
2009-07-22 00:43:08 +00:00
Daniel Dunbar
a45cf5b6b0
Rename clang to clang-cc.
...
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
2009-03-24 02:24:46 +00:00
Chris Lattner
7b0ec8a9df
upgrade various 'implicit int' warnings from an ext-warn to warning when not
...
in C89 mode. This makes it enabled by default instead of only enabled with
-pedantic. Clang defaults to c99 mode, so people will see this more often
than with GCC, but they can always use -std=c89 if they really want c89.
llvm-svn: 65647
2009-02-27 18:53:28 +00:00
Douglas Gregor
b37080a969
Allow multiple Microsoft calling-convention keywords. Fixes rdar://problem/6486133
...
llvm-svn: 62018
2009-01-10 00:48:18 +00:00
Steve Naroff
f192fabbdc
Another tweak to handle the MS extensions (<rdar://problem/5956221>).
...
llvm-svn: 61821
2009-01-06 19:34:12 +00:00
Steve Naroff
1f42c2e94d
Fix <rdar://problem/5956221> clang ObjC rewriter: Microsoft-specific __fastcall keyword unrecognized.
...
This fix is C++ specific.
llvm-svn: 61816
2009-01-06 17:40:00 +00:00
Steve Naroff
f9c29d4200
Add parser support for __forceinline, __w64, __ptr64.
...
llvm-svn: 61431
2008-12-25 14:41:26 +00:00
Steve Naroff
44ac777741
Add parser support for __cdecl, __stdcall, and __fastcall.
...
Change preprocessor implementation of _cdecl to reference __cdecl.
llvm-svn: 61430
2008-12-25 14:16:32 +00:00