http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59087
Bug ID: 59087
Summary: including complex.h in C++11/1y mode should not
include C's complex.h
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: kikairoya at gmail dot com
working draft N3691 says:
26.4.10 Header <ccomplex>
The header behaves as if it simply includes the header <complex>.
D.5 C standard library headers
Every C header, each of which has a *name* of the form *name.h*, behaves as
if each name placed in the standard library namespace by the corresponding
*cname* header is placed within the global namespace scope.
so, including <complex.h> should behaves as same as including <complex>
except namespace scope, but libstdc++'s one includes system's
<complex.h> unnecessarily.