Commit Graph

84983 Commits

Author SHA1 Message Date
Joseph Myers 5f0686bc40 * sv.po: Update.
From-SVN: r130976
2007-12-15 22:15:51 +00:00
Alexandre Oliva b0d667cbfa * tree.c (type_hash_add): Fix whitespace.
From-SVN: r130974
2007-12-15 21:46:41 +00:00
Hans-Peter Nilsson 9c16b6362d Add CRIS v32 support. Fix -mcc-init.
From-SVN: r130973
2007-12-15 21:39:14 +00:00
Hans-Peter Nilsson 6e86f9ab6f * config/cris/cris-protos.h (cris_register_move_cost)
(cris_cc0_user_requires_cmp, cris_asm_output_case_end): Declare.

From-SVN: r130972
2007-12-15 21:38:34 +00:00
Hans-Peter Nilsson 45d5d09c3f cris.md: Group related constants together, with comments local.
* gcc/config/cris/cris.md: Group related constants together, with
	comments local.
	(CRIS_UNSPEC_PLT_GOTREL, CRIS_UNSPEC_PLT_PCREL, CRIS_UNSPEC_PCREL)
	(CRIS_UNSPEC_CASESI): New constants.
	(CRIS_UNSPEC_PLT): Remove constant.
	(CRIS_ACR_REGNUM): New constant.
	("slottable"): New attr alternatives "has_return_slot" and
	"has_call_slot".
	("cc"): New attr alternatives "noov32" and "rev".
	((eq_attr "slottable" "has_call_slot"))
	((eq_attr "slottable" "has_return_slot")): New define_delays.
	("movdi", "movsi"): Adjust operands for CRIS v32.
	("tstdi", "cmpdi", "adddi3", "subdi3", "uminsi3")
	("indirect_jump"): Ditto.  Make define_expand.
	("*tstdi_non_v32", "*tstdi_v32", "*tst<mode>_cmp")
	("*tst<mode>_non_cmp", "*cmpdi_non_v32", "*cmpdi_v32")
	("*movdi_v32", "*adddi3_non_v32", "*adddi3_v32")
	("*addsi3_non_v32", "*addsi3_v32", "*addhi3_non_v32")
	("*addhi3_v32", "*addqi3_non_v32", "*addqi3_v32")
	("*subdi3_non_v32", "*subdi3_v32", "*subsi3_non_v32")
	("*subsi3_v32", "*sub<mode>3_nonv32", "*sub<mode>3_v32")
	("*andqi3_non_v32", "*andqi3_v32", "*iorsi3_non_v32")
	("*iorsi3_v32", "*iorhi3_non_v32", "*iorhi3_v32")
	("*iorqi3_non_v32", "*iorqi3_v32", "*uminsi3_non_v32")
	("*uminsi3_v32", "*indirect_jump_non_v32", "*indirect_jump_v32")
	("*expanded_call_v32", "*expanded_call_value_v32"): New patterns,
	for the corresponding standard name.
	("tst<mode>"): Limit to BW and make define_expand.
	("tstsi"): Make separate insn, adjusting for CRIS v32.
	("*cmp_swapext<mode>"): Adjust for v32.  Specify "rev" for attr "cc".
	("cmpsi", "cmp<mode>"): Remove special cases for zero.  Specify
	attr "cc".
	("*btst"): Don't match for TARGET_CCINIT.  Replace test of
	register with compatible "cmpq 0".  Specify attr "cc".
	("*movdi_insn_non_v32"): New pattern, replacing "*movdi_insn" and
	define_split.
	(define_split for DI move): Match CRIS v32 only.
	("*movsi_got_load", "*movsi_internal", "*addi"): Adjust for CRIS
	v32.
	("load_multiple", "store_multiple", "*addsbw_v32", "*addubw_v32")
	("*adds<mode>_v32", "*addu<mode>_v32", "*bound<mode>_v32")
	("*casesi_jump_v32", "*expanded_andsi_v32", "*expanded_andhi_v32")
	("*extop<mode>si_v32", "*extopqihi_v32", "*andhi_lowpart_v32")
	("*andqi_lowpart_v32", "cris_casesi_v32"): New patterns. 
	("add<mode>3"): Make addsi3, addhi3 and addqi3 define_expand.
	("sub<mode>3"): Ditto subsi3, subhi3 and subqi3.
	("ior<mode>3"): Ditto iorsi3, iorhi3 and iorqi3.
	("*extopqihi_non_v32"): Replace "*extopqihi".
	("*extop<mode>si_non_v32"): Replace "*extop<mode>si".
	("*addxqihi_swap_non_v32"): Rename from "*extopqihi_swap", make
	non-v32 only.
	("*extop<mode>si_swap_non_v32"): Ditto "*extop<mode>si_swap".
	("*expanded_andsi_non_v32"): Ditto "*expanded_andsi".
	("*expanded_andhi_non_v32"): Ditto "*expanded_andhi".
	("*andhi_lowpart_non_v32"): Ditto "*andhi_lowpart".
	("*andqi_lowpart_non_v32"): Ditto "*andqi_lowpart".
	("*expanded_call_non_v32"): Ditto "*expanded_call".  Change from
	"cris_general_operand_or_plt_symbol" to "general_operand".
	("*expanded_call_value_non_v32") Ditto "*expanded_call_value".
	("*casesi_adds_w", "mstep_shift", "mstep_mul")
	("*expanded_call_side", "*expanded_call_value_side")
	(op-extend-split, op-extend-split-rx=rz, op-extend-split-swapped)
	(op-extend-split-swapped-rx=rz, op-extend, op-split-rx=rz)
	(op-split-swapped, op-split-swapped-rx=rz): Make non-v32 only.
	("dstep_mul", "xorsi3", "one_cmplsi2", "<shlr>si3")
	("*expanded_<shlr><mode>", "*<shlr><mode>_lowpart", "ashl<mode>3")
	("*ashl<mode>_lowpart", "abssi2", "clzsi2", "bswapsi2", "cris_swap_bits"): Specify "noov32" for
	attr "cc".
	("<su>mulsi3_highpart"): Ditto.  Correct operand 0 to
	register_operand.
	("andqi3"): Make define_expand.
	("*return_expanded"): For attr "slottable", change from "has_slot"
	to "has_return_slot".
	("cris_casesi_non_v32"): New pattern, old contents of "casesi".
	("casesi"): Divert into "cris_casesi_v32" and
	"cris_casesi_non_v32".
	(moversideqi, movemsideqi, mover2side): Require
	TARGET_SIDE_EFFECT_PREFIXES.
	(gotplt-to-plt, gotplt-to-plt-side): Change from CRIS_UNSPEC_PLT
	to CRIS_UNSPEC_PLT_GOTREL.

