Nathan Sidwell [Thu, 9 Jun 2005 07:46:23 +0000 (07:46 +0000)]
re PR c++/21903 (Default argument of template function causes a compile-time error)
cp:
PR c++/21903
* cp-tree.def (DEFAULT_ARG): Document TREE_CHAIN use.
* parser.c (cp_parser_late_parsing_default_args): Propagate parsed
argument to any early instantiations.
* pt.c (tsubst_arg_types): Chain early instantiation of default
arg.
PR c++/19884
* pt.c (check_explicit_specialization): Make sure namespace
binding lookup found an overloaded function.
(lookup_template_function): Just assert FNS is an overloaded
function.
testsuite:
PR c++/19608
* parser.c (cp_parser_late_parsing_for_member): Use
current_function_decl as scope to push to and from.
testsuite:
PR 21903
* g++.dg/parse/defarg9.C: New.
PR c++/19884
* g++.old-deja/g++.oliva/template6.C: Add another case.
* g++.dg/template/explicit6.C: New.
Mark Mitchell [Fri, 3 Jun 2005 16:29:35 +0000 (16:29 +0000)]
re PR c++/21336 (Internal compiler error when using custom new operators)
PR c++/21336
* cp-tree.h (grok_op_properties): Remove friendp parameter.
* decl.c (grokfndecl): Adjust call.
(grok_op_properties): Determine the class of which the function is
a member by looking at its DECL_CONTEXT, not current_class_type.
* pt.c (tsubst_decl): Adjust call to grok_op_properties.
Backport from mainline:
2005-05-10 Joseph S. Myers <joseph@codesourcery.com>
* fixinc/inclhack.def (stdio_stdarg_h, stdio_va_list): Bypass on
*-*-solaris2.1[0-9]*, not just *-*-solaris2.1[0-9].
* fixinc/fixincl.x: Regenerate.
Backport from mainline:
2004-11-26 Mark Mitchell <mark@codesourcery.com>
* fixinc/inclhack.def (gnu_types): Do not use on Solaris 2.1x.
(stdio_va_list): Likewise.
(stdio_stdarg.h): Likewise.
(solaris_stdio_tag): Add bypass.
* fixinc/fixincl.x: Regenerated.
testsuite/
* gcc.dg/c99-math.h: New
* gcc.dg/c99-math-float-1.c: New test.
* gcc.dg/c99-math-double-1.c: Likewise.
* gcc.dg/c99-math-long-double-1.c: Likewise.
Jakub Jelinek [Thu, 26 May 2005 09:05:04 +0000 (11:05 +0200)]
re PR target/21716 (ICE in reg-stack.c's swap_rtx_condition)
PR target/21716
* reg-stack.c (swap_rtx_condition): Don't crash if %ax user was not
found in the basic block and last insn in the basic block is not
INSN_P. Remove explicit unspec numbers that are no longer valid
from comments.
Kazuhiro Inaoka [Tue, 24 May 2005 09:43:42 +0000 (09:43 +0000)]
m32r.c (m32r_expand_block_move): Return 0 if nothing was done.
* config/m32r/m32r.c (m32r_expand_block_move): Return 0 if
nothing was done.
* config/m32r/m32r.md (movmemsi): If m32r_expand_block_move did
nothing then FAIL.
* config/m32r/m32r/m32r-protos.h (m32r_expand_block_move): Update
prototype.
Mark Mitchell [Fri, 13 May 2005 00:38:22 +0000 (00:38 +0000)]
[multiple changes]
2005-04-04 Mark Mitchell <mark@codesourcery.com>
* testsuite/Makefile.am (check-local): Remove.
(curent_symbols.txt): Likewise.
(check-abi): Do not depend on current_symbols.txt.
* testsuite/Makefile.in: Regenerated.
* testsuite/libstdc++-abi/abi.exp: Build current_symbols.txt.
2005-04-01 Mark Mitchell <mark@codesourcery.com>
* testsuite/Makefile.am (noinst_PROGRAMS): Remove.
(site.exp): Write out the path to the baseline file.
(check-abi): Use DejaGNU.
(check-abi-verbose): Remove.
* testsuite/Makefile.in: Regenerated.
* testsuite/abi_check.cc (main): Check the return value from
compare_symbols.
* testsuite/testsuite_abi.cc (compare_symbols): Return a value.
* testsuite/testsuite_abi.h (compare_symbols): Adjust prototype.
* testsuite/libstdc++-abi/abi.exp: New file.
2004-03-19 Phil Edwards <phil@codesourcery.com>
* testsuite/Makefile.am (site.exp): New target, based on that
created by automake. Also set libiconv.
Mark Mitchell [Wed, 11 May 2005 21:19:54 +0000 (21:19 +0000)]
revert: backport: function.c (fixup_var_refs): Save volatile_ok and set to 1.
Revert:
2005-05-10 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline
2004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* function.c (fixup_var_refs): Save volatile_ok and set to 1.
* expr.c (emit_block_move_via_movstr): Save and restore
volatile_ok.
2005-05-09 Grigory Tolstolytkin <gtolstolytkin@ru.mvista.com>
Backport from mainline
2004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill previous
MEM_VOLATILE in REF.
H.J. Lu [Tue, 10 May 2005 21:53:06 +0000 (21:53 +0000)]
backport: function.c (fixup_var_refs): Save volatile_ok and set to 1.
Backport from mainline
2004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* function.c (fixup_var_refs): Save volatile_ok and set to 1.
* expr.c (emit_block_move_via_movstr): Save and restore
volatile_ok.
Stephane Carrez [Sun, 8 May 2005 19:22:22 +0000 (21:22 +0200)]
m68hc11.c (m68hc11_z_replacement): Use emit_insn_after when adding the save Z instruction so that it is part of...
* config/m68hc11/m68hc11.c (m68hc11_z_replacement): Use emit_insn_after
when adding the save Z instruction so that it is part of the good BB.
(reg_or_some_mem_operand): Do not allow the 68HC12 address indirect
addressing mode as it is not supported by bset and bclr.
(m68hc11_gen_movhi): Fix invalid generation of indexed indirect
addressing with movw.
(m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
68HC12.
* config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
for 68HC11.
("*movhi_68hc12"): Handle movhi_const0.
("*subhi3", "subqi3"): Use general_operand for operand 1.
("*subhi3_zext"): Likewise.
Stephane Carrez [Sun, 8 May 2005 18:54:51 +0000 (20:54 +0200)]
m68hc11.c (m68hc11_z_replacement): Use emit_insn_after when adding the save Z instruction so that it is part of...
* config/m68hc11/m68hc11.c (m68hc11_z_replacement): Use emit_insn_after
when adding the save Z instruction so that it is part of the good BB.
(reg_or_some_mem_operand): Do not allow the 68HC12 address indirect
addressing mode as it is not supported by bset and bclr.
(m68hc11_gen_movhi): Fix invalid generation of indexed indirect
addressing with movw.
(m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
68HC12.
* config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
for 68HC11.
("*movhi_68hc12"): Handle movhi_const0.
("*subhi3", "subqi3"): Use general_operand for operand 1.
("*subhi3_zext"): Likewise.
Stephane Carrez [Sun, 8 May 2005 17:42:44 +0000 (19:42 +0200)]
re PR target/19051 (m6811-elf-gcc ICE)
PR target/19051
* config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for operand
1 and fix constraints.
("mulqihi3"): Use general_operand for operand 2.
Mark Mitchell [Thu, 5 May 2005 04:09:23 +0000 (04:09 +0000)]
libstdc++.exp (v3-build_support): Look for __GTHREADS...
* testsuite/lib/libstdc++.exp (v3-build_support): Look for
__GTHREADS, rather than _GLIBCXX_HAVE_GTHR_DEFAULT, to determine
whether or not thread support is available.
Backport:
2005-03-25 Mark Mitchell <mark@codesourcery.com>
* testsuite/lib/libstdc++.exp (libstdc++_init): Define LOCALEDIR
when testing an installed compiler.
* testsuite/lib/libstdc++.exp (v3-build_support): Pass -w when
compiling support objects.
2005-03-23 Mark Mitchell <mark@codesourcery.com>
* testsuite/libstdc++-dg/normal.exp: Read testsuite_files, if it
exists.
* testsuite/lib/libstdc++.exp (libstdc++_wchar_t): Rename to ...
(v3-wchar_t): ... this.
(libstdc++_threads): Rename to ...
(v3-threads): ... this.
(libstdc++_test_objs): Rename to ...
(v3-test_objs): ... this.
(libstdc++_build_support): Rename to ...
(v3-build_support): ... this.
* testsuite/libstdc++-dg/normal.exp: Adjust to use new names.
* testsuite/lib/libstdc++.exp (libstdc++_init): Improve handling
of compilers not in the build directory.
(libstdc++_wchar_t): New variable.
(libstdc++_threads): Likewise.
(libstdc++_test_objs): Likewise.
(v3_target_compile): Use libstdc++_test_objs.
(v3-list-tests): Remove.
(listdc++_build_support): New function.
* testsuite/libstdc++-dg/normal.exp: Rework to dynamically
generate list of tests.
2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* testsuite/lib/libstdc++.exp: Use new procs in target-libpath.exp.
Mark Mitchell [Mon, 2 May 2005 23:32:41 +0000 (23:32 +0000)]
backport: g++.exp (g++_link_flags): Use gcc-set-multilib-library-path.
Backport:
2005-03-25 Mark Mitchell <mark@codesourcery.com>
* lib/g++.exp (g++_link_flags): Use gcc-set-multilib-library-path.
(g++_init): Make sure that CXXFLAGS is set.
* lib/gcc-defs.exp (gcc-set-multilib-library-path): New function.
* lib/objc.exp (objc_init): Likewise.
2004-11-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* lib/target-libpath.exp (restore_ld_library_path_env_vars):
Check existence of ld library path variables before unsetting.
2004-11-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* lib/target-libpath.exp (orig_ld_library_path_saved): Add missing set.
2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* lib/target-libpath.exp: New file defining
set_ld_library_path_env_vars and restore_ld_library_path_env_vars.
* g++.dg/compat/compat.exp, lib/g++.exp, lib/objc.exp: Use new procs.
Mark Mitchell [Sun, 1 May 2005 23:26:25 +0000 (23:26 +0000)]
re PR c++/18464 (error message about "non-lvalue in unary '&'" when using ?: operator)
PR c++/18464
* call.c (build_this): In templates, do not bother with
build_unary_op.
* typeck.c (unary_complex_lvalue): In a template, always refuse
simplifications.
Gerald Pfeifer [Sun, 1 May 2005 18:50:39 +0000 (18:50 +0000)]
backport: install.texi (Specific): Avoid using asterisks in @anchor names related to target triplets.
Backport from mainline
* doc/install.texi (Specific): Avoid using asterisks in @anchor
names related to target triplets.
Remove i?86-*-esix from platform directory.
Remove powerpc-*-eabiaix from platform directory.