Commit Graph

85565 Commits

Author SHA1 Message Date
GCC Administrator 0d13ee0d41 Daily bump.
From-SVN: r131881
2008-01-27 00:17:25 +00:00
Maxim Kuvyrkov c01e447905 re PR middle-end/34688 ([4.1/4.2] ICE: output_operand: invalid expression as operand)
PR middle-end/34688
	* final.c (output_addr_const): Handle TRUNCATE.

	* gcc.c-torture/compile/pr34688: New test.

From-SVN: r131878
2008-01-26 23:08:54 +00:00
Zdenek Dvorak 6e8c65f662 re PR target/34711 (g++.dg/tree-ssa/ivopts-1.C fails for power and arm)
PR target/34711
	* tree-ssa-loop-ivopts.c (comp_cost): New type.
	(zero_cost, infinite_cost): New constants.
	(struct cost_pair): Change type of cost to comp_cost.
	(struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
	(new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
	New functions.
	(set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
	split_address_cost, ptr_difference_cost, difference_cost,
	get_computation_cost_at, get_computation_cost,
	determine_use_iv_cost_generic, determine_use_iv_cost_address,
	determine_use_iv_cost_condition, determine_use_iv_costs,
	cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
	iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
	iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
	Change type of cost to comp_cost.
	(determine_iv_cost): Increase cost of non-original ivs, instead
	of decreasing the cost of original ones.
	(get_address_cost): Indicate the complexity of the addressing mode 
	in comp_cost.
	(try_add_cand_for): Prefer using ivs not specific to some object.
	* tree-flow.h (force_expr_to_var_cost): Declaration removed.

From-SVN: r131877
2008-01-26 22:44:19 +00:00
Tobias Burnus 2c80cb0ef7 re PR fortran/34848 (internal compiler error with optional argument of character type and array return type)
2008-01-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34848
        * trans-expr.c (gfc_conv_function_call): Don't call
        gfc_add_interface_mapping if the expression is NULL.

2008-01-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34848
        * gfortran.dg/missing_optional_dummy_5.f90: New.

From-SVN: r131876
2008-01-26 21:44:49 +01:00
Kaveh R. Ghazi 987dbd1ba6 20070302-1.c (baz): Mark with attribute noinline.
* gcc.dg/tree-ssa/20070302-1.c (baz): Mark with attribute
	noinline.  XFAIL test.

From-SVN: r131875
2008-01-26 20:25:12 +00:00
Jerry DeLisle ce97da2242 re PR fortran/31610 (ICE with transfer, merge in gfc_conv_expr_descriptor)
2008-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/31610
	* gfortran.dg/array_3.f90: New test.

From-SVN: r131874
2008-01-26 19:05:15 +00:00
Jerry DeLisle bdfc46af99 re PR fortran/31610 (ICE with transfer, merge in gfc_conv_expr_descriptor)
2008-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/31610
	* trans-array.c (gfc_trans_create_temp_array): Remove call to
	gcc_assert (integer_zerop (loop->from[n])).

From-SVN: r131873
2008-01-26 19:01:07 +00:00
Richard Sandiford f0025d1d69 gcconfig.h (HBLKSIZE): Define for MIPS.
boehm-gc/
	* include/private/gcconfig.h (HBLKSIZE): Define for MIPS.

From-SVN: r131872
2008-01-26 18:24:37 +00:00
Peter Bergner e41b2a33b3 re PR target/34814 (SDmode function args not passed according to ABI specification)
PR target/34814
	* doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
	(TARGET_INSTANTIATE_DECLS): Likewise.
	* target.h (expand_to_rtl_hook): New target hook.
	(instantiate_decls): Likewise.
	* function.c (instantiate_decl): Make non-static.  Rename to...
	(instantiate_decl_rtl): ... this.
	(instantiate_expr): Use instantiate_decl_rtl.
	(instantiate_decls_1): Likewise.
	(instantiate_decls): Likewise.
	(instantiate_virtual_regs: Call new instantiate_decls taget hook.
	* function.h (instantiate_decl_rtl): Add prototype.
	* cfgexpand.c (target.h): New include.
	(tree_expand_cfg): Call new expand_to_rtl_hook target hook.
	* target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
	(TARGET_INSTANTIATE_DECLS): Likewise.
	(TARGET_INITIALIZER): New target hooks added.
	* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
	New prototype.
	* config/rs6000/rs6000.c (tree-flow.h): New include.
	(machine_function): Add sdmode_stack_slot field.
	(rs6000_alloc_sdmode_stack_slot): New function.
	(rs6000_instantiate_decls): Likewise.
	(rs6000_secondary_memory_needed_rtx): Likewise.
	(rs6000_check_sdmode): Likewise.
	(TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
	(TARGET_INSTANTIATE_DECLS): Likewise.
	(rs6000_hard_regno_mode_ok): Allow SDmode.
	(num_insns_constant): Likewise.  Handle _Decimal32 constants.
	(rs6000_emit_move): Handle SDmode.
	(function_arg_advance): Likewise.
	(function_arg): Likewise.
	(rs6000_gimplify_va_arg): Likewise.  Add special handling of
	SDmode var args for 32-bit compiles.
	(rs6000_secondary_reload_class): Handle SDmode.
	(rs6000_output_function_epilogue): Likewise.
	(rs6000_function_value): Simplify if statement.
	(rs6000_libcall_value): Likewise.
	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
	(SECONDARY_MEMORY_NEEDED_RTX): Add define.
	* config/rs6000/dfp.md (movsd): New define_expand and splitter.
	(movsd_hardfloat): New define_insn.
	(movsd_softfloat): Likewise.
	(movsd_store): Likewise.
	(movsd_load): Likewise.
	(extendsddd2): Likewise.
	(extendsdtd2): Likewise.
	(truncddsd2): Likewise.
	(movdd_hardfloat64): Fixup comment.
	(UNSPEC_MOVSD_LOAD): New constant.
	(UNSPEC_MOVSD_STORE): Likewise.

Co-Authored-By: Janis Johnson <janis187@us.ibm.com>

From-SVN: r131869
2008-01-26 11:18:35 -06:00
Jakub Jelinek 6f536f74ed re PR c++/34965 (Broken diagnostic: 'truth_and_expr' not supported by dump_expr)
PR c++/34965
	* c-pretty-print.c (pp_c_exclusive_or_expression): Handle
	TRUTH_XOR_EXPR.
	(pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
	(pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
	(pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
	and TRUTH_XOR_EXPR.

	* error.c (dump_expr): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
	and TRUTH_XOR_EXPR.

	* gcc.dg/pr34965.c: New test.
	* g++.dg/other/error24.C: New test.

From-SVN: r131868
2008-01-26 18:04:54 +01:00
Jakub Jelinek 680f02e4b4 pr34966.c (atan): Only use asm on i?86/x86_64.
* gcc.c-torture/compile/pr34966.c (atan): Only use asm
	on i?86/x86_64.

From-SVN: r131867
2008-01-26 18:02:44 +01:00
David Edelsohn 62a37275fe re PR target/34794 (build of gcc 4.2.2 fails on AIX 6.1 / libstdc++-v3/libmath/stubs.c:47)
PR target/34794
        * config/os/aix/os_defines.h: Define __COMPATMATH__.

From-SVN: r131866
2008-01-26 11:28:03 -05:00
David Edelsohn ba6a1b78c0 re PR target/34794 (build of gcc 4.2.2 fails on AIX 6.1 / libstdc++-v3/libmath/stubs.c:47)
PR target/34794
        * config.gcc: Separate AIX 5.3 from AIX 6.1.
        * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
        __LONGDOUBLE128 too.
        * config/rs6000/aix61.h: New file.

From-SVN: r131865
2008-01-26 11:26:27 -05:00
Thomas Koenig 6cac36304e re PR libfortran/34887 (reverse tabbing before slash descriptor (regression vs. g77))
2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfofortran/34887
	* io/transfer.c (next_record_w): Always move to the farthest
	position when completing the record (also when we are
	processing a slash edit descriptor).

2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfofortran/34887
	* gfortran.dg/x_slash_2.f:  New test.

From-SVN: r131864
2008-01-26 15:22:59 +00:00
Richard Sandiford 1230d7f8de re PR rtl-optimization/34959 (23_containers/bitset/ext/15361.cc fails for MIPS n64)
gcc/
	PR rtl-optimization/34959
	* optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
	popcount and parity rtxes the same mode as their operand.
	Truncate or extend the result to the return value's mode
	if necessary.

From-SVN: r131863
2008-01-26 11:34:41 +00:00
Richard Guenther 2f35df8c14 re PR c++/34235 (short variable cast to unsigned int fails to right shift as unsigned)
2008-01-26  Richard Guenther  <rguenther@suse.de>

	PR c++/34235
	* typeck.c (build_binary_op): Remove code to shorten compares.

	* g++.dg/torture/pr34235.C: New testcase.

From-SVN: r131862
2008-01-26 11:26:36 +00:00
Richard Sandiford d352807578 ivopts-1.C: XFAIL for MIPS too.
gcc/testsuite/
	* g++.dg/tree-ssa/ivopts-1.C: XFAIL for MIPS too.

From-SVN: r131861
2008-01-26 11:20:07 +00:00
Richard Sandiford dbc90b6565 re PR target/34981 (Lazily-bound function called twice)
gcc/
	PR target/34981
	* config/mips/mips-protos.h (mips_expand_call): Return an rtx.
	* config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
	to GOT_VERSION_REGNUM.
	(CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
	(EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
	* config/mips/mips.c (mips_emit_call_insn): New function.
	(mips_call_tls_get_addr): Call mips_expand_call directly.
	(mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
	emit_call_insn.
	(mips16_build_call_stub): Likewise.  Return the call insn or null.
	(mips_expand_call): Update the call to mips16_build_call_stub
	accordingly and a remove redundant condition.  Assert that MIPS16
	stubs do not use lazy binding.  Use mips_emit_call_insn and return
	the call insn.
	(mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
	TARGET_USE_GOT.
	(mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
	(mips_avoid_hazard): Remove hazard_set handling.
	* config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
	(UNSPEC_RESTORE_GP): ...this.
	(UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
	(FAKE_CALL_REGNO): Rename to...
	(GOT_VERSION_REGNUM): ...this.
	(type): Add "ghost" value.  Add an associated insn reservation.
	(hazard_set): Remove.
	(exception_receiver): Rename to...
	(restore_gp): ...this and update the unspec identifier accordingly.
	(exception_receiver, nonlocal_got_receiver): New expanders.
	(load_call<mode>): Use GOT_VERSION_REGNUM.  Don't set
	FAKE_CALL_REGNO.  Remove hazard_set attribute.
	(set_got_version, update_got_version): New patterns.

gcc/testsuite/
	PR target/34981
	* gcc.target/mips/lazy-binding-1.c: New test.
	* gcc.target/mips/mips.exp (setup_mips_tests): Set
	mips_forced_no_abicalls and mips_forced_no_shared.
	(dg-mips-options): Avoid using -mabicalls with an implicit -mabi=eabi.
	Avoid using small data with -mabicalls.  Don't make -G0 force
	-mn-abicalls.  Skip -mabicalls and -mshared tests if the multilib
	forces the opposite option.

From-SVN: r131860
2008-01-26 10:22:14 +00:00
Danny Smith 763a27ee73 re PR target/34970 (name mangling broken for __attributte__((fastcall)))
PR target/34970

gcc
	* config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
testsuite
	* gcc.target/i386/fastcall-1.c: Scan for correct label.
	Use -std=gnu89 switch.

From-SVN: r131859
2008-01-26 09:31:30 +00:00
Eric Botcazou 8fa07a56df decl.c (components_to_record): Improve comment.
* decl.c (components_to_record): Improve comment.

From-SVN: r131858
2008-01-26 09:29:00 +00:00
Jason Merrill d79ca2074f re PR c++/27177 (ICE in build_simple_base_path, at cp/class.c:474)
PR c++/27177
        * class.c (build_base_path): Don't mess with virtual access if
        skip_evaluation.
        * call.c (standard_conversion): Don't check whether source type
        is complete.

From-SVN: r131855
2008-01-25 19:41:49 -05:00
GCC Administrator 31bc8a984f Daily bump.
From-SVN: r131853
2008-01-26 00:17:28 +00:00
Jerry DeLisle c6a4852ec6 re PR fortran/34876 (Can't read/write array sections with negative stride not specified)
2008-01-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/34876
	* gfortran.dg/direct_io_9.f: New test.

From-SVN: r131850
2008-01-25 23:40:23 +00:00
Jerry DeLisle 12d9e9beff Fix date.
From-SVN: r131849
2008-01-25 23:36:39 +00:00
Jerry DeLisle 4152bc263e re PR fortran/34876 (Can't read/write array sections with negative stride not specified)
2008-01-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/34876
	* io/transfer.c (write_buf): Handle case of zero sized array.
	(transfer_array): Set data pointer to NULL and size to zero.  Then
	make a data transfer and return.

From-SVN: r131848
2008-01-25 23:34:53 +00:00
Daniel Franke 42cd23cb28 re PR fortran/34661 (ice on where / ASSIGNMENT(=))
gcc/fortran:
2008-01-25  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/34661
        * resolve.c (resolve_where): Added check if user-defined assignment
        operator is an elemental subroutine.
        (gfc_resolve_where_code_in_forall): Likewise.

gcc/testsuite:
2008-01-25  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/34661
        * gfortran.dg/where_operator_assign_4.f90: New test.

From-SVN: r131845
2008-01-25 16:55:47 -05:00
Joseph Myers 3725c0cab3 re PR other/31955 (gcc_release does not generate HTML files from install manual)
PR other/31955
	* doc/install.texi2html: Generate gcc-vers.texi.

From-SVN: r131842
2008-01-25 21:34:38 +00:00
Richard Guenther 291de7fcab re PR c++/33887 (Reference to bitfield gets wrong value when optimizing)
2008-01-25  Richard Guenther  <rguenther@suse.de>

	PR c++/33887
	* decl.c (record_builtin_java_type): Make __java_boolean
	a variant of bool.
	* typeck.c (structural_comptypes): Move TYPE_FOR_JAVA check
	after TYPE_MAIN_VARIANT check.

From-SVN: r131840
2008-01-25 21:20:00 +00:00
DJ Delorie 0288980fc4 * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
From-SVN: r131836
2008-01-25 16:00:56 -05:00
Joseph Myers 8d8da22788 MAINTAINERS (c4x port): Remove.
* MAINTAINERS (c4x port): Remove.

contrib:
	* paranoia.cc (main): Remove handling of c4x_single and
	c4x_extended formats.

gcc:
	* config/c4x: Remove directory.
	* config.gcc (crx-*, mt-*): Mark obsolete.
	(c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
	h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
	sh-*-rtemscoff*): Remove cases.
	* defaults.h (C4X_FLOAT_FORMAT): Remove.
	* real.c (encode_c4x_single, decode_c4x_single,
	encode_c4x_extended, decode_c4x_extended, c4x_single_format,
	c4x_extended_format): Remove.
	* real.h (c4x_single_format, c4x_extended_format): Remove.
	* doc/extend.texi (interrupt, naked): Remove mention of attributes
	on C4x.
	(Pragmas): Remove comment about c4x pragmas.
	* doc/install.texi (c4x): Remove target-specific instructions.
	* doc/invoke.texi (TMS320C3x/C4x Options): Remove.
	* doc/md.texi (Machine Constraints): Remove C4x documentation.
	* doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
	refer to C4x source files as examples.
	(C4X_FLOAT_FORMAT): Remove documentation.

gcc/testsuite:
	* gcc.dg/builtin-inf-1.c, gcc.dg/compare6.c, gcc.dg/sibcall-3.c,
	gcc.dg/sibcall-4.c, gcc.dg/torture/builtin-attr-1.c: Don't handle
	c4x-*-* targets.

libgcc:
	* config.host (tic4x-*-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*,
	tic4x-*, h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
	sh-*-rtemscoff*): Remove cases.

From-SVN: r131835
2008-01-25 20:49:04 +00:00
Jason Merrill 1d555e2632 decl2.c (is_late_template_attribute): Don't defer attribute visibility just because the type is dependent.
* decl2.c (is_late_template_attribute): Don't defer attribute
        visibility just because the type is dependent.

From-SVN: r131833
2008-01-25 14:47:28 -05:00
Jason Merrill b6219f4208 re PR c++/31780 (ICE with incompatible types for ?: with "complex type" conversion)
PR c++/31780
        * call.c (standard_conversion): Allow conversion from integer/real
        to complex.
        (compare_ics): Such a conversion is worse than a normal arithmetic
        conversion.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r131832
2008-01-25 14:45:11 -05:00
Janis Johnson 7fa4b30a16 decCommonSymbols.h: Commit.
* decCommonSymbols.h: Commit.
        * decDPDSybmols.h: Commit.

From-SVN: r131831
2008-01-25 18:47:12 +00:00
Janis Johnson 346b24c0a5 Makefile.in (libdecnumber_a_SOURCES): List Symbols headers.
* Makefile.in (libdecnumber_a_SOURCES): List Symbols headers.
	* decCommonSymbols.h: New file.
	* decCommon.c: Include it.
	* decDPDSymbols.h: New file.
	* decDPD.h: Include it.
	* decNumberLocal.h: Include the two new files.
	* decContextSymbols.h (DECPOWERS, DECSTICKYTAB): New.
	* decNumberSymbols.h (LNnn, d2utable): New.
	* dpd/decimal32Symbols.h (COMBEXP, COMBMSD, DPD2BIN, BIN2DPD): New.
	* dpd/decimal64Symbols.h (COMBEXP, COMBMSD, DPD2BIN, BIN2DPD): New.
	* dpd/decimal128Symbols.h (COMBEXP, COMBMSD, DPD2BIN, BIN2DPD): New.
	* dpd/decimal32.c: Remove redefine of DPD2BIN, BIN2DPD.
	* dpd/decimal64.c: Ditto.
	* dpd/decimal128.c: Ditto.

From-SVN: r131830
2008-01-25 18:07:54 +00:00
Bernd Schmidt fb7c3b0519 bfin.c (override_options): Reorder tests so that flag_pic gets enabled for -msep-data.
* config/bfin/bfin.c (override_options): Reorder tests so that
	flag_pic gets enabled for -msep-data.

From-SVN: r131829
2008-01-25 17:05:26 +00:00
Richard Guenther dd3b33d773 re PR middle-end/32244 (bit-field: optimization BUG)
2008-01-25  Richard Guenther  <rguenther@suse.de>

	PR middle-end/32244
	* expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
	to its bitfield precision if required.

	* gcc.c-torture/execute/pr32244-1.c: New testcase.

From-SVN: r131828
2008-01-25 15:33:09 +00:00
Jakub Jelinek c256730cef re PR middle-end/33880 (ICE: in extract_omp_for_data, at omp-low.c:162)
PR middle-end/33880
	* tree-nested.c (walk_omp_for): New function.
	(convert_nonlocal_reference, convert_local_reference): Call
	walk_omp_for on OMP_FOR.
	(convert_call_expr): Call walk_body on OMP_FOR's
	OMP_FOR_PRE_INIT_BODY.

	* testsuite/libgomp.c/pr33880.c: New test.
	* testsuite/libgomp.fortran/pr33880.f90: New test.

From-SVN: r131825
2008-01-25 13:54:42 +01:00
Richard Guenther 59805c3b29 re PR tree-optimization/34966 (ICE: verify_ssa fails when optimization trigonometric code)
2008-01-25  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34966
	* tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
	default defs and PHI_NODEs we have to insert after the
	defining statement.

	* gcc.c-torture/compile/pr34966.c: New testcase.

From-SVN: r131824
2008-01-25 12:08:52 +00:00
Richard Guenther 57e2aff267 re PR c++/33887 (Reference to bitfield gets wrong value when optimizing)
2008-01-25  Richard Guenther  <rguenther@suse.de>

	PR c++/33887
	* cp-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define
	to true.

	* g++.dg/torture/pr33887-1.C: New testcase.
	* g++.dg/torture/pr33887-2.C: Likewise.
	* g++.dg/torture/pr33887-3.C: Likewise.
	* gcc.c-torture/execute/20071211-1.c: Likewise.

From-SVN: r131823
2008-01-25 12:06:31 +00:00
Nick Clifton f84fe9b6f7 stormy16-lib2.c (MIN_UNITS_PER_WORD): Provide a default definition.
* config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
  Provide a default definition.
  (LIBGCC2_UNITS_PER_WORD): Likewise.

  * config/stormy16/stormy16.c: Include df.h for the prototype
  for df_regs_ever_live_p.
  (xstormy16_expand_builtin_va_start): Convert the stack offset
  into a component_ref and then use POINTER_PLUS_EXPR to add it
  to the incoming_virtual_args_rtx.
  (xstormy16_gimplify_va_arg_expr): Rename to
  xstormy16_gimplify_va_arg_expr.
  Use POINTER_PLUS_EXPR when performing pointer arithmetic.
  (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
  xstormy16_gimplify_va_arg_expr.
  Fix up some formatting issues.

  * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
  Move to predicates.md.
  (xs_hi_general_operand): Likewise.
  (xs_hi_nonmemory_operand): Likewise.
  * config/stormy16/predicates.md:
  (xstormy16_carry_plus_operand): New predicate.
  (xs_hi_general_operand): New predicate.
  (xs_hi_nonmemory_operand): New predicate.
  * config/stormy16/stormy16-protos.h:
  (xstormy16_carry_plus_operand): Delete prototype.
  (xs_hi_general_operand): Likewise.
  (xs_hi_nonmemory_operand): Likewise.

  * config/storm16/stormy16.md (addhi3): Remove earlyclobber
  modifiers as they are no longer needed and they can trigger
  reload spill failures.

  * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
  with a match_operand in order to help reload.

  * config/storm16/stormy16.md (movhi_internal): Replace 'r'
  constraint with 'e' for the 8th alternative as this version of
  the mov.w instruction only accepts the lower 8 registers.

From-SVN: r131822
2008-01-25 11:23:44 +00:00
Uros Bizjak d1f0728e65 re PR target/34856 (ICE with some constant vectors)
PR target/34856
	* simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
	Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
	vector elements.

testsuite/ChangeLog:

	PR target/34856
	* gcc.dg/pr34856.c: Use pointer mode for "pin".

From-SVN: r131821
2008-01-25 11:25:21 +01:00
Jakub Jelinek 80e67011e3 re PR middle-end/33333 (ICE with #pragma omp parallel for in try/catch statement)
PR middle-end/33333
	* gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.

	* g++.dg/gomp/pr33333.C: New test.

From-SVN: r131820
2008-01-25 10:12:57 +01:00
Jakub Jelinek 765d600ac5 re PR preprocessor/34692 (Internal error with pragma in macro)
PR preprocessor/34692
	* macro.c (collect_args): Add pragma_buff argument.  Push
	CPP_PRAGMA ... CPP_PRAGMA_EOL tokens to *pragma_buff, rather
	than into arguments.  Reset prevent_expansion and parsing_args
	state at CPP_PRAGMA_EOL/CPP_EOF.
	(funlike_invocation_p): Add pragma_buff argument, pass it through
	to collect_args.
	(enter_macro_context): Add result argument.  Adjust
	funlike_invocation_p caller.  Emit all deferred pragma tokens
	gathered during collect_args before the expansion, add a padding
	token.  Return 2 instead of 1 if any pragma tokens were prepended.
	(cpp_get_token): If enter_macro_context returns 2, don't return
	a padding token, instead cycle to grab CPP_PRAGMA token.
	* directives.c (_cpp_handle_directive): If was_parsing_args
	in deferred pragma, leave parsing_args and prevent_expansion as is.

	* gcc.dg/cpp/pr34692.c: New test.
	* gcc.dg/gomp/pr34692.c: New test.

From-SVN: r131819
2008-01-25 10:01:27 +01:00
Golovanevsky Olga 1525f2c3a5 ipa-struct-reorg.c (remove_str_allocs_in_func, [...]): New functions.
2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>

	* ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
	New functions.
	(remove_structure): Update allocations list before removing structure.

From-SVN: r131818
2008-01-25 08:02:54 +00:00
Olga Golovanevsky bd91d74392 [multiple changes]
2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>

	* ipa-struct-reorg.c (is_safe_cond_expr, 
	create_new_stmts_for_cond_expr): Use integer_zerop function,
	that recognize not only zero-pointer, but zero-integer too.
	
2008-01-24  Olga Golovanevsky  <olga@il.ibm.com>

        * gcc.dg/struct/wo_prof_malloc_size_var.c: UnXFAIL.

From-SVN: r131817
2008-01-25 07:47:46 +00:00
GCC Administrator 6ba2cd5959 Daily bump.
From-SVN: r131814
2008-01-25 00:17:48 +00:00
Daniel Franke 79f40de682 re PR fortran/33375 (ICE (segfault) gfortran.dg/common_6.f90)
2008-01-24  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/33375
        PR fortran/34858
        * gfortran.h: Revert changes from 2008-01-17.
        * match.c: Likewise.
        * symbol.c: Likewise.
        (gfc_undo_symbols): Undo namespace changes related to common blocks.

From-SVN: r131811
2008-01-24 16:36:14 -05:00
Daniel Franke 7c8d270315 re PR fortran/34202 (ICE (segfault) for invalid code in formalize_init_expr (data.c:691))
gcc/fortran:
2008-01-24  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/34202
	* data.c (formalize_structure_cons): Skip formalization on
	empty structures.

gcc/testsuite:
2008-01-24  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/34202
        * gfortran.dg/empty_type.f90: New test.

From-SVN: r131810
2008-01-24 16:28:20 -05:00
Ben Elliston ae7a8ebc89 Committed with RM approval this time.
PR other/22232
	* fixproto: Escape "." in sed expression that strips leading "./".

From-SVN: r131809
2008-01-25 07:52:56 +11:00
Paolo Carlini 3fe82414fe re PR c++/34603 (ICE with broken template declaration)
/cp
2008-01-24  Paolo Carlini  <pcarlini@suse.de>

        PR c++/34603
        * pt.c (push_template_decl_real): Return error_mark_node in case
	of template definition of non-template.

/testsuite
2008-01-24  Paolo Carlini  <pcarlini@suse.de>

        PR c++/34603
        * g++.dg/template/crash77.C: New.

From-SVN: r131804
2008-01-24 19:54:11 +00:00