From-SVN: r130971
2007-12-15 21:38:19 +00:00
Hans-Peter Nilsson 6725c4029d cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
* config/cris/cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
	(CRIS_DEFAULT_TUNE, CRIS_ARCH_CPP_DEFAULT)
	(CRIS_DEFAULT_ASM_ARCH_OPTION): New macros.
	(CRIS_CC1_SUBTARGET_SPEC): Change default tuning to use
	CRIS_DEFAULT_TUNE. 
	(CRIS_CPP_SUBTARGET_SPEC): Ditto.  Add CRIS_ARCH_CPP_DEFAULT.
	(ASM_SPEC): Add sanity-check erroring out when both -march= and
	-mcpu= are specified.  Pass on either as --march=v32.
	(CRIS_ASM_SUBTARGET_SPEC): When neither -march= or -mcpu= are
	specified, pass on CRIS_DEFAULT_ASM_ARCH_OPTION.
	(CRIS_CPU_V32): New macro.
	[!TARGET_CPU_DEFAULT]: Default-define as CRIS_CPU_BASE.
	[!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]: Move default
	TARGET_DEFAULT definition after new TARGET_CPU_DEFAULT definition.
	Define v32-adjusted TARGET_DEFAULT.
	(CRIS_DEFAULT_CPU_VERSION): Change to TARGET_CPU_DEFAULT from
	CRIS_CPU_BASE.
	(TARGET_V32): New macro.
	(REG_ALLOC_ORDER_V32): New macro.
	(HARD_REGNO_MODE_OK): Do not allow larger-than-register-size modes
	into CRIS_ACR_REGNUM.
	(enum reg_class): New classes ACR_REGS, SPEC_ACR_REGS,
	GENNONACR_REGS and SPEC_GENNONACR_REGS.
	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Adjust for new classes.
	(REGNO_REG_CLASS): Give ACR_REGS for CRIS_ACR_REGNUM.
	(MODE_CODE_BASE_REG_CLASS): Define, give for OCODE POST_INC
	GENNONACR_REGS, BASE_REG_CLASS otherwise.
	(REG_CLASS_FROM_LETTER): 'a' is for ACR_REGS.
	(REGNO_MODE_CODE_OK_FOR_BASE_P): Define, refusing OCODE POST_INC
	for CRIS_ACR_REGNUM.
	(PREFERRED_RELOAD_CLASS): Keep ACR_REGS as preferred.
	(HARD_REGNO_RENAME_OK): Refuse CRIS_ACR_REGNUM as TO.
	(EXTRA_CONSTRAINT): New constraint 'U'.
	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE)
	(ASM_OUTPUT_ADDR_DIFF_ELT): Adjust for CRIS v32.
	(BASE_OR_AUTOINCR_P): Refuse POST_INC for CRIS_ACR_REGNUM.
	(SIMPLE_ADDRESS_P): Remove.
	(GO_IF_LEGITIMATE_ADDRESS): Use BASE_OR_AUTOINCR_P, not redundant
	SIMPLE_ADDRESS_P.  Make one chained if-else, finishing as
	non-match after BASE_OR_AUTOINCR_P for TARGET_V32.
	(REGISTER_MOVE_COST): Just call the new function
	cris_register_move_cost.
	(enum cris_pic_symbol_type): Rename cris_gotrel_symbol to
	cris_rel_symbol.  All users changed.
	(REGISTER_NAMES): Replace "pc" with "acr".
	(ADDITIONAL_REGISTER_NAMES): Add "pc" for 15.
	(ASM_OUTPUT_REG_PUSH): Change to v32-compatible sequence.
	(ASM_OUTPUT_REG_POP): Change to v32-compatible syntax.
	(ASM_OUTPUT_CASE_END): Just call the new function
	cris_asm_output_case_end.

