PR fortran/51727: make module files reproducible, question on C++ in gcc
Joseph S. Myers
joseph@codesourcery.com
Sat Oct 13 22:34:00 GMT 2012
On Sat, 13 Oct 2012, Diego Novillo wrote:
> On 2012-10-13 14:04 , Tobias Schlüter wrote:
> > On 2012-10-13 20:00, Diego Novillo wrote:
> > > On 2012-10-13 09:26 , Tobias Schlüter wrote:
> > > > first a question also to non-gfortraners: if I want to use std::map,
> > > > where do I "#include <map>"? In system.h?
> > >
> > > No. Ada includes system.h in pure C code. Why not include it exactly
> > > where you need it?
> >
> > Ok, I was just wondering if there's a rule because a quick grep revealed
> > no non-header source file that includes system headers.
>
> Joseph or others may have reason to create a system.hxx file or some such, but
> in principle I don't see why we shouldn't include std library headers as we
> need them.
>
> Joseph?
The poisoning of various standard library functions that should not be
used directly in GCC can be problematic if system headers, using those
functions, are included after that poisoning. Thus in general it's better
for system header includes to go in system.h, before the poisoning.
In addition, where there is some autoconf configuration about whether to
include a header, it's generally preferred to keep down the number of
places with such a conditional on host features (encapsulating whatever
features the header provides in some way so that other code can use them
unconditionally).
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Fortran
mailing list