Alan Modra [Sat, 29 Oct 2005 22:35:37 +0000 (22:35 +0000)]
re PR target/23070 ([3.4 only] CALL_V4_CLEAR_FP_ARGS flag not properly set)
PR target/23070
* config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
stdarg functions, set/clear the fp marker even when no variable
args are passed.
* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Describe
-mprototype and -mno-prototype.
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.