From-SVN: r130970
2007-12-15 21:37:55 +00:00
Hans-Peter Nilsson 39ecc4b530 linux.h: Sanity-check TARGET_CPU_DEFAULT for presence and contents.
* config/cris/linux.h: Sanity-check TARGET_CPU_DEFAULT for
	presence and contents.
	(CRIS_SUBTARGET_DEFAULT_ARCH): New macro, MASK_AVOID_GOTPLT for
	v32, 0 otherwise.
	(CRIS_CPP_SUBTARGET_SPEC, CRIS_CC1_SUBTARGET_SPEC,
	CRIS_ASM_SUBTARGET_SPEC): Adjust for different
	TARGET_CPU_DEFAULT.
	(CRIS_SUBTARGET_DEFAULT): Add CRIS_SUBTARGET_DEFAULT_ARCH.

From-SVN: r130969
2007-12-15 21:37:37 +00:00
Hans-Peter Nilsson 3261b8c4f8 * config/cris/predicates.md
("cris_general_operand_or_pic_source"): New predicate.
	("cris_general_operand_or_plt_symbol"): Replace by...
	("cris_nonmemory_operand_or_callable_symbol"): New predicate.

From-SVN: r130968
2007-12-15 21:37:22 +00:00
Hans-Peter Nilsson 047c66928d * config/cris/t-elfmulti: Add multilib v32 for -march=v32.
From-SVN: r130967
2007-12-15 21:37:10 +00:00
Hans-Peter Nilsson c31500c27e cris.c (ASSERT_PLT_UNSPEC): Remove unused macro.
* config/cris/cris.c (ASSERT_PLT_UNSPEC): Remove unused macro.
	(cris_movem_load_rest_p, cris_store_multiple_op_p): Remove FIXME.
	Change regno_dir and regno only if !TARGET_V32.
	(cris_conditional_register_usage): If TARGET_V32, set
	reg_alloc_order as per REG_ALLOC_ORDER_V32 and make
	CRIS_ACR_REGNUM non-fixed.
	(cris_print_base): Add gcc_assert for post_inc on CRIS_ACR_REGNUM.
	(cris_print_operand) <case 'Z', case 'u'>: New cases.
	<case REG of case 'H'>: Allow for CRIS_SRP_REGNUM.
	(cris_reload_address_legitimized): Always return false for
	TARGET_V32.
	(cris_register_move_cost): New function, guts from
	REGISTER_MOVE_COST adjusted for CRIS v32.
	(cris_normal_notice_update_cc): New function split out from...
	(cris_notice_update_cc): Set cc_status.flags CC_REVERSED for
	TARGET_CCINIT.  Call cris_normal_notice_update_cc for CC_REV,
	CC_NOOV32 and CC_NORMAL, but set cc_status.flags CC_NO_OVERFLOW
	for CC_NOOV32 and TARGET_V32.
	(cris_simple_epilogue): Always return false for TARGET_V32 if
	cris_return_address_on_stack yields true.
	(cris_cc0_user_requires_cmp): New function.
	(cris_valid_pic_const): Add argument ANY_OPERAND.  All callers
	changed.  Handle CRIS_UNSPEC_PLT_PCREL and CRIS_UNSPEC_PCREL.
	(cris_asm_output_case_end): New function, guts from
	ASM_OUTPUT_CASE_END adjusted for CRIS v32.
	(cris_override_options): Adjust for CRIS v32.  Mask out
	TARGET_SIDE_EFFECT_PREFIXES and TARGET_MUL_BUG if v32.
	(cris_asm_output_mi_thunk, cris_expand_epilogue)
	(cris_gen_movem_load, cris_emit_movem_store)
	(cris_expand_pic_call_address, cris_asm_output_symbol_ref)
	(cris_asm_output_label_ref, cris_output_addr_const_extra): Adjust
	for CRIS v32.
	(cris_split_movdx): Copy re-used MEM.

From-SVN: r130966
2007-12-15 21:36:30 +00:00
Hans-Peter Nilsson 99c5227a64 config.gcc: Make crisv32-* have cpu_type cris.
* config.gcc: Make crisv32-* have cpu_type cris.  Handle
	crisv32-*-elf and crisv32-*-none like cris-*-elf and cris-*-none
	but without multilibs and with target_cpu_default=32.

