On Thu, Jan 15, 2015 at 7:46 AM, Serge Pavlov <[email protected]> wrote:
> MSVC supported using an enumerator as a nested-name-specifier for a long time.

MSVC does not have a way to turn off C++11 extensions. It is not
useful to add MS extensions for code that's accepted in C++11 mode,
because anyone using MS extensions should also have C++11 enabled.

> For instance, VS2005 compiled the code:
>
>   enum ABCD { A, B, C };
>
>   int main() {
>     return ABCD::A;
>   }
>
> without errors:
>
>   C:\Tools>cl tt.cpp
>   Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 
> 80x86
>   Copyright (C) Microsoft Corporation.  All rights reserved.
>
>   tt.cpp
>   tt.cpp(4) : warning C4482: nonstandard extension used: enum 'ABCD' used in 
> qualified name
>   Microsoft (R) Incremental Linker Version 8.00.50727.42
>   Copyright (C) Microsoft Corporation.  All rights reserved.
>
>   /out:tt.exe
>   tt.obj
>
>   C:\Tools>
>
> VS2010 compiles this code without warnings by default. It is reasonable to 
> accept this code in Microsoft mode without warnings by default, isn't it?
>
> However, complaining on using extension make the patch simpler, will update 
> it.
>
>
> http://reviews.llvm.org/D6389
>
> EMAIL PREFERENCES
>   http://reviews.llvm.org/settings/panel/emailpreferences/
>
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to