Commit Graph

65344 Commits

Author SHA1 Message Date
Richard Henderson
55e79aef81 re PR middle-end/18008 (Duplicate mask on bitfield insertion)
PR middle-end/18008
        * combine.c (make_field_assignment): Simplify store to zero_extract
        from a source with an overlapping mask.

From-SVN: r94282
2005-01-26 12:29:25 -08:00
Joern Rennecke
d951ae1e66 Fix filename typo.
From-SVN: r94275
2005-01-26 19:02:32 +00:00
Joern Rennecke
960f41cfcc Add bug number:
PR c++/18370
	* parse.c (cp_parser_initializer_clause): Initialize *non_constant_p.

From-SVN: r94274
2005-01-26 18:58:59 +00:00
Aldy Hernandez
af30facda4 frv.md: Add fr400_integer automaton.
* config/frv/frv.md: Add fr400_integer automaton. Don't
        allow TYPE_MUL, TYPE_MACC, or TYPE_CUT to issue in parallel
        to TYPE_MACC.

From-SVN: r94272
2005-01-26 18:57:03 +00:00
J"orn Rennecke
b2802a4b4c * parse.c (cp_parser_initializer_clause): Initialize *non_constant_p.
From-SVN: r94270
2005-01-26 18:45:00 +00:00
Steven Bosscher
f7aa1423e2 re PR middle-end/16585 (current_function_has_computed_jump incorrectly changed in make_edges)
PR middle-end/16585
	* cfgbuild.c (make_edges): Do not clear or set
	current_function_has_computed_jump.
	* function.h (struct function): Remove the has_computed_jump field.
	(current_function_has_computed_jump): Do not define.
	* sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends
	in a computed jump.  Ignore current_function_has_computed_jump.

From-SVN: r94269
2005-01-26 17:26:33 +00:00
Paolo Carlini
b929615a7c mt_allocator.h (struct __per_type_pool_policy<,, [...]): Scale _M_chunk_size too with sizeof(_Tp)...
2005-01-26  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h
	(struct __per_type_pool_policy<,, false>::_S_get_pool,
	struct __per_type_pool_policy<,, true>::_S_get_pool): Scale
	_M_chunk_size too with sizeof(_Tp), otherwise the allocator
	breaks down as soon as sizeof(_Tp) >~ _S_chunk_size / 128;
	reduce to 64 the multiplier for _M_max_bytes (safer wrt
	_Binmap_type being a short); trivial reformattings.
	* testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: New.

From-SVN: r94268
2005-01-26 16:34:58 +00:00
Richard Henderson
6f642f9852 re PR middle-end/19515 (Violation of C99 6.7.8 §21 for unions)
PR middle-end/19515
        * expr.c (categorize_ctor_elements): New argument p_must_clear.
        (categorize_ctor_elements_1): Likewise.  Detect a union that isn't
        fully initialized.
        (mostly_zeros_p): Update for new categorize_ctor_elements argument.
        * gimplify.c (gimplify_init_constructor): Likewise.  Only shove
        objects into static storage if they have more than one non-zero value.
        * tree.h (categorize_ctor_elements): Update decl.

From-SVN: r94266
2005-01-26 07:20:53 -08:00
Steven Bosscher
ead553a1d9 re PR middle-end/19616 (missed tail call)
PR middle-end/19616
	* tree.h (CALL_EXPR_TAILCALL): Add comment.
	* calls.c (check_sibcall_argument_overlap_1): Revert the change
	to this function from 2004-07-10.
	* tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the
	the current function for tail call optimizations if the address
	of one of it its arguments is taken.

From-SVN: r94265
2005-01-26 15:08:50 +00:00
Kazu Hirata
7533544070 * cse.c (fold_rtx): Call equiv_constant only when necessary.
From-SVN: r94260
2005-01-26 12:44:58 +00:00
Bernd Schmidt
4018444567 function.c (expand_function_end): If current_function_calls_alloca...
* function.c (expand_function_end): If current_function_calls_alloca,
	emit stack restore in a place that is reached when the function falls
	through at the end.