From-SVN: r130965
2007-12-15 21:35:32 +00:00
Hans-Peter Nilsson 4081d70475 config.host (crisv32-*-elf, [...]): New, same as cris-*-elf and cris-*-none.
* config.host (crisv32-*-elf, crisv32-*-none): New, same as
	cris-*-elf and cris-*-none.
	(crisv32-*-linux*): Similar, as cris-*-linux*.

From-SVN: r130964
2007-12-15 21:34:23 +00:00
Hans-Peter Nilsson 0678581243 configure.host (try_cpu settings): Set try_cpu=cris for crisv32.
* configure.host (try_cpu settings): Set try_cpu=cris for crisv32.
	* config/cpu/cris/atomicity.h (__exchange_and_add)
	[__CRIS_arch_version >= 32]: Add support for CRIS v32.

From-SVN: r130963
2007-12-15 21:33:45 +00:00
Hans-Peter Nilsson c7e30cf2d1 peep2-xsrand.c, [...]: Drop redundant target-specifier.
* gcc.target/cris/peep2-xsrand.c, gcc.target/cris/asmreg-1.c,
	gcc.target/cris/peep2-andu1.c, gcc.target/cris/peep2-xsrand2.c,
	gcc.target/cris/20011127-1.c: Drop redundant target-specifier.
	* gcc.target/cris/peep2-andu2.c: Ditto.  Make dg-do assemble and
	add -save-temps.
	* gcc.target/cris/torture/cris-torture.exp,
	gcc.target/cris/cris.exp: Run for crisv32-*-* too.
	* gcc.target/cris/builtin_ctz_v3.c,
	gcc.target/cris/builtin_ctz_v8.c,
	gcc.target/cris/builtin_clz_v0.c,
	gcc.target/cris/builtin_clz_v3.c,
	gcc.target/cris/builtin_bswap_v3.c,
	gcc.target/cris/builtin_bswap_v8.c, gcc.dg/sibcall-4.c,
	gcc.dg/pr19340.c, gcc.dg/20020919-1.c, gcc.dg/pr31866.c,
	gcc.dg/torture/cris-asm-mof-1.c, gcc.dg/torture/cris-volatile-1.c,
	gcc.dg/weak/typeof-2.c, gcc.dg/tree-ssa/loop-1.c,
	gcc.dg/tree-ssa/20040204-1.c, gcc.dg/sibcall-3.c,
	lib/target-supports.exp: Adjust for crisv32-*-*.

From-SVN: r130962
2007-12-15 21:31:18 +00:00
Sebastian Pop a2e51f7753 MAINTAINERS: Update my email address.
2007-12-15  Sebastian Pop  <sebastian.pop@amd.com>

	* MAINTAINERS: Update my email address.

From-SVN: r130961
2007-12-15 20:54:04 +00:00
Alexandre Oliva 394d9fe79e re PR debug/7081 (DWARF enhancements for C++)
gcc/ChangeLog:
PR debug/7081
* dwarf2out.c (dwarf_tag_name): Synchronize with dwarf2.h.
(is_type_die): Cover interface types.
(class_or_namespace_scope_p): Cover interface and class types.
(record_type_tag): New.
(gen_inlined_structure_type_die): Use it.
(gen_struct_or_union_type_die): Likewise.
(prune_unused_types_walk): Cover interface types.
* langhooks.h (classify_record): New enum.
(classify_record): New member in struct langhooks_for_types.
* langhooks-def.h (LANG_HOOKS_CLASSIFY_RECORD): New.
(LANGHOOKS_FOR_TYPES_INITIALIZER): Adjust.
gcc/cp/ChangeLog:
PR debug/7081
* cp-lang.c (cp_classify_record): New.
(LANG_HOOKS_CLASSIFY_RECORD): Override.
gcc/java/ChangeLog:
PR debug/7081
* lang.c (java_classify_record): New.
(LANG_HOOKS_CLASSIFY_RECORD): Override.

From-SVN: r130960
2007-12-15 20:19:23 +00:00
Alexandre Oliva d2f08d9879 dwarf2out.c (reference_to_unused): Don't emit strings in initializers just because of debug information.
gcc/ChangeLog:
* dwarf2out.c (reference_to_unused): Don't emit strings in
initializers just because of debug information.
* tree.h (TREE_ASM_WRITTEN): Document use for STRING_CSTs.
gcc/testsuite/ChangeLog:
* gcc.dg/debug/const-3.c: New.

From-SVN: r130959
2007-12-15 20:16:03 +00:00
John David Anglin 4b516b14ba datasec1.C: Require named section support.
* g++.dg/other/datasec1.C: Require named section support.

From-SVN: r130958
2007-12-15 19:45:41 +00:00
Sebastian Pop 0c8efed8c4 tree-scalar-evolution.c (number_of_iterations_for_all_loops): Replace print_loop_ir with print_loops.
2007-12-15  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-scalar-evolution.c (number_of_iterations_for_all_loops): Replace
	print_loop_ir with print_loops.
	* tree-flow.h (dot_cfg, debug_loops, debug_loop, debug_loop_num,
	print_loops, print_loops_bb): Declare.
	* tree-cfg.c (print_loops_bb): New.
	(print_loop): Print header, latch, bounds, estimation of iterations.
	(print_loop_and_siblings): New.
	(print_loop_ir): Renamed print_loops.
	(debug_loop_ir): Renamed debug_loops.
	(debug_loop, debug_loop_num): New.

From-SVN: r130957
2007-12-15 18:35:23 +00:00
Benjamin Kosnik 58a6ef4b09 partial_sum.h: Include new.
2007-12-15  Benjamin Kosnik  <bkoz@redhat.com>
	    Paolo Carlini  <pcarlini@suse.de>
	
	* include/parallel/partial_sum.h: Include new. Fix for DR 402.	
	* include/parallel/multiway_merge.h:Fix for DR 402.
	* include/parallel/losertree.h: Same.
	* include/parallel/quicksort.h: Same.
	* include/parallel/random_shuffle.h: Same.
	* include/parallel/multiway_mergesort.h: Same.


Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r130956
2007-12-15 16:19:37 +00:00
Bernhard Reutner-Fischer ffe3dcd9d5 MAINTAINERS: Update my email address.
2007-12-15  Bernhard Fischer  <aldot@gcc.gnu.org>

	* MAINTAINERS: Update my email address.

From-SVN: r130955
2007-12-15 16:41:53 +01:00
Bernhard Fischer dc377e879a tree-flow-inline.h.c (next_readonly_imm_use): Fix typo in comment.
2007-12-15  Bernhard Fischer  <aldot@gcc.gnu.org>

	* tree-flow-inline.h.c (next_readonly_imm_use): Fix typo in comment.

From-SVN: r130954
2007-12-15 16:35:32 +01:00
Bernhard Fischer 772cf0671a toplev.c (process_options): Fix typo in warning.
2007-12-15  Bernhard Fischer  <>

	* toplev.c (process_options): Fix typo in warning.

From-SVN: r130953
2007-12-15 16:25:41 +01:00
Jakub Jelinek 6343804dec * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
From-SVN: r130952
2007-12-15 08:52:23 +01:00
GCC Administrator 07cd836227 Daily bump.
From-SVN: r130950
2007-12-15 00:17:22 +00:00
Benjamin Kosnik c5f416abf7 re PR libstdc++/30127 (std::has_facet returns true for not installed derived facets)
2007-12-14  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/30127
	PR libstdc++/34449
	* include/bits/locale_classes.h (use_facet): Check facet hierarchy.
	(has_facet): Same.
	* testsuite/22_locale/global_templates/user_facet_hierarchies.cc: New.
	* testsuite/22_locale/global_templates/
	standard_facet_hierarchies.cc: New.

From-SVN: r130941
2007-12-14 19:32:03 +00:00
Jakub Jelinek 18117c0574 re PR target/29978 (redundant jumps)
PR target/29978
	* config/i386/i386.c (ix86_expand_branch): Optimize LE/LEU/GT/GTU
	DImode comparisons against constant with all 1's in the lower word.

	* gcc.target/i386/pr29978.c: New test.

From-SVN: r130938
2007-12-14 19:00:39 +01:00
Paolo Bonzini 05c219bb49 df-core.c: Update comments referring to removed features.
2007-12-14  Paolo Bonzini  <bonzini@gnu.org>

	* df-core.c: Update comments referring to removed features.
	* df-problems.c: Likewise.
	* df-scan.c: Likewise.
	* df.h: Likewise.

From-SVN: r130937
2007-12-14 17:40:46 +00:00
Uros Bizjak 627eb74577 sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operand constraint for operand2.
* config/i386/sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operand
	constraint for operand2.  Use nonimm_not_xmm0_operand constraint
	for operand 4.  Update arguments in the call to
	gen_sse4_2_pcmpestr_cconly.
	(sse_4_2_pcmpestr_cconly): Renumber insn operands and update insn
	template accordingly.
	(sse4_2_pcmpistr): Use reg_not_xmm0_operand constraint for operand2.
	Use nonimm_not_xmm0_operand constraint for operand 3.  Update
	arguments in the call to gen_sse4_2_pcmpistr_cconly.
	(sse_4_2_pcmpistr_cconly): Renumber insn operands and update insn

testsuite/ChangeLog:

	* gcc.target/i386/sse-12.c (dg-options): Use -msse4
	instead of -msse4.1.
	* gcc.target/i386/sse-12.c (dg-options): Ditto.
	* g++.dg/other/i386-2.C (dg-options): Ditto.

