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:
Vadim Zeitlin 2014-03-20 13:26:28 +00:00
parent 34e4f66d6a
commit 33ad33d447
140 changed files with 865 additions and 718 deletions

View file

@ -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],