* iomanip.h: Use __extension__ for `extern' explicit template
instantiations.
* sinst.cc: Don't explicitly instantiation string_char_traits<char>.
* cinst.cc: Likewiwse, for complex<float>, complex<double>,
complex<long double>.
* extend.texi: Remove description of extension to explicit
instantiation that is now endorsed by standard C++.
* decl2.c (grok_array_decl): Add comment.
(mark_used): Don't instantiate an explicit instantiation.
* friend.c (make_friend_class): Remove bogus comment. Fix check
for partial specializations.
* pt.c (check_explicit_specialization): Don't
SET_DECL_EXPLICIT_INSTANTIATION here.
(mark_decl_instantiated): Or here.
(do_decl_instantiation): Do it here, instead. Add checks for
duplicate explicit instantiations, etc. Tidy.
(do_type_instantiation): Likewise.
(instantiate_decl): Improve comments. Complain about explicit
instantiations where no definition is available.
* cp-tree.h (ansi_null_node): Remove.
* call.c (build_over_call): Warn about converting NULL to an
arithmetic type.
* cvt.c (build_expr_type_conversion): Likewise. Use
null_ptr_cst_p instead of expanding it inline.
* decl.c (ansi_null_node): Remove.
(init_decl_processing): Make null_node always have integral type.
* except.c (build_throw): Warn about converting NULL to an
arithmetic type.
* lex.c (init_parse): Remove handling of ansi_null_node.
* pt.c (type_unification_real): Don't convert NULL to void* type.
* typeck.c (build_binary_op_nodefault): Fix NULL warnings.
(convert_for_assignment): Warn about converting NULL to an
arithmetic type.
(convert_for_initialization): Likewise.
From-SVN: r21915
This is libio, the GNU C/C++ input/output library.
By default, the library is configured to build the C++ iostream
facility (in $libdir/libiostream.a).
The library can be configured to build the C stdio facility
that is part of a C run-time library.
This library is distributed with libg++; see ../libg++/README
for installation instructions, and where to send bug reports
and questions.
* Copyright restrictions
The files in this directory are generally covered by the GNU Public
License (which is in the file ../COPYING), but modified with the
following:
As a special exception, if you link this library with files
compiled with a GNU compiler to produce an executable, this does not cause
the resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License.
A few source files and subroutines are covered by other (but
less restrictive) copyright conditions. E.g. some code (such
as iovfprintf.c) is based on software that was developed by the
University of California, Berkeley, for the Berkeley Software
Distribution (BSD-4.4), and bears their copyright; and one
file (floatconv.c) is derived from ("free") code copyrighted AT&T.