From-SVN: r130934
2007-12-14 16:33:34 +01:00
Tobias Burnus 720522379c re PR fortran/34438 (gfortran not compliant w.r.t default initialization of derived type component and implicit SAVE attribute)
2007-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34438
        * resolve.c (resolve_symbol): Do not emit public-variable-
        of-private-derived-type error for non-module variables.

2007-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34438
        * gfortran.dg/private_type_10.f90: New.

From-SVN: r130933
2007-12-14 16:14:29 +01:00
Tobias Burnus 4956b1f147 re PR fortran/34398 (BOZ literals: Range checks)
2007-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34398
        * expr.c (gfc_check_assign): Add range checks for assignments of
        * BOZs.
        * resolve.c (resolve_ordinary_assign): Ditto.
        * arith.c (gfc_range_check): Fix return value for complex
        * numbers.

2007-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34398
        * gfortran.dg/nan_4.f90: New.

From-SVN: r130932
2007-12-14 16:11:17 +01:00
Richard Guenther ae4dbd44ba re PR middle-end/34462 (tree check: expected ssa_name, have struct_field_tag in vuses_compare, at tree-vn.c:118)
2007-12-14  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34462
	* tree-ssa-operands.h (create_ssa_artificial_load_stmt): Add
	parameter to say whether to unlink immediate uses.
	* tree-ssa-operands.c (create_ssa_artificial_load_stmt): Do not
	mark the artificial stmt as modified.  Unlink immediate uses
	only if requested.
	* tree-ssa-dom.c (record_equivalences_from_stmt): Update caller.
	* tree-ssa-pre.c (insert_fake_stores): Likewise.

	* gcc.c-torture/compile/20071214-1.c: New testcase.

From-SVN: r130931
2007-12-14 14:21:41 +00:00
Uros Bizjak 2c9fd13e90 sse-14.c (test_1, [...]): New macros to test macroized SSE intrinsics.
* gcc.target/i386/sse-14.c (test_1, test_2, test_2x, test_4): New
	macros to test macroized SSE intrinsics.  Use new macros to test
	macroized SSE intrinsics from ammintrin.h, smmintrin.h, tmmintrin.h,
	emmintrin.h, xmmintrin.h and bmmintrin.h
	* gcc.target/i386/sse-13.c (__builtin_ia32_pcmp?str*128): Redefine
	to test with immediate operand.

From-SVN: r130930
2007-12-14 13:43:57 +01:00
Daniel Franke e96e22e379 re PR fortran/34324 (Module files on CRLF systems)
2007-12-14  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/34324
        * module.c (parse_atom): Fixed parsing of modules files whose
        lines are terminated by CRLF.

From-SVN: r130928
2007-12-14 05:25:12 -05:00
John David Anglin cc79ab0e69 re PR target/34091 (ICE in reload_cse_simplify_operands, at postreload.c:392)
PR target/34091
	* gcc.c-torture/compile/pr34091.c: New test.

From-SVN: r130927
2007-12-14 01:01:58 +00:00
GCC Administrator d749a87d80 Daily bump.
From-SVN: r130925
2007-12-14 00:17:21 +00:00
Eric Botcazou 7b7e6ecdb0 re PR middle-end/33088 (spurious exceptions with -ffloat-store)
PR middle-end/33088
	* gimplify.c (gimplify_modify_expr_complex_part): Add note to comment.
	* tree-complex.c (init_dont_simulate_again): Return true if there are
	uninitialized loads generated by gimplify_modify_expr_complex_part.
	* tree-gimple.c (is_gimple_reg_type): Return false for complex types
	if not optimizing.
	* tree-ssa.c (ssa_undefined_value_p): New predicate extracted from...
	(warn_uninit): ...here.  Use ssa_undefined_value_p.
	* tree-ssa-pre.c (is_undefined_value): Delete.
	(phi_translate_1): Use ssa_undefined_value_p.
	(add_to_exp_gen): Likewise.
	(make_values_for_stmt): Likewise.
	* tree-flow.h (ssa_undefined_value_p): Declare.

From-SVN: r130917
2007-12-13 21:49:09 +00:00
Olga Golovanevsky e49f4f07da struct-reorg.exp: Replace DEFAULT_CFLAGS by STRUCT_REORG_CFLAFS.
2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>

	* gcc.dg/struct/struct-reorg.exp: Replace 
	 DEFAULT_CFLAGS by STRUCT_REORG_CFLAFS.

From-SVN: r130916
2007-12-13 20:50:38 +00:00
Tobias Burnus 7e4b97c736 [multiple changes]
2007-12-13  Anton Korobeynikov  <asl@math.spbu.ru>

        * trans-decl.c (gfc_build_builtin_function_decls): Correct decl
        construction for select_string() and internal_unpack()

2007-12-13  Duncan Sands  <baldrick@free.fr>
            Anton Korobeynikov  <asl@math.spbu.ru>

        * trans-expr.c (gfc_conv_structure): Make sure record
        * constructors
        for static variables are marked constant.

From-SVN: r130914
2007-12-13 21:31:45 +01:00
Thomas Koenig 108bc19009 re PR libfortran/34370 (file positioning after nonadvancing i/o)
2007-12-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34370
	PR libfortran/34323
	PR libfortran/34405
	* io/io.h:  Add previous_nonadvancing_write to gfc_unit.
	Add prototype for finish_last_advance_record.
	* io/file_pos.c (st_backspace):  Generate error if backspace is
	attempted for direct access or unformatted stream.
	If there are bytes left from a previous ADVANCE="no", write
	them out before performing the backspace.
	(st_endfile):  Generate error if endfile is attempted for
	direct access.
	If there are bytes left from a previous ADVANCE="no", write
	them out before performing the endfile.
	(st_rewind):  Generate error if rewind is attempted for
	direct access.
	* unit.c (close_unit_1):  Move functionality to write
	previously written bytes to...
	(finish_last_advance_record):  ... here.
	* transfer.c (data_transfer_init):  If reading, reset
	previous_nonadvancing_write.
	(finalize_transfer):  Set the previous_noadvancing_write
	flag if we are writing and ADVANCE="no" was specified.
	Only call next_record() if advance="no" wasn't specified.

2007-12-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34370
	PR libfortran/34323
	PR libfortran/34405
	* gfortran.dg/advance_6.f90:  New test case.
	* gfortran.dg/direct_io_7.f90:  New test case.
	* gfortran.dg/streamio_13.f90:  New test case.

From-SVN: r130912
2007-12-13 19:35:09 +00:00
Douglas Gregor a2b3eb5c97 __func__.C: New.
2007-12-13  Douglas Gregor  <doug.gregor@gmail.com>

	* g++.dg/cpp0x/__func__.C: New.

From-SVN: r130911
2007-12-13 19:29:52 +00:00
Andrew Pinski 76ce039e60 re PR bootstrap/34144 (Revision 130005 causes bootstrap failure with --disable-checking)
2007-12-13  Andrew Pinski  <pinskia@gmail.com>
	    David Daney  <ddaney@avtrex.com>

	PR bootstrap/34144
	* system.h: Make -Wuninitialized non-fatal if ASSERT_CHECKING
	is disabled.

Co-Authored-By: David Daney <ddaney@avtrex.com>

From-SVN: r130908
2007-12-13 19:19:17 +00:00
Jakub Jelinek bff98546fb re PR rtl-optimization/32636 (25_algorithms/search_n/iterator.cc: miscompiled on hppa2.0w-hp-hpux11.11)
PR rtl-optimization/32636
	* df-scan.c (df_get_entry_block_def_set): Set struct_value_rtx
	regno in entry_block_defs even if HAVE_prologue && epilogue_completed.

From-SVN: r130907
2007-12-13 20:05:37 +01:00
Olga Golovanevsky d9d9095344 Fogot to commit ipa-struct-reorg.c
From-SVN: r130906
2007-12-13 18:59:44 +00:00
Uros Bizjak bfcd72332c re PR target/34435 (SSE2 intrinsics - emmintrin with optimisations off and type conversion error)
PR target/34435
        * config/i386/emmintrin.h (_mm_shuffle_pd, _mm_extract_epi16,
        _mm_insert_epi16, _mm_shufflehi_epi16, _mm_shufflelo_epi16,
        _mm_shuffle_epi32): Cast non-constant input values to either __m64,
        __m128, __m128i or __m128d in a macro version of the intrinsic.
        Cast constant input values to int.
        * config/i386/ammintrin.h (_mm_extracti_si64, _mm_inserti_si64): Ditto.
        * config/i386/bmmintrin.h (_mm_roti_epi8, _mm_roti_epi16,
        _mm_roti_epi32, _mm_roti_epi64): Ditto.
        * config/i386/smmintrin.h (_mm_blend_epi16, _mm_blend_ps, _mm_blend_pd,
        _mm_dp_ps, _mm_dp_pd, _mm_insert_ps, _mm_extract_ps, _mm_insert_epi8,
        _mm_insert_epi32, _mm_insert_epi64, _mm_extract_epi8, mm_extract_epi32,
        _mm_extract_epi64, _mm_mpsadbw_epu8, _mm_cmpistrm, _mm_cmpistri,
        _mm_cmpestrm, _mm_cmpestri, _mm_cmpistra, _mm_cmpistrc, _mm_cmpistro,
        _mm_cmpistrs, _mm_cmpistrz, _mm_cmpestra, _mm_cmpestrc, _mm_cmpestro,
        _mm_cmpestrs, _mm_cmpestrz): Ditto.
        * config/i386/tmmintrin.h (_mm_alignr_epi8, _mm_alignr_pi8): Ditto.
        * config/i386/xmmintrin.h (_mm_shuffle_ps, _mm_extract_pi16, _m_pextrw,
        _mm_insert_pi16, _m_pinsrw, _mm_shuffle_pi16, _m_pshufw): Ditto.
        * config/i386/mmintrin-common.h (_mm_round_pd, _mm_round_sd,
        _mm_round_ps, _mm_round_ss): Ditto.