From-SVN: r94259
2005-01-26 11:22:33 +00:00
Paolo Carlini
02a65d230f acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex to the final test for enable_c99, thus robustifying it...
2005-01-26  Paolo Carlini  <pcarlini@suse.de>

	* acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex
	to the final test for enable_c99, thus robustifying it; remove
	duplicate final test on ac_99_math.
	* configure: Regenerate.

	* include/std/std_complex.h: Remove usages of the dead
	_GLIBCXX_BUGGY_COMPLEX macro.

	* testsuite/26_numerics/cmath/19322.cc: Protect with
	_GLIBCXX_USE_C99_MATH instead of the stronger _GLIBCXX_USE_C99,
	since only C99 math facilities are involved.
	* testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
	Likewise.

From-SVN: r94257
2005-01-26 10:34:53 +00:00
Steven Bosscher
97bd954f1c Fix PR number on Honza's checkin
From-SVN: r94256
2005-01-26 09:20:57 +00:00
Alexandre Oliva
144023adab Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy rule to avoid matching inappropriate suffix rule.
* Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
rule to avoid matching inappropriate suffix rule.

From-SVN: r94255
2005-01-26 09:17:02 +00:00
Jan Hubicka
e4cf29aea6 re PR target/19421 (ICE with soft-float on m68k)
PR tree-optimization/19421
	* tree-inline.c (copy_body_r): Do not walk subtrees after substituting.

