Define wxHAS_NULLPTR_T if nullptr is supported
This is necessary because MSVS versions as old as 2010 support it, even if they don't have full C++11 support and so don't define __cplusplus appropriately. Extract the existing check for nullptr from wx/strvararg.h to wx/defs.h in order to allow reusing it.
This commit is contained in:
parent
c34a7a2e30
commit
7969f3f81c
@ -187,6 +187,7 @@ Currently the following symbols exist:
|
||||
@itemdef{wxHAS_MULTIPLE_FILEDLG_FILTERS, Defined if wxFileDialog supports multiple ('|'-separated) filters.}
|
||||
@itemdef{wxHAS_NATIVE_DATAVIEWCTRL, Defined if native wxDataViewCtrl class is being used (this symbol only exists in wxWidgets 3.1.4 and later).}
|
||||
@itemdef{wxHAS_NATIVE_WINDOW, Defined if wxNativeWindow class is available.}
|
||||
@itemdef{wxHAS_NULLPTR_T, Defined if the currently used compiler supports C++11 @c nullptr.}
|
||||
@itemdef{wxHAS_IMAGES_IN_RESOURCES, Defined if <a href="http://en.wikipedia.org/wiki/Resource_(Windows)">
|
||||
Windows resource files</a> or OS/2 resource files are available on the current platform.}
|
||||
@itemdef{wxHAS_POWER_EVENTS, Defined if wxPowerEvent are ever generated on the current platform.}
|
||||
|
@ -285,6 +285,14 @@ typedef short int WXTYPE;
|
||||
#define wxOVERRIDE
|
||||
#endif /* HAVE_OVERRIDE */
|
||||
|
||||
/*
|
||||
Support for nullptr is available since MSVS 2010, even though it doesn't
|
||||
define __cplusplus as a C++11 compiler.
|
||||
*/
|
||||
#if __cplusplus >= 201103 || wxCHECK_VISUALC_VERSION(10)
|
||||
#define wxHAS_NULLPTR_T
|
||||
#endif
|
||||
|
||||
/* wxFALLTHROUGH is used to notate explicit fallthroughs in switch statements */
|
||||
|
||||
#if __cplusplus >= 201703L
|
||||
|
@ -425,9 +425,7 @@ wxFORMAT_STRING_SPECIFIER(int*, wxFormatString::Arg_IntPtr | wxFormatString::Arg
|
||||
wxFORMAT_STRING_SPECIFIER(short int*, wxFormatString::Arg_ShortIntPtr | wxFormatString::Arg_Pointer)
|
||||
wxFORMAT_STRING_SPECIFIER(long int*, wxFormatString::Arg_LongIntPtr | wxFormatString::Arg_Pointer)
|
||||
|
||||
// Support for nullptr is available since MSVS 2010, even though it doesn't
|
||||
// define __cplusplus as a C++11 compiler.
|
||||
#if __cplusplus >= 201103 || wxCHECK_VISUALC_VERSION(10)
|
||||
#ifdef wxHAS_NULLPTR_T
|
||||
wxFORMAT_STRING_SPECIFIER(std::nullptr_t, wxFormatString::Arg_Pointer)
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user