testsuite/ChangeLog:

        PR target/34435
        * g++.dg/other/pr34435.C: New testcase.

From-SVN: r130904
2007-12-13 19:19:38 +01:00
Arnaud Charlet 17cf398510 Restore part of patch lost for PR ada/15805:
* sem_ch3.adb (Analyze_Object_Declaration): Signal an error
	when an access to constant is used to initialize an access
	value.

From-SVN: r130903
2007-12-13 18:59:09 +01:00
Samuel Tardieu 3958c9c882 re PR ada/34360 (typo gcc/ada/Makefile.in for GNU/kFreeBSD)
gcc/ada/
	PR ada/34360
	* Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
	mlib-tgt-specific.adb.

From-SVN: r130896
2007-12-13 15:14:54 +00:00
Richard Guenther 863d2a5760 re PR middle-end/34450 (compile takes up 1.8 GB RAM at -O1)
2007-12-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34450
	* params.def (PARAM_SCCVN_MAX_SCC_SIZE): New param.
	* invoke.texi (sccvn-max-scc-size): Document.
	* Makefile.in (tree-ssa-sccvn.o): Add $(PARAMS_H) dependency.
	* tree-ssa-sccvn.h (run_scc_vn): Return true on success, false
	on error.
	* tree-ssa-sccvn.c (params.h): Include.
	(DFS): Return true if all went well, return false as soon as
	a SCC exceeds the size of PARAM_SCCVN_MAX_SCC_SIZE.
	(run_scc_vn): Return true if all went well, return false if
	we aborted during DFS.
	* tree-ssa-pre.c (execute_pre): Check if SCCVN finished
	successfully, otherwise bail out.

From-SVN: r130895
2007-12-13 14:22:23 +00:00
Olga Golovanevsky 3905a1b25a ipa-struct-reorg.c (is_candidate): Print information to dump file when the type is initialized.
2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>

	* ipa-struct-reorg.c (is_candidate): Print information to dump 
	file when the type is initialized.
	(get_stmt_accesses):  Likewise when a structure has bitfields
	or field access is too complicate.
	(safe_cond_expr_check): Likewise for unsafe condition expressions.
	(exclude_cold_structs): Likewise for cold structures.
	(collect_structures): Suppress redundant print when there are 
	no structures to transform.
	(do_reorg): Print to dump file a number of structures that 
	will be transformed.
	(dump_new_types): Print a number of new types to replace 
	an original structure type.

From-SVN: r130894
2007-12-13 13:58:18 +00:00
Olga Golovanevsky 65e79ca2f9 struct: New directory with tests for struct-reorg optimizaion.
2007-11-26  Olga Golovanevsky  <olga@il.ibm.com>

	* gcc.dg/struct: New directory with tests 
	for struct-reorg optimizaion.
	* gcc.dg/struct/struct-reorg.exp: New script.
	* gcc.dg/struct/wo_prof_array_through_pointer.c: New test.
	* gcc.dg/struct/wo_prof_malloc_size_var.c: Likewise.
	* gcc.dg/struct/wo_prof_mult_field_peeling.c: Likewise.
	* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
	* gcc.dg/struct/wo_prof_escape_return.c: Likewise.
	* gcc.dg/struct/wo_prof_escape_str_init.c: Likewise.
	* gcc.dg/struct/wo_prof_escape_substr_array.c: Likewise.
	* gcc.dg/struct/wo_prof_escape_substr_pointer.c: Likewise.
	* gcc.dg/struct/wo_prof_escape_substr_value.c: Likewise.
	* gcc.dg/struct/wo_prof_global_array.c: Likewise.
	* gcc.dg/struct/wo_prof_global_var.c: Likewise.
	* gcc.dg/struct/wo_prof_local_array.c: Likewise.
	* gcc.dg/struct/wo_prof_local_var.c: Likewise.
	* gcc.dg/struct/wo_prof_two_strs.c: Likewise.
	* gcc.dg/struct/wo_prof_single_str_global.c: Likewise.
	* gcc.dg/struct/wo_prof_single_str_local.c: Likewise.
	* gcc.dg/struct/wo_prof_single_str_pointer.c: Likewise.
	* gcc.dg/struct/w_prof_two_strs.c: Likewise.
	* gcc.dg/struct/w_prof_global_array.c: Likewise.
	* gcc.dg/struct/w_prof_global_var.c: Likewise.
	* gcc.dg/struct/w_prof_local_array.c: Likewise.
	* gcc.dg/struct/w_prof_local_var.c: Likewise.
	* gcc.dg/struct/w_prof_single_str_global.c: Likewise.
	* gcc.dg/struct/w_ratio_cold_str.c: Likewise.

From-SVN: r130893
2007-12-13 13:47:22 +00:00