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