Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks provided by C++11 compilers when "override" is used. Closes #16100. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
34e4f66d6a
commit
33ad33d447
140 changed files with 865 additions and 718 deletions
33
acinclude.m4
33
acinclude.m4
|
|
@ -255,6 +255,39 @@ AC_DEFUN([WX_CPP_EXPLICIT],
|
|||
fi
|
||||
])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl WX_CPP_OVERRIDE checks whether the C++ compiler support the override
|
||||
dnl keyword and defines HAVE_OVERRIDE if this is the case
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_DEFUN([WX_CPP_OVERRIDE],
|
||||
[
|
||||
AC_CACHE_CHECK([if C++ compiler supports the override keyword],
|
||||
wx_cv_override,
|
||||
[
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
struct Base { virtual void Foo() = 0; };
|
||||
struct Derived : Base { virtual void Foo() override { } };
|
||||
],
|
||||
[
|
||||
return 0;
|
||||
],
|
||||
wx_cv_override=yes,
|
||||
wx_cv_override=no
|
||||
)
|
||||
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
|
||||
if test "$wx_cv_override" = "yes"; then
|
||||
AC_DEFINE(HAVE_OVERRIDE)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl WX_CHECK_FUNCS(FUNCTIONS...,
|
||||
dnl [ACTION-IF-FOUND],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue