Don't use WXDLLIMPEXP_FWD_BASE in typedef to fix clang build

clang doesn't seem to like __declspec in typedefs, so declare the class
first using the macro expanding into __declspec and don't use it in the
typedef later.

Closes #18196.
This commit is contained in:
Vadim Zeitlin 2018-08-16 13:30:07 +02:00
parent 48fc60609d
commit c6af757edb

View File

@ -40,10 +40,13 @@ union wxHashKeyValue
// enough, so provide a real forward declaration // enough, so provide a real forward declaration
class WXDLLIMPEXP_FWD_BASE wxHashTableBase; class WXDLLIMPEXP_FWD_BASE wxHashTableBase;
// and clang doesn't like using WXDLLIMPEXP_FWD_BASE inside a typedef.
class WXDLLIMPEXP_FWD_BASE wxHashTableBase_Node;
class WXDLLIMPEXP_BASE wxHashTableBase_Node class WXDLLIMPEXP_BASE wxHashTableBase_Node
{ {
friend class WXDLLIMPEXP_FWD_BASE wxHashTableBase; friend class wxHashTableBase;
typedef class WXDLLIMPEXP_FWD_BASE wxHashTableBase_Node _Node; typedef class wxHashTableBase_Node _Node;
public: public:
wxHashTableBase_Node( long key, void* value, wxHashTableBase_Node( long key, void* value,
wxHashTableBase* table ); wxHashTableBase* table );