I'm not a qualified code reviewer, but I can say that the Mac Business Unit in 
Microsoft would like to see this patch adopted. We use clang via Xcode to 
compile code that was often written originally for MSVC, so the -fms-extensions 
flag is very valuable to us.

Schwieb

-----Original Message-----
From: [email protected] [mailto:[email protected]] 
On Behalf Of Jason Haslam
Sent: Friday, February 8, 2013 10:13 AM
To: [email protected]
Subject: Re: Patch to accept over-qualified constructor in MSVC emulation mode

Ping. Any interest in this?

Jason


On Feb 6, 2013, at 2:19 PM, Jason Haslam <[email protected]> wrote:

> MSVC accepts this:
> 
> class A {
>  A::A();
> };
> 
> Clang accepts regular member functions with extra qualification as an MS 
> extension, but not constructors. The attached patch changes the parser to 
> defer rejecting qualified constructors so that the same Sema logic can apply 
> to constructors as regular member functions. This also improves the error 
> message when MS extensions are disabled (in my opinion). Before it was:
> 
> /Users/jason/Desktop/test.cpp:2:8: error: expected member name or ';' after 
> declaration specifiers
>  A::A();
>  ~~~~ ^
> 1 error generated.
> 
> After:
> 
> /Users/jason/Desktop/test.cpp:2:6: error: extra qualification on member 'A'
>  A::A();
>  ~~~^
> 1 error generated.
> 
> All tests pass and I added one additional test for this case.
> 
> Jason
> 
> <over-qualified-ctor.diff>


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




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

Reply via email to