1. 14 Aug, 2008 2 commits
  2. 13 Aug, 2008 19 commits
    • arm-g2.c, [...]: Skip if the multilib testing specifies -march that does not agree with the one... · e026fa18
      	* gcc.dg/arm-g2.c, gcc.dg/arm-mmx-1.c, gcc.dg/arm-scd42-2.c:
      	Skip if the multilib testing specifies -march that does not
      	agree with the one specified in the testcase.
      
      From-SVN: r139086
      Kazu Hirata committed
    • sparc.c (emit_soft_tfmode_cvt): Explicitly sign or zero extend SImode values… · 92693034
      sparc.c (emit_soft_tfmode_cvt): Explicitly sign or zero extend SImode values being converted to TFmode before...
      
      	* config/sparc/sparc.c (emit_soft_tfmode_cvt): Explicitly sign or
      	zero extend SImode values being converted to TFmode before passing
      	to libcalls.
      
      From-SVN: r139084
      Joseph Myers committed
    • rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine __PPU__ when targeting the Cell/B.E. PPU processor. · 9f3c9256
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
      	__PPU__ when targeting the Cell/B.E. PPU processor.
      
      From-SVN: r139082
      Ulrich Weigand committed
    • 2008-08-13 Paolo Carlini <paolo.carlini@oracle.com> · 8d019b65
      	Revert the last patch.
      
      From-SVN: r139075
      Paolo Carlini committed
    • 2008-08-13 Paolo Carlini <paolo.carlini@oracle.com> · ec001bc9
      	Revert the last patch.
      
      From-SVN: r139074
      Paolo Carlini committed
    • gimple.h (gimple_call_set_chain): Accept SSA variables. · 7aec7a38
      	* gimple.h (gimple_call_set_chain): Accept SSA variables.
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1) <CALL_EXPR>:
      	Rematerialize the static chain, if any.
      	* tree-ssa-sccvn.c (copy_reference_ops_from_call): Also copy the
      	static chain.
      
      From-SVN: r139072
      Eric Botcazou committed
    • dwarf2out.c (dwarf_stack_op_name): Remove prototype. · 70a1c2f9
      2008-08-13  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* dwarf2out.c (dwarf_stack_op_name): Remove prototype.
      	(new_loc_descr): Likewise.
      	(add_loc_descr): Likewise.
      	(size_of_loc_descr): Likewise.
      	(size_of_locs): Likewise.
      	(output_loc_operands): Likewise.
      	(output_loc_sequence): Likewise.
      	(new_reg_loc_descr): New.
      	(build_cfa_loc): Use it.
      	(build_cfa_aligned_loc): Likewise.
      	(one_reg_loc_descriptor): Likewise.
      	(based_loc_descr): Likewise.
      
      From-SVN: r139065
      H.J. Lu committed
    • Add exception propagation support as per N2179. · 0292e6d2
      2008-08-13  Sebastian Redl <sebastian.redl@getdesigned.at>
      
      	Add exception propagation support as per N2179.
              * libsupc++/exception_ptr.h (exception_ptr, current_exception,
              copy_exception, rethrow_exception): New file, implement exception
      	propagation.
              * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
              rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
              * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
      	(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
              __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
              __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
              __gxx_dependent_exception_class, __get_object_from_ue,
              __get_object_from_ambiguous_exception): Add.
              (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
              (__is_gxx_exception_class): Handle dependent exceptions.
              * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
              * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
              * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
              * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
              * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
              __cxa_free_dependent_exception): Add.
              * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
              counting.
              * libsupc++/exception: Conditionally include exception_ptr.h.
              * libsupc++/Makefile.am: Register new files.
              * libsupc++/Makefile.in: Regenerate.
              * config/abi/pre/gnu.ver: Add new symbols.
              * testsuite/18_support/exception_ptr/current_exception.cc: Test the
              core functionality of current_exception().
              * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
              core functionality of rethrow_exception().
              * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
              exception objects during exception propagation.
      
      From-SVN: r139064
      Sebastian Redl committed
    • re PR c/30551 (-pedantic does not include -Wmain, but -pedantic-errors does make… · 4003301d
      re PR c/30551 (-pedantic does not include -Wmain, but -pedantic-errors does make -Wmain cause error messages)
      
      2008-08-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR 30551
      	* doc/invoke.texi (Wmain): Update.
      	* c-decl.c (start_decl): warn_main is only 0 or 1.
      	(start_function): Likewise. Fix formatting.
      	(finish_function): Delete redundant warning.
      	* c.opt (Wmain): Add Var(warn_main) and Init(-1).
      	* c-opts (c_common_handle_option): -Wall only has effect if
      	warn_main is uninitialized. OPT_Wmain is automatically
      	handled. -pedantic also enables Wmain.
      	(c_common_post_options): Handle all logic for Wmain here.
      	* c-common.c (warn_main): Delete.
      	(check_main_parameter_types): Make pedwarns conditional on
      	OPT_Wmain.
      	* c-common.h (warn_main): Delete.
      cp/	
      	* decl.c (grokfndecl): Call check_main_parameters_type only if
      	-Wmain.
      testsuite/
      	* gcc.dg/pr30551.c: New.
      	* gcc.dg/pr30551-2.c: New.
      	* gcc.dg/pr30551-3.c: New.
      	* gcc.dg/pr30551-4.c: New.
      	* gcc.dg/pr30551-5.c: New.
      	* gcc.dg/pr30551-6.c: New.
      	* gcc.dg/tree-ssa/reassoc-3.c: Don't compile with -pedantic-errors.
      	* g++.dg/warn/pr30551.C: New.
      	* g++.dg/warn/pr30551-2.C: New.
      
      From-SVN: r139063
      Manuel López-Ibáñez committed
    • re PR middle-end/36701 (unaligned access in gcc.c-torture/execute/complex-7.c) · 6cd7942d
      2008-08-13  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR middle-end/36701
      	* expr.c (emit_group_store): Allocate stack temp with the
      	largest alignment when copying from register to stack.
      
      From-SVN: r139062
      H.J. Lu committed
    • tree.h (maybe_fold_offset_to_address): Declare. · 99f536cc
      2008-08-13  Richard Guenther  <rguenther@suse.de>
      
      	* tree.h (maybe_fold_offset_to_address): Declare.
      	* tree-ssa-ccp.c (surely_varying_stmt_p): Fix typo in last commit.
      	(ccp_fold): Handle pointer conversions the same as fold_stmt.
      	Likewise for POINTER_PLUS_EXPR.
      	(maybe_fold_offset_to_reference): Enable disabled code.
      	(maybe_fold_offset_to_address): New function.
      	(fold_stmt_r): Use it.
      	(fold_gimple_assign): Likewise.
      	* gimplify.c (gimplify_conversion): Use maybe_fold_offset_to_address.
      	(gimplify_expr): Likewise.
      
      	* gcc.dg/tree-ssa/ssa-ccp-21.c: New testcase.
      	* gcc.dg/tree-ssa/ssa-ccp-22.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise.
      
      From-SVN: r139061
      Richard Guenther committed
    • toplev.h (pedwarn_at): Fix declaration. · e3f05c4e
      2008-08-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	* toplev.h (pedwarn_at): Fix declaration.
      
      From-SVN: r139054
      Manuel López-Ibáñez committed
    • linux64.h (LINK_ARCH32_SPEC, [...]): Use %R in -Y P argument. · c71cfaaf
      	* config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
      	LINK_SPEC): Use %R in -Y P argument.
      
      From-SVN: r139053
      Joseph Myers committed
    • new file · 1da5099e
      From-SVN: r139052
      Aldy Hernandez committed
    • re PR ada/36777 (Protected type cannot have access taken from its body.) · 2d14501c
          gcc/ada/
      	PR ada/36777
      	* sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
      	* sem_attr.adb (Check_Type): The current instance of a protected
      	object is not a type name.
      	(Analyze_Access_Attribute): Accept instances of protected objects.
      	(Analyze_Attribute, Attribute_Address clause): Ditto.
      	* exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
      	the prefix as being the current instance if needed.
      
          gcc/testsuite/
      	PR ada/36777
      	* gnat.dg/protected_self_ref1.adb, gnat.dg/protected_self_ref2.adb:
      	New.
      
      From-SVN: r139051
      Samuel Tardieu committed
    • re PR c/15236 (pedantic switch modifies treatment of non-ISO compliant enumerations) · 85790e66
      2008-08-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR c/15236
      	* diagnostic.c (pedwarn_at): New.
      	* toplev.h (pedwarn_at): Declare.
      	* c-tree.h (build_enumerator): Update declaration.
      	* c-decl.c (finish_enum): Update comment.
      	(build_enumerator): Take a location parameter. Give a pedwarn but do
      	not perform any conversion.
      	* c-parser.c (c_parser_enum_specifier): Set correct location for
      	enumerator.
      testsuite/
      	* gcc.dg/pr15236.c: New.
      	* gcc.dg/torture/pr25183.c: Update.
      
      From-SVN: r139050
      Manuel López-Ibáñez committed
    • re PR c/35635 (-Wconversion problematic with bitfields) · 374035cb
      2008-08-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR 35635
      	* c-common.c (conversion_warning): Use a switch. Ignore boolean
      	expressions except for conversions to signed:1 bitfields. Handle
      	COND_EXPR with constant operands.
      testsuite/
      	* gcc.dg/pr35635.c: New.
      	* gcc.dg/Wconversion-integer.c: Update.
      	* gcc.dg/Wconversion-integer-no-sign.c: Update.
      	* gcc.dg/Wsign-conversion.c: Update.
      	* g++.dg/warn/pr35635.C: New.
      	* g++.dg/warn/Wconversion-integer.C: Update.
      	* g++.dg/warn/Wsign-conversion.C: Update.
      
      From-SVN: r139049
      Manuel López-Ibáñez committed
    • re PR tree-optimization/15255 ([tree-ssa] a * 2 + a * 2 is not converted to a * 4) · 25c6036a
      2008-08-13  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/15255
      	* tree-ssa-reassoc.c (linearize_expr_tree): Declare.
      	(struct oecount_s): New struct and VEC types.
      	(cvec): New global.
      	(oecount_hash): New function.
      	(oecount_eq): Likewise.
      	(oecount_cmp): Likewise.
      	(zero_one_operation): New function.
      	(build_and_add_sum): Likewise.
      	(undistribute_ops_list): Perform un-distribution of multiplication
      	and division on the chain of summands.
      	(should_break_up_subtract): Also break up subtracts for factors.
      	(reassociate_bb): Delete dead visited statements.
      	Call undistribute_ops_list.  Re-sort and optimize if it did something.
      	* passes.c (init_optimization_passes): Move DSE before
      	reassociation.
      	* tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Correctly handle
      	PHI nodes.
      
      	* gcc.dg/tree-ssa/reassoc-14.c: New testcase.
      	* gcc.dg/tree-ssa/reassoc-15.c: Likewise.
      	* gcc.dg/tree-ssa/reassoc-16.c: Likewise.
      	* gcc.dg/torture/reassoc-1.c: Likewise.
      	* gcc.dg/tree-ssa/recip-2.c: Adjust.
      	* gcc.dg/tree-ssa/recip-6.c: Likewise.
      	* gcc.dg/tree-ssa/recip-7.c: Likewise.
      	* gfortran.dg/reassoc_4.f: Likewise.
      
      From-SVN: r139048
      Richard Guenther committed
    • Daily bump. · 92464a8a
      From-SVN: r139045
      GCC Administrator committed
  3. 12 Aug, 2008 19 commits
    • re PR libstdc++/37100… · bbbd5025
      re PR libstdc++/37100 (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_pair.h:99: error 404)
      
      2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/37100
      	* include/bits/stl_pair.h: Fix documentation URL in comment.
      
      From-SVN: r139040
      Paolo Carlini committed
    • pr32000-2.c: Use dg-skip-if for target expression. · 57647020
      	* gcc.target/i386/pr32000-2.c: Use dg-skip-if for target expression.
      	* gcc.target/i386/stackalign/return-3.c: Ditto.
      	* gcc.target/sparc/ultrasp3.c: Ditto.
      	* lib/target-supports-dg.exp (dg-require-effective-target): Error
      	if argument is not a single effective-target keyword.
      
      From-SVN: r139039
      Janis Johnson committed
    • * doc/invoke.texi: Revert unintended checkin. · e1765251
      From-SVN: r139038
      Janis Johnson committed
    • re PR testsuite/36087 (test failures between revs. 134696 and 134717) · becdc486
      	PR testsuite/36087
      	* gcc.dg/var-expand3.c: Fix name of dump file.
      
      From-SVN: r139037
      Janis Johnson committed
    • decl5.C: Expand new expected errors. · 1564c36a
      2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.old-deja/g++.other/decl5.C: Expand new expected errors.
      
      From-SVN: r139036
      Paolo Carlini committed
    • decl5.C: Expand new expected errors. · bb8a5b52
      2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.old-deja/g++.other/decl5.C: Expand new expected errors.
      
      From-SVN: r139035
      Paolo Carlini committed
    • re PR c++/37087 (Segfault on compiling template defined in wrong namespace.) · 905319d9
      /cp
      2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/37087
      	* parser.c (cp_parser_class_head): Early return error_mark_node in
      	case of global qualification of class name or qualified name that
      	does not name a class.
      
      /testsuite
      2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/37087
      	* g++.dg/template/crash80.C: New.
      	* g++.old-deja/g++.other/decl5.C: Adjust.
      
      From-SVN: r139034
      Paolo Carlini committed
    • re PR libgomp/26165 (Cannot find libgomp.spec after 'make install' on x86_64 and ppc64) · 4d2b059d
      	PR libgomp/26165
      
      	* gcc.c (include_spec_function): Tweak call to find_a_file.
      
      From-SVN: r139031
      Nathan Froyd committed
    • re PR middle-end/37014 (internal compiler error: in expand_expr_real_1, at expr.c:8760) · c0285905
      	PR middle-end/37014
      	* expr.c (expand_expr_real_1): Handle TRUTH_ANDIF_EXPR
      	and TRUTH_ORIF_EXPR.
      	* dojump.c (do_jump): Likewise.
      
      	* gcc.c-torture/compile/20080812-1.c: New test.
      
      From-SVN: r139029
      Jakub Jelinek committed
    • re PR tree-optimization/37084 (ICE in gimple_assign_rhs1) · 4c29307d
      	PR tree-optimization/37084
      	* tree-inline.c (copy_bb): Call gimple_regimplify_operands
      	if id->regimplify, don't assume stmt is a cast assignment.
      
      	* g++.dg/tree-ssa/pr37084.C: New test.
      
      From-SVN: r139028
      Jakub Jelinek committed
    • 2008-08-12 Johannes Singler <singler@ira.uka.de> · d0259b01
              * include/paralle/losertree.h
              (LoserTreePointerBase<>::~LoserTreePointerBase):
              Replace delete by appropriate delete[].
      
      From-SVN: r139026
      Johannes Singler committed
    • Fix final.c. · 3a694d86
      From-SVN: r139025
      Anatoly Sokolov committed
    • re PR bootstrap/37097 (Revision 139014 failed to bootstrap) · 905cd1b9
      	PR bootstrap/37097
      	* builtins.c (do_mpfr_bessel_n): Fix copy-and-paste bug introduced
      	by last change.
      -This line, and those below, will be ignored--
      
      M    gcc/builtins.c
      M    gcc/ChangeLog
      
      From-SVN: r139019
      Ulrich Weigand committed
    • defaults.h (TARGET_FLOAT_FORMAT): Remove. · b8972354
      ChangeLog:
      
      	* defaults.h (TARGET_FLOAT_FORMAT): Remove.
      	(UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT): Remove.
      
      	* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Remove.
      	* config/iq2000/iq2000.h (TARGET_FLOAT_FORMAT): Remove.
      	* config/pdp11/pdp11.h (TARGET_FLOAT_FORMAT): Remove.
      	* config/score/score.h (TARGET_FLOAT_FORMAT): Remove.
      	* config/vax/vax.h (TARGET_FLOAT_FORMAT): Remove.
      
      	* doc/tm.texi (Storage Layout): Remove documentation for
      	TARGET_FLOAT_FORMAT.
      
      	* simplify-rtx.c (simplify_binary_operation_1): Replace
      	TARGET_FLOAT_FORMAT check by appropriate HONOR_... checks.
      
      java/ChangeLog:
      
      	* typeck.c (convert): Do not check for TARGET_FLOAT_FORMAT.
      
      From-SVN: r139017
      Ulrich Weigand committed
    • real.h (struct real_format): New member has_sign_dependent_rounding. · 4099e2c2
      	* real.h (struct real_format): New member has_sign_dependent_rounding.
      	* real.c (ieee_single_format, mips_single_format, motorola_single_format,
      	spu_single_format, ieee_double_format, mips_double_format,
      	motorola_double_format, ieee_extended_motorola_format,
      	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
      	ieee_extended_intel_96_round_53_format, ibm_extended_format,
      	mips_extended_format, ieee_quad_format, mips_quad_format,
      	vax_f_format, vax_d_format, vax_g_format): Initialize it.
      	* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
      
      	* defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
      	MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
      	* config/spu/spu.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
      	MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
      	(ROUND_TOWARDS_ZERO): Likewise.
      
      	* real.h (REAL_MODE_FORMAT): Protect MODE against macro expansion.
      	(FLOAT_MODE_FORMAT): New macro.
      	(REAL_MODE_FORMAT_COMPOSITE_P): Remove, replace by ...
      	(MODE_COMPOSITE_P): ... this new macro.
      	(MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
      	MODE_HAS_SIGN_DEPENDENT_ROUNDING): New macros.
      	* machmode.h (GET_MODE_INNER): Cast result to enum machine_mode.
      
      	* flags.h: Include "real.h".
      
      	* fold-const.c (const_binop): Use MODE_COMPOSITE_P instead of
      	REAL_MODE_FORMAT_COMPOSITE_P.
      	* simplify-rtx.c (simplify_const_binary_operation): Likewise.
      
      	* doc/tm.texi (Storage Layout): Remove documentation of
      	MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
      	MODE_HAS_SIGN_DEPENDENT_ROUNDING.  Update documentation of
      	ROUND_TOWARDS_ZERO and LARGEST_EXPONENT_IS_NORMAL to clarify
      	they only apply to libgcc2.a.
      
      From-SVN: r139016
      Ulrich Weigand committed
    • float_disf.c: New file. · e0bddf10
      	* config/spu/float_disf.c: New file.
      	* config/spu/float_unsdisf.c: New file.
      	* config/spu/t-elf (LIB2FUNCS_STATIC_EXTRA): Add them.
      	(LIB2FUNCS_EXCLUDE): Define.
      
      From-SVN: r139015
      Ulrich Weigand committed
    • real.h (struct real_format): New member round_towards_zero. · 3e479de3
      ChangeLog:
      
      	* real.h (struct real_format): New member round_towards_zero.
      	* real.c (round_for_format): Respect fmt->round_towards_zero.
      	(ieee_single_format, mips_single_format, motorola_single_format,
      	spu_single_format, ieee_double_format, mips_double_format,
      	motorola_double_format, ieee_extended_motorola_format,
      	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
      	ieee_extended_intel_96_round_53_format, ibm_extended_format,
      	mips_extended_format, ieee_quad_format, mips_quad_format,
      	vax_f_format, vax_d_format, vax_g_format): Initialize it.
      	* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
      
      	* builtins.s (do_mpfr_arg1): Consider round_towards_zero member of
      	real_format to choose rounding mode when calling MPFR functions.
      	(do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Likewise.
      	(do_mpfr_bessel_n, do_mpfr_remquo, do_mpfr_lgamma_r): Likewise.
      
      	* real.h (real_to_decimal_for_mode): Add prototype.
      	* real.c (real_to_decimal_for_mode): Renames old real_to_decimal.
      	Respect target rounding mode when generating decimal representation.
      	(real_to_decimal): New stub for backwards compatibility.
      	* c-cppbuiltin.c (builtin_define_with_hex_fp_value): Use
      	real_to_decimal_for_mode instead of real_to_decimal.
      
      	* config/spu/spu.md ("floatdisf2", "floatunsdisf2"): New.
      
      
      testsuite/ChangeLog:
      
      	* gcc.c-torture/execute/20031003-1.c (main): Update test to
      	accommodate SPU single-precision rounding mode.
      	* gcc.c-torture/execute/conversion.c (test_float_to_integer,
      	test_float_to_longlong_integer): Likewise.
      	* gcc.c-torture/execute/ieee/rbug.c (main): Likewise.
      	* gcc.dg/hex-round-1.c: Skip test on SPU.
      	* gcc.dg/hex-round-2.c: Likewise.
      
      Co-Authored-By: Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
      
      From-SVN: r139014
      Ulrich Weigand committed