1. 25 Apr, 2007 12 commits
  2. 24 Apr, 2007 26 commits
    • Daily bump. · bd016fe6
      From-SVN: r124133
      GCC Administrator committed
    • re PR tree-optimization/31605 (VRP eliminates a useful test due with conversion… · 8cf781f0
      re PR tree-optimization/31605 (VRP eliminates a useful test due with conversion from unsigned int to int)
      
      ./:	PR tree-optimization/31605
      	* tree-vrp.c (set_value_range): Check that min and max are not
      	both overflow infinities.
      	(set_value_range_to_value): New static function.
      	(extract_range_from_binary_expr): Call set_value_range_to_value.
      	(extract_range_from_cond_expr): Likewise.
      	(extract_range_from_expr): Likewise.
      	(extract_range_from_unary_expr): Likewise.  Don't create a range
      	which overflows on both sides.
      	(vrp_meet): Check for a useless range.
      	(vrp_visit_phi_node): If we see a constant which looks like an
      	overflow infinity, turn off the TREE_OVERFLOW flag.
      testsuite/:
      	PR tree-optimizatoin/31605
      	* gcc.c-torture/execute/pr31605.c: New test.
      
      From-SVN: r124128
      Ian Lance Taylor committed
    • re PR fortran/31587 (Module files shouldn't be updated if their content doesn't change) · 1e9ecf6d
      	PR fortran/31587
      
      	* lib/gcc-dg.exp (scan-module): New function.
      	* gfortran.dg/module_md5_1.f90: New test.
      
      	* module.c (write_char): Add character to the MD5 buffer.
      	(read_md5_from_module_file): New function.
      	(gfc_dump_module): Compute MD5 for new module file. Call
      	read_md5_from_module_file. Only overwrite old module file
      	if the new MD5 is different.
      
      From-SVN: r124126
      Francois-Xavier Coudert committed
    • defarg6.C: Only run with -std=gnu++98. · a28f9a06
      2007-04-24  Douglas Gregor  <doug.gregor@gmail.com>
      
             * g++.old-deja/g++.pt/defarg6.C: Only run with
             -std=gnu++98.
             * g++.old-deja/g++.pt/ucnid-1.C: Ditto.
             * g++.dg/cpp0x/variadic61.C: Ditto.
             * g++.dg/cpp0x/warn_cxx0x.C: Ditto.
             * g++.dg/cpp0x/variadic62.C: Ditto.
             * g++.dg/template/meminit1.C: Ditto.
             * g++.dg/template/operator7.C: Ditto.
             * g++.dg/template/static15.C: Ditto.
             * g++.dg/template/invalid1.C: Ditto.
             * g++.dg/template/shift1.C: Ditto.
             * g++.dg/template/error10.C: Ditto.
      
      From-SVN: r124125
      Douglas Gregor committed
    • re PR middle-end/25923 ([gfortran] garbled diagnostics with -O -Wuninitialized) · 438d798f
      2007-04-24  Simon Martin  <simartin@users.sourceforge.net>
      
      	PR diagnostic/25923
      	* tree-pass.h (TDF_DIAGNOSTIC): New dump control to specify that a
      	diagnostic message is being built.
      	* tree-pretty-print.c (dump_generic_node): Only write the formatted text
      	into BUFFER's stream if we are not building a diagnostic message.
      	* toplev.c (default_tree_printer): Pass TDF_DIAGNOSTIC to
      	dump_generic_node.
      	* Makefile.in (toplev.o): Depend on tree-pass.h.
      
      From-SVN: r124121
      Simon Martin committed
    • re PR tree-optimization/31602 (Overflow warning causes GDB -Werror build failure) · 4df28528
      ./:	PR tree-optimization/31602
      	* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
      	conditionals in the copied loop header.
      	* tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
      	warnings if TREE_NO_WARNING is set.
      	* doc/invoke.texi (Warning Options): Clarify that
      	-Wstrict-overflow does not warn about loops.
      testsuite/:
      	PR tree-optimization/31602
      	* gcc.dg/Wstrict-overflow-11.c: We no longer issue a warning.
      
      From-SVN: r124120
      Ian Lance Taylor committed
    • 2007-04-24 Kyle Galloway <kgallowa@redhat.com> · 7c4a9265
      	* gnu/classpath/jdwp/natVMVirtualMachine.java
      	(getThreadStatus): Implement.
      
      From-SVN: r124117
      Kyle Galloway committed
    • rs6000.c (function_arg_advance): For 32-bit ELF ABI... · 2d83f070
      	* config/rs6000/rs6000.c (function_arg_advance): For 32-bit ELF ABI,
      	expand on the comment about _Decimal128 arguments and check the
      	integer result of the modulus operation; for 64-bit ELF ABI, ensure
      	that _Decimal128 argument uses even/odd register pair.
      	(function_arg): For 32-bit ELF ABI, expand on the comment about
      	_Decimal128 arguments and check the integer result of the modulus
      	operation; for 64-bit ELF ABI, ensure that _Decimal128 argument
      	uses even/odd register pair.
      testsuite/
      	* gcc.target/powerpc/ppc32-abi-dfp-1.c: New test.
      	* gcc.target/powerpc/ppc64-abi-dfp-1.c: New test.
      
      From-SVN: r124116
      Janis Johnson committed
    • reload1.c (merge_assigned_reloads): Do not merge a RELOAD_OTHER instruction with… · b883ab57
      reload1.c (merge_assigned_reloads): Do not merge a RELOAD_OTHER instruction with a RELOAD_FOR_OPERAND_ADDRESS...
      
      2007-04-24  Hui-May Chang <hm.chang@apple.com>
      
      	* reload1.c (merge_assigned_reloads) : Do not merge a RELOAD_OTHER
      	instruction with a RELOAD_FOR_OPERAND_ADDRESS instruction.
      
      	* gcc.target/i386/reload-1.c. New.
      
      From-SVN: r124115
      Hui-May Chang committed
    • locale_facets.h (class collate, [...]): Move... · 84b31797
      2007-04-24  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/locale_facets.h (class collate, class collate_byname):
      	Move...
      	* include/bits/locale_classes.h: ... here.
      	* include/bits/locale_facets.tcc (locale::combine, locale::operator(),
      	has_facet, use_facet, collate::_M_compare, collate::_M_transform,
      	collate::do_compare, collate::do_transform, collate::do_hash): Move...
      	* include/bits/locale_classes.tcc: ... here, new.
      	* include/Makefile.am: Add.
      	* testsuite/util/testsuite_abi.h: Include <locale>.
      	* include/std/locale: Tweak.
      	* include/std/istream: Likewise.
      	* include/std/ostream: Likewise.
      	* include/bits/codecvt.h: Likewise.
      	* include/Makefile.in: Regenerate.
      
      	* include/bits/codecvt.h: Adjust extern template declarations.
      	* include/bits/ostream_insert.h: Likewise.
      	* include/bits/ostream.tcc: Likewise.
      
      	* include/bits/locale_facets.h: Do not include <bits/codecvt.h>.
      	* include/std/fstream: Do it here.
      	* include/bits/locale_facets_nonio.h: Likewise.
      
      From-SVN: r124114
      Paolo Carlini committed
    • headers.txt (gnu/gcj/jvmti/Breakpoint.h): Add _Jv_RewriteBreakpointInsn friend declaration. · 9872ecad
              * headers.txt (gnu/gcj/jvmti/Breakpoint.h)[DIRECT_THREADED]:
              Add _Jv_RewriteBreakpointInsn friend declaration.
              * gnu/gcj/jvmti/natBreakpoint.cc (_Jv_RewriteBreakpointInsn)
              [DIRECT_THREADED]: New function.
              * gnu/gcj/jvmti/Breakpoint.h: Regenerate.
              * interpret-run.cc: Define new REWRITE_INSN macro.
              Changed all occurrences of insn rewriting to call REWRITE_INSN.
      
      From-SVN: r124111
      Keith Seitz committed
    • typo fix in str_empty.C · 676b23ba
      From-SVN: r124110
      Olga Golovanevsky committed
    • fix for PR31617 · 81737468
      From-SVN: r124109
      Olga Golovanevsky committed
    • new file str_empty.C · 9905fb5e
      From-SVN: r124108
      Olga Golovanevsky committed
    • libgcc2.h (AVOID_FP_TYPE_CONVERSION): Rename from IS_IBM_EXTENDED. · 5fb54b91
              * libgcc2.h (AVOID_FP_TYPE_CONVERSION): Rename from 
              IS_IBM_EXTENDED.  Also define in terms of WIDEST_HARDWARE_FP_SIZE.
              * libgcc2.c (__floatdisf): Avoid double-word arithmetic when
              looking for non-zero bits shifted out.  Avoid a recursive call
              when constructing the scalar.
              (__floatundisf): Likewise.
      
      From-SVN: r124106
      Richard Henderson committed
    • * gcc.dg/vect/vect.exp: Don't run tests on Alpha. · 68851805
      From-SVN: r124105
      Richard Henderson committed
    • dwarf2out.c (field_byte_offset): Move the existing logic under the control of… · cd0a10dd
      dwarf2out.c (field_byte_offset): Move the existing logic under the control of PCC_BITFIELD_TYPE_MATTERS and just...
      
      	* dwarf2out.c (field_byte_offset): Move the existing logic
      	under the control of PCC_BITFIELD_TYPE_MATTERS and just use
      	the bit offset of the field if !PCC_BITFIELD_TYPE_MATTERS.
      
      From-SVN: r124104
      Nathan Froyd committed
    • re PR target/31641 (ICE in s390_expand_setmem, at config/s390/s390.c:3618) · c9f59991
      2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	PR target/31641
      	* config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
      	argument of 0 for memset.
      	(s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
      	unsigned shift instead of the signed variant.
      
      2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	PR target/31641
      	* gcc.c-torture/compile/pr31641.c: New testcase.
      
      From-SVN: r124099
      Andreas Krebbel committed
    • re PR libfortran/27740 (libgfortran should use versioned symbols) · c0e7e2bf
      2007-04-24  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/27740
      	* configure.ac: New test to determine if symbol versioning is
      	supported.
      	* Makefile.am: Use result of above test to add appropriate linker
      	flags.
      	* gfortran.map: New file.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      	* config.h.in: Regenerated.
      
      From-SVN: r124098
      Janne Blomqvist committed
    • s390.md ("*cmp<mode>_ccs_0_ibm", [...]): Insn definitions removed. · 142cd70f
      2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	* config/s390/s390.md ("*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs_ibm",
      	"fix_trunc<BFP:mode><GPR:mode>2_ieee", "fix_truncdfsi2_ibm",
      	"floatsidf2_ibm", "floatsisf2", "truncdfsf2_ieee", "truncdfsf2_ibm",
      	"*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee",
      	"*trunctfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
      	"*extenddftf2_ieee", "*extenddftf2_ibm", "*extendsftf2_ieee",
      	"*extendsftf2_ibm", "*add<mode>3", "*add<mode>3_ibm", "*sub<mode>3_ibm",
      	"*mul<mode>3", "*mul<mode>3_ibm", "*div<mode>3", "*div<mode>3_ibm",
      	"*neg<mode>2_ibm", "*abs<mode>2_ibm"): Insn definitions removed.
      	("fix_trunc<BFP:mode><GPR:mode>2_bfp", "floatsi<mode>2",
      	"truncdfsf2", "trunctf<mode>2", "add<mode>3", "sub<mode>3",
      	"mul<mode>3", "div<mode>3"): Insn definitions added.
      	("fixuns_trunc<BFP:mode><GPR:mode>2", "fix_trunc<mode>di2",
      	"fix_trunc<mode>si2"): gen_fix_trunc<BFP:mode><GPR:mode>2_ieee renamed
      	to gen_fix_trunc<BFP:mode><GPR:mode>2_bfp.
      	("fix_truncdfsi2", "floatsitf2", "truncdfsf2", "trunctfdf2",
      	"trunctfsf2", "extendsfdf2", "extenddftf2", "extendsftf2", "add<mode>3",
      	"sub<mode>3", "mul<mode>3", "div<mode>3"): Expander removed.
      	("fix_trunc<mode>si2", "extend<DSF:mode><BFP:mode>2"): Expander added.
      	* config/s390/s390.h (TARGET_IBM_FLOAT, TARGET_IEEE_FLOAT,
      	TARGET_FLOAT_FORMAT): Macro definitions removed.
      	(FP_REGNO_P): No special case for !TARGET_IEEE_FLOAT anymore.
      	* config/s390/s390.c (struct processor_costs, z900_cost, z990_cost,
      	z9_109_cost): Remove fields for hexfloat instructions: dxr, ddr and der.
      	(s390_rtx_costs): Remove !TARGET_IEEE_FLOAT special branches.
      	(s390_gen_rtx_const_DI): Function removed.
      	* config/s390/s390-protos.h (s390_gen_rtx_const_DI): Prototype removed.
      
      From-SVN: r124097
      Andreas Krebbel committed
    • optabs.c (set_conv_libfunc): Prefer libgcc2's __ffsMM2 functions over an external ffs function. · aeed4133
      gcc/
      	* optabs.c (set_conv_libfunc): Prefer libgcc2's __ffsMM2 functions
      	over an external ffs function.
      
      From-SVN: r124096
      Richard Sandiford committed
    • 2007-xx-xx Chao-ying Fu <fu@mips.com> Richard Sandiford <richard@nildram.co.uk> · 7f9844ca
      gcc/
      2007-xx-xx  Chao-ying Fu  <fu@mips.com>
      	    Richard Sandiford  <richard@nildram.co.uk>
      
      	* doc/md.texi (madd@var{m}@var{n}4, umadd@var{m}@var{n}4): Document.
      	* optabs.h (OTI_smadd_widen, OTI_umadd_widen): New optab_indexes.
      	(smadd_widen_optab, umadd_widen_optab): Define.
      	* optabs.c (init_optabs): Initialize smadd_widen_optab and
      	umadd_widen_optab.
      	* genopinit.c (optabs): Fill in smadd_widen_optab and
      	umadd_widen_optab.
      	* expr.c (expand_expr_real_1): Try to use smadd_widen_optab
      	and umadd_widen_optab to implement multiply-add sequences.
      	* config/mips/mips.md (*<su>mul_acc_di): Rename to...
      	(<u>maddsidi4): ...this.  Extend condition to include
      	GENERATE_MADD_MSUB and TARGET_DSPR2.  Change the constraint
      	of operand 0 to "ka" and use the three-operand form of madd<u>
      	for TARGET_DSPR2.
      	* config/mips/mips-dspr2.md (mips_madd, mips_maddu): Convert
      	to define_expands.
      	* config/mips/constraints.md (ka): New register constraint.
      
      gcc/testsuite/
      2007-xx-xx  Richard Sandiford  <richard@nildram.co.uk>
      
      	* gcc.target/mips/madd-1.c, gcc.target/mips/madd-2.c,
      	* gcc.target/mips/madd-3.c, gcc.target/mips/madd-4.c,
      	* gcc.target/mips/maddu-1.c, gcc.target/mips/maddu-2.c,
      	* gcc.target/mips/maddu-3.c, gcc.target/mips/maddu-4.c: New tests.
      
      From-SVN: r124095
      Richard Sandiford committed
    • Revert: · ec9ac2bc
      	2007-04-23  Jan Hubicka  <jh@suse.cz>
      	* function.c (init_function_start): Don't init line number info.
      	(expand_function_end): Update.
      	(reset_block_changes, record_block_change, finalize_block_changes,
      	check_block_change, free_block_changes): Kill.
      	* function.h (reset_block_changes, record_block_change,
      	finalize_block_changes, check_block_change, free_block_changes): Remove
      	prototypes.
      	(struct function): Remove ib_boundaries_block.
      	* emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
      	Use curr_insn_locator to initialize locator.
      	(emit_line_note): Remove.
      	* cfgexpand.c (expand_gimple_cond_expr): Update.
      	(construct_exit_block): Likewise.
      	(tree_expand_cfg): Initialize/finalize locators.
      	* expr.c (expand_expr_real): Update.
      	* cfglayout.c (line_locators_locs, line_locators_lines,
      	file_locators_locs, file_locators_files): Remove.
      	(set_block_levels): Move to cfgexpand.c.
      	(insn_locators_initialize): Remove.
      	(pass_insn_locators_initialize): Remove.
      	(locations_locators_locs, locations_locators_vals): New static vars.
      	(curr_location, last_location, curr_block, last_block, curr_rtl_loc):
      	Likewise.
      	(insn_locators_alloc, insn_locators_finalize,
      	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
      	New functions.
      	(locator_location): New.
      	(locator_line, locator_file): Rewrite.
      	* rtl.h (emit_line_note): Kill.
      	(insn_locators_alloc, insn_locators_finalize,
      	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
      	Declare.
      	* tree-inline.c (initialize_cfun): Do not initialize
      	ib_boundaries_block.
      	* passes.c (pass_insn_locators_initialize): Remove.
      
      From-SVN: r124094
      Jan Hubicka committed
    • invoke.texi: Removed leading '-' from option index entries. · edc5f63b
      2007-04-24  Daniel Franke  <franke.daniel@gmail.com>
      
             * doc/invoke.texi: Removed leading '-' from option index entries.
      
      From-SVN: r124092
      Daniel Franke committed
  3. 23 Apr, 2007 2 commits
    • Daily bump. · b2b89b8d
      From-SVN: r124089
      GCC Administrator committed
    • tree-phinodes.c (reserve_phi_args_for_new_edge, [...]): Use phi_nodes_ptr. · 7506e1cb
      	* tree-phinodes.c (reserve_phi_args_for_new_edge, remove_phi_node):
      	Use phi_nodes_ptr.
      	(create_phi_node): Use set_phi_nodes.
      	* omp-low.c (expand_omp_parallel): Use bb_stmt_list.
      	* tree-if-conv.c (process_phi_nodes): Use set_phi_nodes.
      	(combine_blocks):  Use bb_stmt_list and set_bb_stmt_list.
      	* tree-flow-inline.h (phi_nodes, set_phi_nodes,
      	(bsi_start, bsi_last): Use bb_stmt_list.
      	(phi_nodes_ptr, bb_stmt_list, set_bb_stmt_list): New functions.
      	* cfgexpand.c (expand_gimple_basic_block): Use bb_stmt_list.
      	Traverse the statements using tsi iterator.
      	* basic-block.h (struct basic_block_def): Fields stmt_list
      	and phi_nodes moved to ...
      	(struct tree_bb_info): ... new structure.
      	* tree-cfg.c (create_bb): Allocate il.tree.  Use set_bb_stmt_list.
      	(tree_merge_blocks): Use bb_stmt_list and set_bb_stmt_list.
      	(remove_bb): Handle blocks with NULL stmt list.  Clear il.tree field.
      	(tree_verify_flow_info): Verify that il.tree is not set for
      	entry and exit block.
      	(tree_split_block): Use set_bb_stmt_list.
      
      From-SVN: r124086
      Zdenek Dvorak committed