xref: /llvm-project/clang/test/CodeGenCXX/dllimport-missing-key.cpp (revision 3b528944eff16582eb44554297983f93f58d2ba7)
1*3b528944SMartin Storsjo // RUN: %clang_cc1 -triple i686-windows-gnu -emit-llvm -std=c++1y -O0 -o - %s -w | FileCheck --check-prefix=GNU %s
2*3b528944SMartin Storsjo 
3*3b528944SMartin Storsjo class __declspec(dllimport) QObjectData {
4*3b528944SMartin Storsjo public:
5*3b528944SMartin Storsjo     virtual ~QObjectData() = 0;
6*3b528944SMartin Storsjo     void *ptr;
7*3b528944SMartin Storsjo 
8*3b528944SMartin Storsjo     int method() const;
9*3b528944SMartin Storsjo };
10*3b528944SMartin Storsjo 
11*3b528944SMartin Storsjo class LocalClass : public QObjectData {
12*3b528944SMartin Storsjo };
13*3b528944SMartin Storsjo 
call()14*3b528944SMartin Storsjo void call() {
15*3b528944SMartin Storsjo     (new LocalClass())->method();
16*3b528944SMartin Storsjo }
17*3b528944SMartin Storsjo 
18*3b528944SMartin Storsjo // GNU-DAG: @_ZTV11QObjectData = available_externally dllimport
19*3b528944SMartin Storsjo // GNU-DAG: @_ZTS11QObjectData = linkonce_odr
20*3b528944SMartin Storsjo // GNU-DAG: @_ZTI11QObjectData = linkonce_odr
21