]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cp/pt.c
iomanip.h: Use __extension__ for `extern' explicit template instantiations.
authorMark Mitchell <mark@markmitchell.com>
Sun, 23 Aug 1998 12:47:24 +0000 (12:47 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Sun, 23 Aug 1998 12:47:24 +0000 (12:47 +0000)
commit03d0f4af2d5607dacc56b946b49e024e71dd7fb7
tree1a569fd48a34a3e468b6fe1fcacbc60c724d1626
parent5d7045be13252dfa6c183863cbe1a3335d34fec5
iomanip.h: Use __extension__ for `extern' explicit template instantiations.

* 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
22 files changed:
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/cvt.c
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/except.c
gcc/cp/friend.c
gcc/cp/lex.c
gcc/cp/pt.c
gcc/cp/typeck.c
gcc/extend.texi
gcc/testsuite/g++.old-deja/g++.other/null1.C
gcc/testsuite/g++.old-deja/g++.pt/explicit70.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/friend31.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C
libio/ChangeLog
libio/iomanip.h
libstdc++/ChangeLog
libstdc++/cinst.cc
libstdc++/sinst.cc