Macro: ac_cxx_rtti

Back to the Main Page. | # ac_cxx_rtti | Download the M4 Source.

Synopsis

  `AC_CXX_RTTI`

Version

  1.1.1.1 (2001/07/26) C++_Support @ ac-archive-0.5.39

Author

  Luc Maisonobe

Description

  If the compiler supports Run-Time Type Identification (typeinfo header and typeid keyword), define HAVE_RTTI.

M4 Source Code

      AC_DEFUN([AC_CXX_RTTI],
      [AC_CACHE_CHECK(whether the compiler supports Run-Time Type Identification,
      ac_cv_cxx_rtti,
      [AC_LANG_SAVE
       AC_LANG_CPLUSPLUS
       AC_TRY_COMPILE([#include <typeinfo>
      class Base { public :
                   Base () {}
                   virtual int f () { return 0; }
                 };
      class Derived : public Base { public :
                                    Derived () {}
                                    virtual int f () { return 1; }
                                  };
      ],[Derived d;
      Base *ptr = &d;
      return typeid (*ptr) == typeid (Derived);
      ],
       ac_cv_cxx_rtti=yes, ac_cv_cxx_rtti=no)
       AC_LANG_RESTORE
      ])
      if test "$ac_cv_cxx_rtti" = yes; then
        AC_DEFINE(HAVE_RTTI,,
                  [define if the compiler supports Run-Time Type Identification])
      fi
      ])