https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67195

            Bug ID: 67195
           Summary: cpp and g++ does not define __GLIBCXX__
           Product: gcc
           Version: 5.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: noloader at gmail dot com
  Target Milestone: ---

I'm trying to detect a debug build, and enjoy the benefit of additional
instrumentation:

    # Debug testing
    ifneq ($(filter -DDEBUG -DDEBUG=1 -O0 -O1 -Og,$(CXXFLAGS)),)
      CXXFLAGS += -D_GLIBCXX_DEBUG=1 -D_GLIBCXX_CONCEPT_CHECKS=1
    endif # Debug build

According to Chapter 3. Using Macros
(https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html):

    __GLIBCXX__

        The current version of libstdc++ in compressed ISO date format, as an
unsigned long.

However, on Fedora22 x86_64:

    $ cpp -x c++ -dM < /dev/null | grep -i lib
    $ cpp -x c++ -dM < /dev/null | grep -i c++
    #define __GLIBCXX_BITSIZE_INT_N_0 128
    #define __GLIBCXX_TYPE_INT_N_0 __int128
    $ cpp -x c++ -dM < /dev/null | grep -i cxx
    #define __GLIBCXX_BITSIZE_INT_N_0 128
    #define __GLIBCXX_TYPE_INT_N_0 __int128
    $ g++ -E -dM - < /dev/null | grep -i lib
    $ g++ -E -dM - < /dev/null | grep -i c++
    $ g++ -E -dM - < /dev/null | grep -i cxx
    $

-----

$ uname -a
Linux localhost.localdomain 4.1.3-201.fc22.x86_64 #1 SMP Wed Jul 29 19:50:22
UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

$ g++ --version
g++ (GCC) 5.1.1 20150618 (Red Hat 5.1.1-4)
Copyright (C) 2015 Free Software Foundation, Inc

Reply via email to