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

Reply via email to