You copied the Doc URL to your clipboard.

--type_traits_helpers, --no_type_traits_helpers

Enables and disables support for C++ type traits helpers (such as __is_union and __has_virtual_destructor).

C++11 provides type traits, a compile-time template-based interface to query the properties and characteristics of types.

ARM Compiler recognizes the following set of type trait helper pseudo-functions:

  • __has_assign
  • __has_copy
  • __has_nothrow_assign
  • __has_nothrow_constructor
  • __has_nothrow_copy
  • __has_trivial_assign
  • __has_trivial_constructor
  • __has_trivial_copy
  • __has_trivial_destructor
  • __has_user_destructor
  • __has_virtual_destructor
  • __is_abstract
  • __is_base_of
  • __is_class
  • __is_convertible_to
  • __is_empty
  • __is_enum
  • __is_pod
  • __is_polymorphic
  • __is_union
  • __is_trivial
  • __is_standard_layout
  • __is_trivially_copyable
  • __is_literal_type
  • __has_trivial_move_constructor
  • __has_trivial_move_assign
  • __has_nothrow_move_assign
  • __is_constructible
  • __is_nothrow_constructible
  • __is_trivially_constructible
  • __is_destructible
  • __is_nothrow_destructible
  • __is_trivially_destructible
  • __is_nothrow_assignable
  • __is_trivially_assignable
  • __underlying_type

Type traits helpers are enabled in non-GNU C++ mode by default, and in GNU C++ mode when emulating g++ 4.3 and later.

Specifying --no_type_trait_helpers stops the compiler from recognizing these names as pseudo-functions. This can avoid name clashes when linking objects from other compilers.

Was this page helpful? Yes No