aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2008-10-29re PR middle-end/36578 (cast to long double not taken into account when ↵Joseph Myers10-5/+186
result stored to a double) PR middle-end/36578 * convert.c (convert_to_real): Do not optimize conversions of binary arithmetic operations between binary and decimal floating-point types. Consider mode of target type in determining decimal type for arithmetic. Unless flag_unsafe_math_optimizations, do not optimize binary conversions where this may change rounding behavior. * real.c (real_can_shorten_arithmetic): New. * real.h (real_can_shorten_arithmetic): Declare. testsuite: * gcc.dg/dfp/convert-bfp-13.c, gcc.dg/dfp/convert-bfp-14.c, gcc.dg/dfp/convert-dfp-fold-2.c, gcc.target/i386/pr36578-1.c, gcc.target/i386/pr36578-2.c: New tests. From-SVN: r141432
2008-10-29bfin-protos.h (WA_05000257, [...]): New.Bernd Schmidt4-37/+111
* config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315, ENABLE_WA_05000257, ENABLE_WA_05000283, ENABLE_WA_05000315): New. * config/bfin/bfin.c (bfin_cpus): Add these workaround bits as appropriate. (must_save_p): For some workarounds, interrupts need to clobber a P register. (expand_prologue_reg_save, expand_epilogue_reg_restore): Save LC0 and LC1 for WA_05000257. (expand_interrupt_handler_prologue): Add dummy read of CHIPID for WA_05000283 and WA_05000315. * config/bfin/bfin.md (UNSPEC_VOLATILE_DUMMY): New constant. (movbi): Add alternative to set CC to 1; improve code for setting CC to 0. (dummy_load): New pattern. From-SVN: r141431
2008-10-29re PR middle-end/37870 (ICE in extract_bit_field_1)Jakub Jelinek4-3/+59
PR middle-end/37870 * expmed.c (extract_bit_field_1): If int_mode_for_mode returns BLKmode for non-memory, convert using a wider MODE_INT mode or through memory. * gcc.target/i386/pr37870.c: New test. From-SVN: r141430
2008-10-29re PR c++/26997 (g++ reports misleading error message when the identifier ↵Manuel López-Ibáñez4-10/+130
with error occurs earlier on the same line) 2008-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c++/26997 cp/ * parser.c (cp_parser_token_starts_cast_expression): New. (cp_parser_cast_expression): Peek the next token to decide whether this could be a parenthesized constructor or is definitely an actual cast. testsuite/ * g++.dg/parse/pr26997.C: New. From-SVN: r141429
2008-10-29Revert UTF-8 breaking parts of 141383 and 141295 commits.Jakub Jelinek1-29/+29
From-SVN: r141428
2008-10-29Fix last commit.Jakub Jelinek1-1/+1
From-SVN: r141427
2008-10-29re PR middle-end/37913 (ICE: Segmentation fault in link_block, cfg.c:153)Jakub Jelinek4-0/+31
PR middle-end/37913 * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Only split bbs that haven't been removed yet. * gcc.c-torture/compile/pr37913.c: New test. From-SVN: r141426
2008-10-29bfin.c (struct machine_function): New member has_loopreg_clobber.Bernd Schmidt2-3/+44
* config/bfin/bfin.c (struct machine_function): New member has_loopreg_clobber. (bfin_expand_movmem): Set it when generating memcpy insns. (n_regs_saved_by_prologue, expand_prologue_reg_save, expand_epilogue_reg_restore): If we have hardware loops, memcpy insns (indicated by has_loopreg_clobber) or function calls, we need to save the loop registers. From-SVN: r141425
2008-10-29* id.po: New.Joseph Myers2-0/+33327
From-SVN: r141422
2008-10-28i386.c (core2_cost): Fix typos in comments.H.J. Lu2-1/+6
2008-10-28 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (core2_cost): Fix typos in comments. From-SVN: r141419
2008-10-29Daily bump.GCC Administrator1-1/+1
From-SVN: r141417
2008-10-28re PR tree-optimization/37663 (ice in simplify_truth_ops_using_ranges, at ↵Jakub Jelinek2-0/+4
tree-vrp.c:6335) PR tree-optimization/37663 * gcc.dg/pr37663.c: Require int32plus. From-SVN: r141414
2008-10-28re PR c/37924 (ice in smallest_mode_for_size, at stor-layout.c:219)Jakub Jelinek4-6/+70
PR c/37924 * combine.c (make_compound_operation): Don't call make_extraction with non-positive length. (simplify_shift_const_1): Canonicalize count even if complement_p. * gcc.c-torture/execute/pr37924.c: New test. From-SVN: r141413
2008-10-28intrinsic.texi: Update OpenMP section for OMPv3.Tobias Burnus2-5/+10
2008-10-28 Tobias Burnus <burnus@net-b.de> * intrinsic.texi: Update OpenMP section for OMPv3. From-SVN: r141408
2008-10-28convert.c (strip_float_extensions): Do not remove or introduce conversions ↵Joseph Myers4-1/+30
between binary and decimal... * convert.c (strip_float_extensions): Do not remove or introduce conversions between binary and decimal floating-point types. testsuite: * gcc.dg/dfp/convert-bfp-12.c: New test. From-SVN: r141407
2008-10-28re PR middle-end/37931 (ice: verify_gimple failed)Jakub Jelinek4-0/+37
PR middle-end/37931 * fold-const.c (distribute_bit_expr): Convert common, left and right arguments to type. * gcc.c-torture/execute/pr37931.c: New test. From-SVN: r141406
2008-10-28mn10300.h (CALL_REALLY_USED_REGISTERS): Define.Nick Clifton3-9/+24
* config/mn10300/mn10300.h (CALL_REALLY_USED_REGISTERS): Define. * config/mn10300/mn10300.c (fp_regs_to_save): Test the call_really_used_regs array rather than the call_used_regs array. (mn10300_get_live_callee_saved_regs, expand_prologue, expand_epilogue, output_tst): Likewise. From-SVN: r141405
2008-10-28Daily bump.GCC Administrator1-1/+1
From-SVN: r141401
2008-10-27re PR target/37378 (Revision 139827 causes Divide_X)Jakub Jelinek2-33/+23
PR target/37378 * df-scan.c (df_bb_refs_collect): Don't handle EH_USES here. (df_get_entry_block_def_set): Neither here. (df_get_regular_block_artificial_uses): Add EH_USES registers. From-SVN: r141392
2008-10-27re PR tree-optimization/37879 (ICE with "wrong" use of noreturn attribute ↵Jakub Jelinek4-1/+42
and optimization) PR tree-optimization/37879 * predict.c (tree_estimate_probability): Check if last_stmt is non-NULL before dereferencing it. * gcc.dg/pr37879.c: New test. From-SVN: r141390
2008-10-27ira-int.h (ira_allocno): Add member updated_cover_class_cost.Vladimir Makarov8-46/+148
2008-10-27 Vladimir Makarov <vmakarov@redhat.com> * ira-int.h (ira_allocno): Add member updated_cover_class_cost. (ALLOCNO_UPDATED_COVER_CLASS_COST): New. (ira_fast_allocation): Remove the prototype. * ira-color.c (update_copy_costs, allocno_cost_compare_func, assign_hard_reg, calculate_allocno_spill_cost): Use updated costs. (color_pass): Modify the updated costs. (ira_color): Rename to color. Make it static. (ira_fast_allocation): Rename to fast_allocation. Make it static. (ira_color): New function. * ira-conflicts.c (process_regs_for_copy): Propagate hard reg cost change. * ira-lives.c (last_call_num, allocno_saved_at_call): New variables. (set_allocno_live, clear_allocno_live, mark_ref_live, mark_ref_dead): Invalidate corresponding element of allocno_saved_at_call. (process_bb_node_lives): Increment last_call_num. Setup allocno_saved_at_call. Don't increase ALLOCNO_CALL_FREQ if the allocno was already saved. (ira_create_allocno_live_ranges): Initiate last_call_num and allocno_saved_at_call. * ira-build.c (ira_create_allocno): Initiate ALLOCNO_UPDATED_COVER_CLASS_COST. (create_cap_allocno, propagate_allocno_info, remove_unnecessary_allocnos): Remove setting updated costs. (ira_flattening): Set up ALLOCNO_UPDATED_COVER_CLASS_COST. * ira.c (ira): Don't call ira_fast_allocation. * ira-costs.c (setup_allocno_cover_class_and_costs): Don't set up updated costs. From-SVN: r141385
2008-10-27re PR middle-end/37813 (assert with IRA_COVER_CLASSES with singleton)Vladimir Makarov6-12/+76
2008-10-27 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/37813 * ira-conflicts.c (process_regs_for_copy): Remove class subset check. * ira-int.h (ira_hard_regno_cover_class): New. * ira-lives.c (mark_reg_live, mark_reg_dead, process_bb_node_lives): Use ira_hard_regno_cover_class. * ira.c (reg_class ira_hard_regno_cover_class): New global variable. (setup_hard_regno_cover_class): New function. (ira_init): Call setup_hard_regno_cover_class. * ira-costs.c (cost_class_nums): Add comment. (find_allocno_class_costs): Initiate cost_class_nums. (setup_allocno_cover_class_and_costs): Check cost_class_nums. From-SVN: r141384
2008-10-27re PR middle-end/37884 (Bootstrap failure due to miscompilation of tree-vrp.c)Vladimir Makarov2-34/+48
2008-10-27 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/37884 * ira-build.c (copy_live_ranges_to_removed_store_destinations): Rename to copy_info_to_removed_store_destinations. Propagate conflict hard regs and register stack attribute. From-SVN: r141383
2008-10-27re PR middle-end/37316 (Small structs are not passed correctly on hppa64-*-*)John David Anglin2-2/+13
2008-10-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR middle-end/37316 * pa.c (function_arg_padding): Pad complex and vector types upward in 64-bit runtime. (function_arg): Use BLKmode for PARALLEL in 64-bit runtime. From-SVN: r141380
2008-10-27Daily bump.GCC Administrator1-1/+1
From-SVN: r141377
2008-10-26install.texi: Document requirements on antlr.Matthias Klose2-0/+15
2008-10-26 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Document requirements on antlr. From-SVN: r141373
2008-10-26Daily bump.GCC Administrator1-1/+1
From-SVN: r141367
2008-10-25mips.h (REG_ALLOC_ORDER): Put call-clobbered registers first.Richard Sandiford2-7/+30
gcc/ * config/mips/mips.h (REG_ALLOC_ORDER): Put call-clobbered registers first. From-SVN: r141362
2008-10-25Daily bump.GCC Administrator1-1/+1
From-SVN: r141360
2008-10-24PR target/37841: Fix SPU abiMichael Meissner6-0/+512
From-SVN: r141356
2008-10-24re PR rtl-optimization/37769 (internal compiler error: in ↵Kaz Kojima2-0/+13
reg_overlap_mentioned_for_reload_p, at reload.c:6525) PR rtl-optimization/37769 * regmove.c (optimize_reg_copy_2): Update REG_INC note if needed. From-SVN: r141354
2008-10-24t-sh: Use $(MULTILIB_CFLAGS) when compiling to unwind-dw2-Os-4-200.o.Kaz Kojima2-1/+6
* config/sh/t-sh: Use $(MULTILIB_CFLAGS) when compiling to unwind-dw2-Os-4-200.o. From-SVN: r141352
2008-10-24scanasm.exp (scan-assembler, [...]): Extract first word of $testcase for all ↵DJ Delorie2-0/+17
upvar uses... * lib/scanasm.exp (scan-assembler, scan-assembler-not, scan-hidden, scan-not-hidden, scan-file, scan-file-not, scan-assembler-times, scan-assembler-dem, scan-assembler-dem-not): Extract first word of $testcase for all upvar uses, in case $testvar has compiler switches appended. From-SVN: r141350
2008-10-24c-typeck.c (enum impl_conv): Remove ic_argpass_nonproto.Joseph Myers2-10/+7
* c-typeck.c (enum impl_conv): Remove ic_argpass_nonproto. (convert_for_assignment): Remove ic_argpass_nonproto cases. From-SVN: r141347
2008-10-24re PR tree-optimization/36038 (miscompiled loop in perlbmk for -Os)Jakub Jelinek4-3/+59
PR tree-optimization/36038 * tree-ssa-loop-ivopts.c (add_old_iv_candidates): For pointer bases add sizetype IV with initial value zero instead of pointer type. * gcc.c-torture/compile/pr36038.c: New test. From-SVN: r141343
2008-10-24re PR c/7543 (no warning for always-false "if (!a & 0x4)" bitwise and on ↵Manuel López-Ibáñez15-73/+666
boolean value) 2008-10-24 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/7543 * value-prof.c (gimple_stringop_fixed_value): Use parentheses around bit operation. * profile.c (is_edge_inconsistent): Likewise. * fold-const.c (truth_value_p): Move from here... * tree.h (truth_value_p): ... to here. * c-tree.h (c_expr): Update description of original_code. * c-typeck.c (parser_build_unary_op): Set original_code. (parser_build_binary_op): Update call to warn_about_parentheses. * c-common.c (warn_about_parentheses): Take two additional arguments of the operands. Use a switch. Quote operators appropriately. Define macro APPEARS_TO_BE_BOOLEAN_EXPR_P. Add warning about !x | y and !x & y. * c-common.h (warn_about_parentheses): Update declaration. cp/ * typeck.c (build_x_binary_op): Update call to warn_about_parentheses. * parser.c (cp_parser_binary_expression): Add note about passing the correct code for unary expressions. testsuite/ * gcc.dg/Wparentheses-11.c: New. * g++.dg/warn/Wparentheses-25.C: New. XFAILED. From-SVN: r141340
2008-10-24re PR middle-end/37882 (Bitfield miscompilation)Jakub Jelinek2-1/+5
PR middle-end/37882 * gcc.c-torture/execute/pr37882.c: Remove a field. From-SVN: r141339
2008-10-24dg-extract-results.sh: New file.Jakub Jelinek10-4/+211
contrib/ * dg-extract-results.sh: New file. gcc/ * Makefile.in (lang_checks_parallelized, check_gcc_parallelize, check_p_tool, check_p_vars, check_p_subno, check_p_comma, check_p_subwork, check_p_numbers, check_p_subdir, check_p_subdirs): New variables. (check-subtargets, check-%-subtargets, check-parallel-%): New targets. (check-%): For test targets listed in lang_checks_parallelized if -j is used and RUNTESTFLAGS doesn't specify tests to execute, run the testing in multiple make goals, possibly parallel, and afterwards run dg-extract-results.sh to merge the sum and log files. gcc/cp/ * Make-lang.in (check-c++-subtargets): New alias for check-g++-subtargets. (lang_checks_parallelized): Add check-g++. (check_g++_parallelize): New variable. gcc/fortran/ * Make-lang.in (check-f95-subtargets, check-fortran-subtargets): New aliases for check-gfortran-subtargets. (lang_checks_parallelized): Add check-gfortran. (check_gfortran_parallelize): New variable. gcc/ada/ * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on check-acats-subtargets and check-gnat-subtargets. (check_acats_targets): New variable. (check-acats-subtargets, check-acats%): New targets. (check-acats): If -j is used and CHAPTERS is empty, run the testing in multiple make goals, possibly parallel, and afterwards run dg-extract-results.sh to merge the sum and log files. gcc/java/ * Make-lang.in (check-java-subtargets): New target. libstdc++-v3/ * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu. (RUNTESTDEFAULTFLAGS, EXPECT, check_DEJAGNU_normal_targets): New variables. (%/site.exp, check-DEJAGNU%): New targets. (check-am): Run $(MAKE) check-DEJAGNU. * testsuite/Makefile.in: Regenerated. From-SVN: r141337
2008-10-24mips.c (mips_canonicalize_move_class): New function.Richard Sandiford2-44/+131
gcc/ * config/mips/mips.c (mips_canonicalize_move_class): New function. (mips_move_to_gpr_cost): Likewise. (mips_move_from_gpr_cost): Likewise. (mips_register_move_cost): Make more fine-grained. From-SVN: r141336
2008-10-24Daily bump.GCC Administrator1-1/+1
From-SVN: r141332
2008-10-23graphite.c (graphite_apply_transformations): Check for -fgraphite-identity.Tobias Grosser5-13/+22
2008-10-23 Tobias Grosser <grosser@fim.uni-passau.de> * graphite.c (graphite_apply_transformations): Check for -fgraphite-identity. * toplev.c (process_options): Add graphite_identity. * tree-ssa-loop.c (gate_graphite_transforms): Add graphite_identity. From-SVN: r141325
2008-10-23re PR libfortran/37707 (Namelist read of array of derived type incorrect)Jerry DeLisle4-1/+79
2008-10-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/37707 * gfortran.dg/namelist_18.f90: Update test. * gfortran.dg/namelist_55.f90: New test. * gfortran.dg/namelist_56.f90: New test. From-SVN: r141318
2008-10-23Daily bump.GCC Administrator1-1/+1
From-SVN: r141315
2008-10-22bfin.c (bdesc_2arg): Add mulhisill, mulhisilh, mulhisihl and mulhisihh builtins.Bernd Schmidt5-1/+105
gcc/: * config/bfin/bfin.c (bdesc_2arg): Add mulhisill, mulhisilh, mulhisihl and mulhisihh builtins. gcc/testsuite/: * gcc.target/bfin/hisilh.c: New file. * gcc.target/bfin/hisilh-O0.c: New file. From-SVN: r141312
2008-10-22From Jie Zhang <jie.zhang@analog.com>Bernd Schmidt2-3/+9
* config/bfin/bfin.md (composev2hi): Put operands into vector with correct order. From-SVN: r141311
2008-10-22* config/mips/mips.opt (msmartmips): Accept -mno-smartmips.Chao-ying Fu2-1/+5
From-SVN: r141309
2008-10-22gcc/:Bernd Schmidt30-39/+505
From Mike Frysinger <michael.frysinger@analog.com> * config/bfin/bfin-protos.h (bfin_cpu_type): Add BFIN_CPU_BF512, BFIN_CPU_BF514, BFIN_CPU_BF516, and BFIN_CPU_BF518. * config/bfin/bfin.c (bfin_cpus[]): Add 0.0 for bf512, bf514, bf516, and bf518. Add 0.2 for bf522, bf523, bf524, bf526, and bf527. Add 0.6 for bf533, bf532, and bf531. Add 0.5 for bf538 and bf539. Add 0.2 for bf542, bf544, bf547, bf548, and bf549. * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF512__ for BFIN_CPU_BF512, __ADSPBF514__ for BFIN_CPU_BF514, __ADSPBF516__ for BFIN_CPU_BF516, and __ADSPBF518__ for BFIN_CPU_BF518. Define __ADSPBF51x__ for all of them. * config/bfin/elf.h (LIB_SPEC): Select proper linker scripts for -mcpu bf512, bf514, bf516, and bf518. * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for bf512-none, bf514-none, bf516-none, and bf518-none. * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise. * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise. * doc/invoke.texi (Blackfin Options): Document that -mcpu now accepts bf512, bf514, bf516, and bf518. gcc/testsuite/: From Mike Frysinger <michael.frysinger@analog.com> * gcc.target/bfin/mcpu-bf522.c: Check SILICON_REVISION is 0x0002. Invert check for __WORKAROUND_RETS when SILICON_REVISION is 0x0002+. * gcc.target/bfin/mcpu-bf523.c: Likewise. * gcc.target/bfin/mcpu-bf524.c: Likewise. * gcc.target/bfin/mcpu-bf525.c: Likewise. * gcc.target/bfin/mcpu-bf526.c: Likewise. * gcc.target/bfin/mcpu-bf527.c: Likewise. * gcc.target/bfin/mcpu-bf531.c: Check SILICON_REVISION is 0x0006. Invert check for __WORKAROUND_RETS when SILICON_REVISION is 0x0006+. * gcc.target/bfin/mcpu-bf532.c: Likewise. * gcc.target/bfin/mcpu-bf533.c: Likewise. * gcc.target/bfin/mcpu-bf538.c: Check SILICON_REVISION is 0x0005. Invert check for __WORKAROUND_RETS when SILICON_REVISION is 0x0005+. * gcc.target/bfin/mcpu-bf539.c: Likewise. * gcc.target/bfin/mcpu-bf542.c: Check SILICON_REVISION is 0x0002. Invert check for __WORKAROUND_RETS when SILICON_REVISION is 0x0002+. * gcc.target/bfin/mcpu-bf544.c: Likewise. * gcc.target/bfin/mcpu-bf547.c: Likewise. * gcc.target/bfin/mcpu-bf548.c: Likewise. * gcc.target/bfin/mcpu-bf549.c: Likewise. * gcc.target/bfin/mcpu-bf512.c: New file. * gcc.target/bfin/mcpu-bf514.c: Likewise. * gcc.target/bfin/mcpu-bf516.c: Likewise. * gcc.target/bfin/mcpu-bf518.c: Likewise. From-SVN: r141305
2008-10-22re PR middle-end/37882 (Bitfield miscompilation)Jakub Jelinek4-1/+34
PR middle-end/37882 * fold-const.c (build_range_type): For 1 .. signed_max range call build_nonstandard_inter_type if signed_type_for returned a type with bigger precision. * gcc.c-torture/execute/pr37882.c: New test. From-SVN: r141303
2008-10-22tree.def (COMPLEX_TYPE): Constrain element type.Richard Guenther4-3/+14
2008-10-22 Richard Guenther <rguenther@suse.de> * tree.def (COMPLEX_TYPE): Constrain element type. * tree.c (build_complex_type): Assert that. * tree-ssa-structalias.c (could_have_pointers): Complex types cannot have pointers. From-SVN: r141299
2008-10-22re PR c/30949 ("incompatible pointer type" warning does not point to ↵Manuel López-Ibáñez12-26/+57
declaration) 2008-10-22 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/30949 * c-typeck.c (convert_for_assignment): Do not give declaration's location for builtins. Spell out which type was expected and which was given. testsuite/ * gcc.target/i386/sse-vect-types.c: Update. * gcc.dg/simd-5.c: Update. * gcc.dg/assign-warn-2.c: Update. * gcc.dg/simd-2.c: Update. * gcc.dg/simd-6.c: Update. * gcc.dg/assign-warn-1.c: Update. * gcc.dg/dfp/composite-type.c: Update. * gcc.dg/simd-1.c: Update. * gcc.dg/pr36997.c: Update. From-SVN: r141298