On 24/11/2013 14:40, Aaron Ballman wrote:
What happens with this patch and the following ill-formed declaration:

struct S {} __declspec(deprecated);

Does this compile without error? If so, that would need to be
diagnosed (and regardless, this would be a good test to have). Note,
that code compiled with MSVC does not issue a diagnostic, but it also
doesn't apply the declspec to anything. I would say this should issue
a warning for us, and not apply the declspec to anything for greatest
compatibility vs utility.

My patch handles that correctly. Here's the test:
|||
||test/SemaCXX/MicrosoftExtensions.cpp:416:26: warning: attribute 'deprecated' is ignored, place it after "struct" to apply attribute to type declaration
  struct D {} __declspec(deprecated);
|
Alp.


~Aaron

On Sun, Nov 24, 2013 at 8:08 AM, Alp Toker <[email protected]> wrote:
Hi David,

The attached patch fixes __declspec parsing after the class specification.

Verified against MSVC.

Alp.

--
http://www.nuanti.com
the browser experts


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


--
http://www.nuanti.com
the browser experts

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to