Volker Reichelt [Mon, 5 Dec 2005 18:01:05 +0000 (18:01 +0000)]
Backport:
2005-10-13 Mark Mitchell <mark@codesourcery.com>
PR c++/22352
* pt.c (tsubst_template_parms): Set processing_template_decl while
processing the parameters.
(tsubst_decl): Set processing_template_decl when substituting into
a TEMPLATE_DECL.
Kaveh R. Ghazi [Sat, 3 Dec 2005 16:45:14 +0000 (16:45 +0000)]
backport: [multiple changes]
2005-12-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.dg/loop-3.c: Skip if ix86 and -m64.
* gcc.dg/i386-local.c: Likewise. Also skip if x86_64 and -m32.
Backport:
2005-08-25 Alan Modra <amodra@bigpond.net.au>
* gcc.dg/20020103-1.c: Scan for LC[0-9], not LC.
2004-12-09 Richard Henderson <rth@redhat.com>
* gcc.dg/loop-3.c: Don't use i386 tuning for amd64.
2004-11-17 Janis Johnson <janis187@us.ibm.com>
* gcc.dg/i386-sse-8.c: Use dg-skip-if i?86 -m64.
2004-04-06 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/i386-sse-8.c: Don't use -march=pentium3 on x86_64.
* gcc.dg/i386-local.c: Expect %edi, not %eax register on x86_64.
* gcc.dg/20020103-1.c: Add -fno-asynchronous-unwind-tables to options.
Kaveh R. Ghazi [Sat, 3 Dec 2005 04:34:05 +0000 (04:34 +0000)]
enum5.C: Change from "run" to "compile".
* g++.old-deja/g++.other/enum5.C: Change from "run" to "compile".
Fix attribute for new parser. Remove unnecessary dg-bogus.
* g++.old-deja/g++.pt/friend44.C: Change from "run" to "compile".
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>