Kaveh Ghazi [Wed, 30 Nov 2005 23:54:04 +0000 (23:54 +0000)]
backport: [multiple changes]
2005-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
Backport:
2005-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* g++.old-deja/g++.pt/asm1.C, g++.old-deja/g++.pt/asm2.C,
gcc.dg/20011119-1.c: Bypass tests on x86 when using -fpic/-fPIC.
2005-11-28 Kean Johnston <jkj@sco.com>
* gcc.c-torture/compile/20000804-1.c: Skip if using -fPIC on X86.
* gcc.dg/clobbers.c: Ditto.
* gcc.dg/i386-cmov1.c: Make magic* static so it matches the test
regexp.
* gcc.dg/i386-mul.c: Ditto.
* gcc.dg/i386-ssetype-1.c: Ditto.
Alan Modra [Wed, 23 Nov 2005 12:05:41 +0000 (12:05 +0000)]
re PR middle-end/24950 (ICE in operand_subword_force)
PR middle-end/24950
* expmed.c (store_bit_field): Don't attempt to insv a field
larger than the reg.
Merge from trunk
2005-11-14 Dale Johannesen <dalej@apple.com>
* expmed.c (store_bit_field): Add offset unconditionally for
memory targets.
(extract_bit_field): Don't force extzv or extv operand into
a register if field is too big.
2004-12-01 Richard Henderson <rth@redhat.com>
* expmed.c (store_bit_field): Use simplify_gen_subreg instead
of gen_rtx_SUBREG directly.
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.