From-SVN: r94254
2005-01-26 08:07:02 +00:00
Hans-Peter Nilsson
fe04ce064a cris.h (LIB_SPEC): Use -lsyslinux, not -lsyssim.
* config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not
	-lsyssim.  Wrap -lc -lsyssim in --start-group --end-group instead
	of doubling.
	(STARTFILE_SPEC): Add crti.o, before crtbegin.o.
 	<sim*>: Always use crt1.o, regardless of N in simN.
	<!sim>: Drop support for -pg and -p variants; always use crt0.o.
	(ENDFILE_SPEC): Add crtn.o, after crtend.o.
	(CRT_CALL_STATIC_FUNCTION): Remove.
	* config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always
	use crt1.o, regardless of N in simN.
	<!sim>: Drop support for -pg and -p variants; always use crt0.o.
	(LIB_SPEC): Do not define; default to the one in config/cris/cris.h.
	(CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special
	case isystem setting.
	(MAX_OFILE_ALIGNMENT): Correct to 32, not 16.

From-SVN: r94251
2005-01-26 03:20:22 +00:00
Ian Lance Taylor
6a03afdf3e gimple-low.c (block_may_fallthru): Correct handling of SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.
2005-01-25  Ian Lance Taylor  <ian@airs.com>

	* gimple-low.c (block_may_fallthru): Correct handling of
	SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.

From-SVN: r94250
2005-01-26 03:18:06 +00:00
Ranjit Mathew
ca91607b61 re PR java/19070 (internal compiler error: in generate_bytecode_conditional, at java/jcf-write.c:1271)
* testsuite/libjava.jacks/jacks.xfail: Update for PR java/19070,
        remove other passing tests and add new XFAILs.

From-SVN: r94246
2005-01-26 02:28:15 +00:00
Hans-Peter Nilsson
c555b47f96 cris.h (CPP_SPEC): Adjust the various mtune= handlers to match indentation...
* config/cris/cris.h (CPP_SPEC): Adjust the various mtune=
	handlers to match indentation; nested under the mtune=* handler.
	Similar for mcpu= and march=.

From-SVN: r94245
2005-01-26 02:16:01 +00:00
Daniel Jacobowitz
9841a1a7ba linux.h (LIB_SPEC): Remove -rpath-link.
* config/mips/linux.h (LIB_SPEC): Remove -rpath-link.
	* config/mips/linux64.h (LIB_SPEC): Likewise.
	* config/mn10300/linux.h (LIB_SPEC): Likewise.
	* config/sh/linux.h (LIB_SPEC): Likewise.

From-SVN: r94244
2005-01-26 02:04:48 +00:00
GCC Administrator
4c064e89d9 Daily bump.
From-SVN: r94241
2005-01-26 00:16:15 +00:00
Aldy Hernandez
bef8809ed2 frv.c (frv_legitimize_tls_address): New.
* config/frv/frv.c (frv_legitimize_tls_address): New.
	(TARGET_HAVE_TLS): Define.
	(FRV_SYMBOL_REF_TLS_P): Define.
	(frv_override_options): Handle new register classes.
	(frv_legitimate_address_p): Reject tls addresses.
	(frv_legitimize_address): Handle TLS addresses.
	(gen_inlined_tls_plt): New.
	(gen_tlsmoff): New.
	(frv_legitimize_tls_address): New.
	(unspec_got_name): Add TLS entries.
	(got12_operand): Add R_FRV_TLSMOFF12 case.
	(frv_emit_move): Fixup TLS addresses.
	(frv_emit_movsi): Legitimize TLS addresses.

	* config/frv/frv.h (MASK_BIG_TLS): New.
	(TARGET_BIG_TLS): New.
	(HAVE_AS_TLS): Define.
	(TARGET_SWITCHES): Add -mTLS and -mtls options.
	(enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS.
	(REG_CLASS_NAMES): Same.
	(REG_CLASS_CONTENTS): Same.
	(CONSTRAINT_LEN): New.
	(REG_CLASS_FROM_CONSTRAINT): New.
	(PREDICATE_CODES): Add symbolic_operand.

	* config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF,
	UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL,
	UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX,
	UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO,
	R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI,
	R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI,
	R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG,
	GR9_REG, GR14_REG, LRREG.
	(type): Add load_or_call attribute.
	("load_or_call"): New reservation.
	("call_gettlsoff"): New.
	("tls_indirect_call"): New.
	("tls_load_gottlsoff12"): New.
	("tlsoff_hilo"): New.
	("tls_tlsdesc_ldd"): New.
	("tls_tlsoff_ld"): New.
	("tls_lddi"): New.

	* config/frv/frv-protos.h (symbolic_operand): Protoize.

        * config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define.
        * config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare.
        * config/frv/frv.c (TLS_BIAS): Define.
        (frv_output_dwarf_dtprel): New.

From-SVN: r94237
2005-01-26 00:07:08 +00:00
Loren J. Rittle
a7f7b3348c acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Map FreeBSD to darwin instead of generic.
* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Map FreeBSD to darwin
	instead of generic.  Change autoconf report to "darwin or freebsd".
	* configure: Regenerate.
	* config/os/bsd/freebsd/ctype_inline.h (ctype<wchar_t>::do_is): Add.
	(ctype<wchar_t>::do_scan_is): Likewise.
	(ctype<wchar_t>::do_scan_not): Likewise.

From-SVN: r94236
2005-01-25 23:44:03 +00:00
Jakub Jelinek
ef8614d733 * g++.dg/opt/range-test-2.C: New test.
From-SVN: r94235
2005-01-26 00:11:29 +01:00
Jakub Jelinek
b8e48b9803 re PR rtl-optimization/19579 (-march=i686 generates a bogus program for x86*)
PR rtl-optimization/19579
	* ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
	both A and B, see if they don't clobber registers the other expr uses.

	* gcc.c-torture/execute/20050124-1.c: New test.

From-SVN: r94234
2005-01-26 00:09:10 +01:00
Tobias Schlüter
8dac1b213e re PR libfortran/19524 (5 times uninitialized var in libgfortran)
PR libfortran/19524
* io/read.c (read_f): Don't free uninitialized pointer.

From-SVN: r94232
2005-01-25 22:40:25 +01:00
J"orn Rennecke
1c67347332 real.c (do_add): Initialize signalling and canonical members.
* real.c (do_add): Initialize signalling and canonical members.

	* real.c (real_from_integer): Zero out destination.

From-SVN: r94228
2005-01-25 20:21:59 +00:00
Jan Hubicka
ed464869fa re PR tree-optimization/19337 (ada does not compile at -O3 (nested functions related))
PR tree-optimize/19337
	* gcc.c-torture/compile/20050119-1.c: New test.

	PR tree-optimize/19337
	* tree-inline.c (initialize_inlined_parameters): Copy
	saved_static_chain_decl only.

From-SVN: r94226
2005-01-25 19:32:53 +00:00
Andrew Pinski
1b746b0f2a class.c (abort_fndecl_addr): New variable.
2005-01-25  Andrew Pinski  <pinskia@physics.uc.edu>

        * class.c (abort_fndecl_addr): New variable.
        (build_vtbl_initializer): If we have a pure virtual function
        share the abort function's address.
        Include gt-cp-class.h at the end.
        * config-lang.in (gtfiles): Add cp/class.c.

From-SVN: r94225
2005-01-25 11:21:30 -08:00
Tom Tromey
60b5ee6b47 * Make-lang.in (java/java-tree-inline.o): Removed.
From-SVN: r94224
2005-01-25 18:57:44 +00:00
Richard Henderson
51df717967 re PR target/19556 (ICE with -march=pentium-m (during bootstrap))
PR target/19556
        PR target/19584
        * config/i386/i386.c (x86_inter_unit_moves): Zero.
        (ix86_preferred_reload_class): Rewrite fp-constant section, with
        80387 enabled, to return a proper subclass.  Return the subset that
        overlaps with GENERAL_REGS for PLUS.
        * config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor.

From-SVN: r94223
2005-01-25 10:43:59 -08:00
Richard Henderson
c63f5a428c re PR middle-end/19609 (real and imaginary part interchanged when flags_complex_divide_method=1)
PR middle-end/19609
        * tree-complex.c (expand_complex_div_wide): Use the correct formulae.

From-SVN: r94222
2005-01-25 10:19:09 -08:00
Benjamin Kosnik
52e6723c6c acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math functions...
2005-01-25  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math
	functions, and enable _GLIBCXX_USE_C99_COMPLEX_MATH if they exist.
	* acconfig.h: Add _GLIBCXX_USE_C99_COMPLEX_MATH.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/std/std_complex.h: Protect complex builtins with
	_GLIBCXX_USE_C99_COMPLEX_MATH.

From-SVN: r94221
2005-01-25 15:47:35 +00:00
Roger Sayle
e71c0aa7f5 expmed.c (choose_multiplier): Change interface to return the multiplier lowpart as an rtx instead of an...
* expmed.c (choose_multiplier): Change interface to return the
	multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT.
	(expand_divmod): Update calls to choose_multiplier.

From-SVN: r94220
2005-01-25 14:28:55 +00:00
Volker Reichelt
b01150a22f cxx-pretty-print.c (pp_cxx_statement): Add prototype.
* cxx-pretty-print.c (pp_cxx_statement): Add prototype. Make static.
	(pp_cxx_function_definition): Make static.
	* cxx-pretty-print.h (pp_cxx_statement): Remove prototype.
	(pp_cxx_function_definition): Likewise.

From-SVN: r94210
2005-01-25 08:58:46 +00:00
Volker Reichelt
b8c1703b79 name-lookup.c (print_binding_level): Make static.
* name-lookup.c (print_binding_level): Make static.
	(constructor_name_full): Make static inline.
	(current_decl_namespace): Make static.
	* name-lookup.h (constructor_name_full): Remove prototype.
	(print_binding_level): Likewise.
	(storetags): Likewise.
	(current_decl_namespace): Likewise.

From-SVN: r94209
2005-01-25 08:55:00 +00:00
Volker Reichelt
2d7c7fbe59 * decl.h (debug_bindings_indentation): Remove.
From-SVN: r94208
2005-01-25 08:50:16 +00:00
Ranjit Mathew
c5e72f5182 Correct the date for my last ChangeLog entry.
From-SVN: r94206
2005-01-25 06:28:42 +00:00
Ranjit Mathew
31fc696ccb re PR java/19070 (internal compiler error: in generate_bytecode_conditional, at java/jcf-write.c:1271)
PR java/19070
        * parse.y (patch_binop): Allow comparisons against NULL only
        if the other operand is of a reference type.

From-SVN: r94205
2005-01-25 06:12:32 +00:00
James E Wilson
92e51459a3 Fix latent bug in strstr.c testcase.
* gcc.c-torture/execute/builtins/lib/strstr.c (strstr): Correct exit
test for successful match.

From-SVN: r94204
2005-01-24 20:54:55 -08:00
Andrew Pinski
65cfff7006 s/just/used/, stupid me keep on using "just" instead of "used".
From-SVN: r94202
2005-01-24 19:33:08 -08:00
Alexander Malmberg
3a222639ea re PR objc/18408 (ICE compiling code that involves casting classes)
2005-01-25  Alexander Malmberg  <alexander@malmberg.org>

        PR objc/18408
        * objc.dg/comp-types-7.m: New test.

From-SVN: r94200
2005-01-24 19:16:48 -08:00
Alexander Malmberg
3f16185feb re PR objc/18408 (ICE compiling code that involves casting classes)
2005-01-25  Alexander Malmberg  <alexander@malmberg.org>

        PR objc/18408
        * objc-act.c (objc_types_compatible_p): New function.
        * objc-act.h (objc_types_compatible_p): Declare.
        * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.

From-SVN: r94199
2005-01-24 19:13:10 -08:00
John David Anglin
a6d2976a97 re PR middle-end/19330 (FAIL: gcc.c-torture/execute/20010605-2.c execution, -O1)
PR middle-end/19330
	* expmed.c (extract_bit_field): Use adjust_address instead of
	gen_lowpart when op0 is a MEM.

From-SVN: r94198
2005-01-25 02:05:39 +00:00
GCC Administrator
83c8f106f9 Daily bump.
From-SVN: r94192
2005-01-25 00:20:16 +00:00
Steven Bosscher
7315a94919 * cfgexpand.c (expand_gimple_tailcall): Fix typo.
From-SVN: r94189
2005-01-24 23:16:30 +00:00
Richard Sandiford
c0fd73a9ad irix-csr.c: New file.
* config/mips/irix-csr.c: New file.
	* config/mips/t-iris6 (irix-csr.o): New rule to build it.
	(EXTRA_MULTILIB_PARTS): Add irix-csr.o.
	* config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
	executables.

From-SVN: r94186
2005-01-24 21:42:50 +00:00
Eric Botcazou
81b4721953 re PR bootstrap/19364 (embedded sparc does not bootstrap)
PR bootstrap/19364
	* config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and
	sparc/elf.h, add sparc/sp-elf.h.
	(sparc-*-rtems*): Likewise.
	(sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and
	tm-dwarf2.h, add sparc/sp-elf.h.
	(sparc86x-*-elf): Likewise.
	(sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h.
	* config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into
	TARGET_OS_CPP_BUILTINS.
	* config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
	* config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
	Undefine it.
	* config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine.
	* config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro.
	(SWITCH_TAKES_ARG): Likewise.
	(LOCAL_LABEL_PREFIX): Likewise.
	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
	(TARGET_N_FORMAT_TYPES): Delete.
	(TARGET_FORMAT_TYPES): Likewise.
	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
	* config/sparc/elf.h: Delete.
	* config/sparc/sp-elf.h: New file.

From-SVN: r94185
2005-01-24 21:31:52 +00:00
Kazu Hirata
3a2f1f0665 tree-flow-inline.h (phi_arg_from_edge): Remove.
* tree-flow-inline.h (phi_arg_from_edge): Remove.
	* tree-flow.h: Remove the corresponding prototype.
	* tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-ssa.c,
	tree-vectorizer.c: Use dest_idx instead of phi_arg_from_edge.

From-SVN: r94183
2005-01-24 20:47:43 +00:00
Tom Tromey
2a4d062618 java-tree.h (gcj_abi_version): Declare.
* java-tree.h (gcj_abi_version): Declare.
	* class.c (make_class_data): Push gcj_abi_version into "next"
	field.  Renamed field.
	* decl.c (gcj_abi_version): New global.
	(parse_version): New function.
	(java_init_decl_processing): Call it.  Renamed 'next' field.
	Include version.h.
	(GCJ_BINARYCOMPAT_ADDITION): New define.

From-SVN: r94174
2005-01-24 19:07:06 +00:00