This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/20534] Erroneous #include of <cassert>
- From: "sacolcor at provide dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Mar 2005 20:57:09 -0000
- Subject: [Bug libstdc++/20534] Erroneous #include of <cassert>
- References: <20050318161320.20534.sacolcor@provide.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From sacolcor at provide dot net 2005-03-18 20:57 -------
I'm working on it, but it may take me a where to track it down to a minimal case.
You're correct in that this is legal behavior for a conforming compiler; the
actual "core" problem is that because gcc (and most other compilers) #includes
some standard headers in others, it's possible to write code that is invalid
(because it does not #include all of the necessary headers) but have it still
compile without a diagnostic. Thus, it breaks when moved to a compiler with a
different internal library header configuration.
In this case, the change was the debug header rework performed between v3.3.2
and v3.4.0.
It was the obvious "temporary" label on that line that led me to believe that it
was erroneous; if it needs to stay there, it probably shouldn't be tagged that
way (or should indicate what its intended lifetime is).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20534