MSVC supported using an enumerator as a nested-name-specifier for a long time.
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