<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Macros</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_headers.html" title="Headers" /><link rel="next" href="using_dual_abi.html" title="Dual ABI" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Macros</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_dual_abi.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.macros"></a>Macros</h2></div></div></div><p>
     All library macros begin with <code class="code">_GLIBCXX_</code>.
   </p><p>
     Furthermore, all pre-processor macros, switches, and
      configuration options are gathered in the
      file <code class="filename">c++config.h</code>, which
      is generated during the libstdc++ configuration and build
      process. This file is then included when needed by files part of
      the public libstdc++ API, like
      <code class="filename">&lt;ios&gt;</code>. Most of these
      macros should not be used by consumers of libstdc++, and are reserved
      for internal implementation use. <span class="emphasis"><em>These macros cannot
      be redefined</em></span>.
   </p><p>
     A select handful of macros control libstdc++ extensions and extra
      features, or provide versioning information for the API.  Only
      those macros listed below are offered for consideration by the
      general public.
   </p><p>Below are the macros which users may check for library version
      information. </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="code">_GLIBCXX_RELEASE</code></span></dt><dd><p>The major release number for libstdc++.  This macro is defined
        to the GCC major version that the libstdc++ headers belong to,
        as an integer constant.
        When compiling with GCC it has the same value as GCC's pre-defined
        macro <span class="symbol">__GNUC__</span>.
        This macro can be used when libstdc++ is used with a non-GNU
        compiler where <span class="symbol">__GNUC__</span> is not defined, or has a
        different value that doesn't correspond to the libstdc++ version.
        This macro first appeared in the GCC 7.1 release and is not defined
        for GCC 6.x or older releases.
      </p></dd><dt><span class="term"><code class="code">__GLIBCXX__</code></span></dt><dd><p>The revision date of the libstdc++ source code,
        in compressed ISO date format, as an unsigned
        long. For notes about using this macro and details on the value of
        this macro for a particular release, please consult the
        <a class="link" href="abi.html#abi.versioning.__GLIBCXX__">ABI History</a>
        appendix.
        </p></dd></dl></div><p>Below are the macros which users may change with #define/#undef or
      with -D/-U compiler flags.  The default state of the symbol is
      listed.</p><p><span class="quote">“<span class="quote">Configurable</span>”</span> (or <span class="quote">“<span class="quote">Not configurable</span>”</span>) means
      that the symbol is initially chosen (or not) based on
      --enable/--disable options at library build and configure time
      (documented in
      <a class="link" href="configure.html" title="Configure">Configure</a>),
      with the various --enable/--disable choices being translated to
      #define/#undef).
   </p><p> <acronym class="acronym">ABI</acronym> means that changing from the default value may
  mean changing the <acronym class="acronym">ABI</acronym> of compiled code. In other words,
  these choices control code which has already been compiled (i.e., in a
  binary such as libstdc++.a/.so).  If you explicitly #define or
  #undef these macros, the <span class="emphasis"><em>headers</em></span> may see different code
  paths, but the <span class="emphasis"><em>libraries</em></span> which you link against will not.
  Experimenting with different values with the expectation of
  consistent linkage requires changing the config headers before
  building/installing the library.
   </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="code">_GLIBCXX_USE_DEPRECATED</code></span></dt><dd><p>
	Defined by default. Not configurable. ABI-changing. Turning this off
	removes older ARM-style iostreams code, and other anachronisms
	from the API.  This macro is dependent on the version of the
	standard being tracked, and as a result may give different results for
	different <code class="code">-std</code> options.  This may
	be useful in updating old C++ code which no longer meet the
	requirements of the language, or for checking current code
	against new language standards.
    </p></dd><dt><span class="term"><code class="code">_GLIBCXX_USE_CXX11_ABI</code></span></dt><dd><p>
        Defined to the value <code class="literal">1</code> by default.
        Configurable via  <code class="code">--disable-libstdcxx-dual-abi</code>
        and/or <code class="code">--with-default-libstdcxx-abi</code>.
        ABI-changing.
        When defined to a non-zero value the library headers will use the
        new C++11-conforming ABI introduced in GCC 5, rather than the older
        ABI introduced in GCC 3.4. This changes the definition of several
        class templates, including <code class="classname">std:string</code>,
        <code class="classname">std::list</code> and some locale facets.
        For more details see <a class="xref" href="using_dual_abi.html" title="Dual ABI">Dual ABI</a>.
    </p></dd><dt><span class="term"><code class="code">_GLIBCXX_CONCEPT_CHECKS</code></span></dt><dd><p>
	Undefined by default.  Configurable via
	<code class="code">--enable-concept-checks</code>.  When defined, performs
	compile-time checking on certain template instantiations to
	detect violations of the requirements of the standard.  This
	macro has no effect for freestanding implementations.
	This is described in more detail in
	<a class="link" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks">Compile Time Checks</a>.
      </p></dd><dt><span class="term"><code class="code">_GLIBCXX_ASSERTIONS</code></span></dt><dd><p>
	Undefined by default. When defined, enables extra error checking in
        the form of precondition assertions, such as bounds checking in
        strings and null pointer checks when dereferencing smart pointers.
      </p></dd><dt><span class="term"><code class="code">_GLIBCXX_DEBUG</code></span></dt><dd><p>
	Undefined by default. When defined, compiles user code using
	the <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">debug mode</a>.
        When defined, <code class="code">_GLIBCXX_ASSERTIONS</code> is defined
        automatically, so all the assertions enabled by that macro are also
        enabled in debug mode.
      </p></dd><dt><span class="term"><code class="code">_GLIBCXX_DEBUG_PEDANTIC</code></span></dt><dd><p>
	Undefined by default. When defined while compiling with
	the <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">debug mode</a>, makes
	the debug mode extremely picky by making the use of libstdc++
	extensions and libstdc++-specific behavior into errors.
      </p></dd><dt><span class="term"><code class="code">_GLIBCXX_PARALLEL</code></span></dt><dd><p>Undefined by default. When defined, compiles user code
	using the <a class="link" href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel
	mode</a>.
      </p></dd><dt><span class="term"><code class="code">_GLIBCXX_PARALLEL_ASSERTIONS</code></span></dt><dd><p>Undefined by default, but when any parallel mode header is included
      this macro will be defined to a non-zero value if
      <code class="code">_GLIBCXX_ASSERTIONS</code> has a non-zero value, otherwise to zero.
      When defined to a non-zero value, it enables extra error checking and
      assertions in the parallel mode.
      </p></dd><dt><span class="term"><code class="code">__STDCPP_WANT_MATH_SPEC_FUNCS__</code></span></dt><dd><p>Undefined by default. When defined to a non-zero integer constant,
	enables support for ISO/IEC 29124 Special Math Functions.
      </p></dd><dt><span class="term"><code class="code">_GLIBCXX_SANITIZE_VECTOR</code></span></dt><dd><p>
	Undefined by default. When defined, <code class="classname">std::vector</code>
        operations will be annotated so that AddressSanitizer can detect
        invalid accesses to the unused capacity of a
        <code class="classname">std::vector</code>. These annotations are only
        enabled for
        <code class="classname">std::vector&lt;T, std::allocator&lt;T&gt;&gt;</code>
        and only when <code class="classname">std::allocator</code> is derived from
        <a class="link" href="memory.html#allocator.ext" title="Extension Allocators"><code class="classname">new_allocator</code>
        or <code class="classname">malloc_allocator</code></a>. The annotations
        must be present on all vector operations or none, so this macro must
        be defined to the same value for all translation units that create,
        destroy or modify vectors.
      </p></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_dual_abi.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Headers </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Dual ABI</td></tr></table></div></body></html>