2004-11-27 Mark Mitchell <mark@codesourcery.com>
PR c++/18368
* parser.c (cp_parser_check_for_definition_in_return_type): Take
the defined type as a parameter, and inform the user about the
possibility of a missing semicolon.
(cp_parser_explicit_instantiation): Adjust call to
cp_parser_check_for_definition_in_return_type.
(cp_parser_init_declarator): Likewise.
(cp_parser_member_declaration): Likewise.
PR c++/18368
* g++.dg/other/semicolon.C: New test.
re PR c++/18803 (rejects access to operator() in template)
PR c++/18803
Revert:
2005-09-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR c++/18445
* class.c (instantiate_type): Treat NON_DEPENDENT_EXPRs with
unknown_type as non matching.
* pt.c (build_non_dependent_expr): Do not build a
NON_DEPENDENT_EXPR for a VAR_DECL.
PR c++/18803
g++.dg/template/operator5.C: New test.
backport: Wredundant-decls-2.c: New test to check that -Wredundant-decls does not issue warning for a variable...
Backport from mainline:
2005-09-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
* gcc.dg/Wredundant-decls-2.c: New test to check that
-Wredundant-decls does not issue warning for a variable
definition following a declaration.
2004-12-14 Mark Mitchell <mark@codesourcery.com>
PR c++/18738
* decl.c (make_typename_type): Do not handle namespace-scoped
names here.
(tag_name): Handle typename_type.
(check_elaborated_type_specifier): Handle typenames.
* parser.c (cp_parser_diagnose_invalid_type_name): Do not call
make_typename_type for namespace-scoped names here.
(cp_parser_elaborated_type_specifier): Use
cp_parser_diagnose_invalid_type_name.
* g++.dg/template/typename8.C: New test.
* g++.dg/parse/friend2.C: Tweak error message.
re PR c/22061 (internal compiler error: in find_function_data, at function.c:317)
PR c/22061
* c-decl.c (push_parm_decl): Push and pop x_dont_save_pending_sizes_p
around the call to grokdeclarator. Call grokdeclarator with the
field set to 0.
(store_parm_decls): Always store the pending_sizes in cfun.
(c_expand_body_1): Call put_pending_sizes.
* c-objc-common.c (c_cannot_inline_tree_fn): Always check
pending_sizes.
re PR c++/22233 (ICE with wrong number of template parameters)
PR c++/22233
* pt.c (push_template_decl_real): Return error_mark_node if the
number of template parameters does not match previous definition.
* decl.c (start_function): Handle error_mark_node returned by
push_template_decl.
2004-11-25 Mark Mitchell <mark@codesourcery.com>
PR c++/18466
* decl.c (grokvardecl): Keep track of whether or not a there was
explicit qualification.
* name-lookup.c (set_decl_namespace): Complain about explicit
qualification of a name within its own namespace.
* g++.dg/parse/qualified3.C: New test.
* g++.old-deja/g++.other/friend7.C: Remove bogus qualification.
2004-11-29 Ben Elliston <bje@au.ibm.com>
* g++.old-deja/g++.other/decl5.C: Remove remaining XFAILs.
2004-11-25 Mark Mitchell <mark@codesourcery.com>
PR c++/18445
* class.c (instantiate_type): Treat NON_DEPENDENT_EXPRs with
unknown_type as non matching.
* pt.c (build_non_dependent_expr): Do not build a
NON_DEPENDENT_EXPR for a VAR_DECL.
re PR rtl-optimization/17810 (internal compiler error: in verify_local_live_at_start for arm-rtems, arm-linux)
PR rtl-optimization/17810
Backport
2004-11-04 Richard Sandiford <rsandifo@redhat.com>
PR target/15342
* regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
as OP_INOUT if the instruction is predicated.
2005-02-22 Mark Mitchell <mark@codesourcery.com>
PR c++/20153
* decl2.c (build_anon_union_vars): Add type parameter.
(finish_anon_union): Pass it.
* g++.dg/template/error17.C: New test.
2005-07-28 Mark Mitchell <mark@codesourcery.com>
PR c++/22545
* call.c (add_builtin_candidate): Adjust for changes in
representation of pointer-to-member types.
Volker Reichelt [Wed, 31 Aug 2005 10:16:04 +0000 (10:16 +0000)]
re PR c++/23586 (Bad diagnostic for invalid namespace-name)
PR c++/23586
* parser.c (cp_parser_namespace_name): Move diagnostic for
invalid namespace-name to here from ...
* name-lookup.c (do_namespace_alias): ... here and ...
(do_using_directive): ... here. Remove dead code.
Paolo Carlini [Mon, 29 Aug 2005 22:08:50 +0000 (22:08 +0000)]
[multiple changes]
2005-08-29 Paolo Carlini <pcarlini@suse.de>
Port from HEAD/4_0-branch:
2004-07-28 Matt Austern <austern@apple.com>
* include/ext/hashtable.h: Use rebind so that allocator_type
has correct type for a container's allocator.
pa.c (function_value): Handle small aggregates on 32-bit targets.
* pa.c (function_value): Handle small aggregates on 32-bit targets.
(function_arg): Pass small aggregates in general registers on 32-bit
targets.
* som.h (MEMBER_TYPE_FORCES_BLK): Delete define.
Gerald Pfeifer [Thu, 4 Aug 2005 10:10:19 +0000 (10:10 +0000)]
install.texi (Specific): Adjust link to openavr.org.
* doc/install.texi (Specific): Adjust link to openavr.org.
(Specific): Remove broken reference to GCC 2.8.1 for OS/2.
(Binaries): Adjust HP-UX Porting Center link.
(Binaries): Adjust Free Software Foundation ordering link.
(Binaries): Remove broken link to Sinix/Reliant Unix binaries.
re PR target/21723 (ICE while building libgfortran)
PR target/21723
* pa.md: Remove fcpy alternative from movhi and movqi patterns.
* pa32-regs.h (HARD_REGNO_NREGS): Return two floating point registers
for complex modes when generating code for PA 1.0.
(VALID_FP_MODE_P): New macro.
(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P. Use non-overlapping register
sets for all general and floating point modes. Align wide floating
point modes to even register boundaries to comply with architectural
requirements.
(CLASS_MAX_NREGS): Update to align with change to HARD_REGNO_NREGS.
* pa64-regs.h (HARD_REGNO_NREGS): Update comment and formatting.
(VALID_FP_MODE_P): New macro.
(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P. Use non-overlapping register
sets for all general and floating point modes. Align wide floating
point modes to even register boundaries to comply with architectural
requirements.