Jason Merrill [Wed, 16 Nov 2005 20:27:26 +0000 (15:27 -0500)]
re PR c++/24580 (virtual base class cause exception not to be caught)
PR c++/24580
* method.c (locate_copy): Also use skip_artificial_parms here.
(synthesize_exception_spec): Use CLASS_TYPE_P rather than checking
for RECORD_TYPE.
Volker Reichelt [Wed, 16 Nov 2005 13:03:13 +0000 (13:03 +0000)]
backport: re PR c++/23797 (ICE on typename outside template)
Backport from mainline:
2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
PR c++/23797
* parser.c (cp_parser_functional_cast): Cope when TYPE is not a
TYPE_DECL. Use dependent_type_p to check type.
* pt.c (uses_template_parms_p): Use dependent_type_p for a
TYPE_DECL.
(type_dependent_expression_p): Assert we've not been given a
TYPE_DECL.
* g++.dg/parse/typename8.C: New test.
* g++.dg/parse/typename9.C: Likewise.
Volker Reichelt [Tue, 15 Nov 2005 19:14:21 +0000 (19:14 +0000)]
re PR c++/19253 (bad error message / ICE for invalid template parameter)
PR c++/19253
PR c++/22172
Backport from mainline:
2005-11-02 Mark Mitchell <mark@codesourcery.com>
* parser.c (cp_parser_postfix_expression): Use
cp_parser_elaborated_type_specifier to handle typename-types in
functional casts.
(cp_parser_enclosed_argument_list): Skip ahead to the end of the
template argument list if the closing ">" is not found.
Backport from mainline:
2005-11-02 Mark Mitchell <mark@codesourcery.com>
PR c++/19253
* g++.dg/parse/typename10.C: New test.
Backport from mainline:
2005-10-08 James A. Morrison <phython@gcc.gnu.org>
Uros Bizjak [Wed, 9 Nov 2005 07:51:51 +0000 (08:51 +0100)]
re PR c/24101 (Segfault with preprocessed source)
gcc/
PR c/24101
* toplev.c (process_options): Initialize debug_hooks early
in case lang_hooks.post_options ends up calling a debug_hook.
* cppinit.c (read_original_filename): Temporarily set
state.in_directive before calling _cpp_lex_direct for
CPP_HASH tokens.
gcc/testsuite/
PR c/24101
* gcc.dg/pr24101-1.i, gcc.dg/pr24101-2.i: New tests.
* gcc.dg/dg.exp: Run main loop also for *.i files.
James E Wilson [Mon, 7 Nov 2005 19:49:04 +0000 (11:49 -0800)]
Fix problem with -MM -MG and missing system header files.
PR preprocessor/15220
* cppfiles.c (_cpp_find_file): New parameter angle_brackets. Fix all
callers. Pass to open_file_failed.
(open_file_failed): New parameter angle_brackets. Fix
all callers. use in print_dep assignment.
* cpphash.h (_cpp_find_file): Add new parm to declaration.
* cppinit.c (cpp_read_main_file): Pass another arg to _cpp_find_file.
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.