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

--- Comment #2 from Jeffrey Walton <noloader at gmail dot com> ---

> 
> $ 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

(In reply to Jonathan Wakely from comment #1)
> The library macro is defined by the library, not the compiler. You didn't
> include any library headers.

Thanks Jonathon.

The documentation does not state that requirement. Perhaps this is a
documentation bug?

------

Related, here's how I am trying to use it in a makefile:

USING_GLIBCXX := $(shell $(CXX) $(CXXFLAGS) -E -dM - </dev/null | $(EGREP) -i
-c "__GLIBCXX__")
$(info USING_GLIBCXX: $(USING_GLIBCXX))

# For debug builds
ifneq ($(USING_GLIBCXX),0)
CXXFLAGS += -D_GLIBCXX_DEBUG=1 --enable-concept-checks
endif

CXX and CXXFAGS are populated, and they hold the settings that will be used by
make to compile the source code. It kind of begs the question, how does CXX
know to use -stdlib=libstdc++ if its not specified in CXXFLAGS? Shouldn't
everything "just work" or everything "just fail"?

Reply via email to