Due to the global nature of macros, the include guard at the top of stl_tree.h:
#ifndef _TREE_H
...
should be renamed to something more specific such as _STL_TREE_H. _TREE_H
shouldn't really be defined by anyone, especially the STL library. I noticed
this header from someone else who wrote code with a C include guard of the same
name which caused a compiler error when using #include <map>. This convention
of being as specific as possible for any include guard macro should be
pervasive through the entire C++ header collection.
--
Summary: poorly named include guard in stl_tree.h
Product: gcc
Version: 3.4.4
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: carmelo dot piccione at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24720