llvm-project/clang/test/CodeGenCXX/dllexport-missing-key.cpp
Tomohiro Kashiwada a3d52ea99e
[Cygwin] RTTI and VTable should be dllexport-ed (#139798)
Behaves as same as both of Clang and GCC targetting MinGW. Required for
compatibility for Cygwin-GCC.

Divided from https://github.com/llvm/llvm-project/pull/138773
2025-05-14 22:22:18 +03:00

24 lines
802 B
C++

// RUN: %clang_cc1 -triple x86_64-windows-gnu -emit-llvm -std=c++11 -o - %s | FileCheck --check-prefix=GNU %s
// RUN: %clang_cc1 -triple x86_64-pc-cygwin -emit-llvm -std=c++11 -o - %s | FileCheck --check-prefix=GNU %s
class __declspec(dllexport) QAbstractLayoutStyleInfo {
public:
QAbstractLayoutStyleInfo() : m_isWindow(false) {}
virtual ~QAbstractLayoutStyleInfo() {}
virtual bool hasChangedCore() const { return false; }
virtual void invalidate() {}
virtual double windowMargin(bool orientation) const = 0;
bool isWindow() const { return m_isWindow; }
protected:
bool m_isWindow;
};
// GNU-DAG: @_ZTV24QAbstractLayoutStyleInfo = weak_odr dso_local dllexport
// GNU-DAG: @_ZTS24QAbstractLayoutStyleInfo = linkonce_odr
// GNU-DAG: @_ZTI24QAbstractLayoutStyleInfo = linkonce_odr