aaron.ballman added a comment. Can you add tests for C mode as well, as it seems the behavior differs there. Given:
__declspec(dllexport) int const x = 3; __declspec(dllexport) const int y; extern int const z = 4; int main() { int a = x + y + z; return a; } I get: C:\Users\aballman.GRAMMATECH\source\repos\ConsoleApplication1\ConsoleApplication1>cl -c ConsoleApplication1.cpp Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27026.1 for x64 Copyright (C) Microsoft Corporation. All rights reserved. ConsoleApplication1.cpp ConsoleApplication1.cpp(2): error C2734: 'y': 'const' object must be initialized if not 'extern' C:\Users\aballman.GRAMMATECH\source\repos\ConsoleApplication1\ConsoleApplication1>cl -c /Tc ConsoleApplication1.cpp Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27026.1 for x64 Copyright (C) Microsoft Corporation. All rights reserved. ConsoleApplication1.cpp C:\Users\aballman.GRAMMATECH\source\repos\ConsoleApplication1\ConsoleApplication1>dumpbin /symbols ConsoleApplication1.obj | grep External 008 00000000 SECT3 notype External | x 009 00000004 UNDEF notype External | y 00A 00000004 SECT3 notype External | z 00D 00000000 SECT4 notype () External | main After commenting out the declaration and use of `y` and recompiling in C++ mode: C:\Users\aballman.GRAMMATECH\source\repos\ConsoleApplication1\ConsoleApplication1>dumpbin /symbols ConsoleApplication1.obj | grep External 008 00000000 SECT3 notype External | ?z@@3HB (int const z) 00B 00000000 SECT4 notype () External | main ================ Comment at: test/Sema/dllexport-1.cpp:2 +// RUN: %clang_cc1 -triple i686-win32 -fsyntax-only -fms-extensions -verify %s +// RUN: %clang_cc1 -triple x86_64-win32 -fsyntax-only -fms-extensions -verify -std=c++11 %s + ---------------- Can remove some extra whitespace before `-fsyntax-only` (same is true in the other test as well). CHANGES SINCE LAST ACTION https://reviews.llvm.org/D45978/new/ https://reviews.llvm.org/D45978 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits