Volker Reichelt [Tue, 11 Oct 2005 00:39:26 +0000 (00:39 +0000)]
backport: re PR c++/17618 (ICE in cp_convert_to_pointer, at cp/cvt.c:83)
Backport:
2004-09-23 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/17618
* cvt.c (cp_convert_to_pointer): Return early when the type is
an error_mark_node.
2004-05-22 Roger Sayle <roger@eyesopen.com>
* name-lookup.c (check_for_out_of_scope_variable): Avoid ICE by
returning when TREE_TYPE is error_mark_node.
* typeck.c (require_complete_type): Return error_mark_node if
value's type is an error_mark_node.
2004-11-02 Mark Mitchell <mark@codesourcery.com>
PR c++/18177
* typeck.c (build_const_cast): Use error_operand_p.
2004-09-23 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/17618
* g++.dg/lookup/crash5.C: New test.
2004-05-22 Wolfgang Bangerth <bangerth@dealii.org>
Roger Sayle <roger@eyesopen.com>
* g++.dg/lookup/forscope2.C: New test case.
2004-11-02 Mark Mitchell <mark@codesourcery.com>
PR c++/18177
* g++.dg/conversion/const3.C: New test.
Janis Johnson [Sat, 8 Oct 2005 22:24:50 +0000 (22:24 +0000)]
re PR debug/24267 ([3.4 only] Bad DWARF for altivec vectors)
PR debug/24267
Partial backport from mainline
2004-05-04 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
* tree.c (make_or_reuse_type): New.
(build_common_tree_nodes): Use it.
testsuite:
* gcc.dg/debug/dwarf2/dwarf-altivec1.c: New test.
Janis Johnson [Sat, 8 Oct 2005 22:21:11 +0000 (22:21 +0000)]
Partial backport from mainline 2004-05-04 Paolo Bonzini <bonzini@gnu.org> Richard Henderson <rth@redhat.com>
Partial backport from mainline
2004-05-04 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
* c-common.c (vector_types_convertible_p): New function.
* c-common.h: Declare it.
* c-typeck.c (digest_init): Use it.
testsuite:
* gcc.dg/altivec-pr18583.c: New test.
re PR c++/17609 (spurious error message after using keyword)
PR c++/17609
Backport:
2004-03-08 Mark Mitchell <mark@codesourcery.com>
* lex.c (unqualified_name_lookup_error): Create a dummy VAR_DECL
in the innermost scope, rather than at namespace scope.
* name-lookup.c (push_local_binding): Give it external linkage.
* name-lookup.h (push_local_binding): Declare it.
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.