1. 11 May, 2007 12 commits
    • Makefile.in (OBJS-common): Add tree-ssa-alias-warnings.o. · 79bedddc
      gcc/
              * Makefile.in (OBJS-common): Add tree-ssa-alias-warnings.o.
              * c-common.c (strict_aliasing_warning): Modify -Wstrict-aliasing logic.
              * c-common.h (strict_aliasing_warning): Change return type.
              * c-opts.c (c_common_handle_option): Add call to set_Wstrict_aliasing.
              * c-typeck.c (build_indirect_ref): Add call to strict_aliasing_warning.
              (build_c_cast): Condition call to strict_aliasing_warning.
              * doc/invoke.texi: Update description of -Wstrict-aliasing[=n].
              * flags.h (set_Wstrict_aliasing): Declare.
              * opts.c (set_Wstrict_alising): Define, add call to.
              * tree-flow.h (strict_aliasing_warning_backend): Declare.
              * tree-ssa-alias-warnings.c: New file.
              * tree-ssa-alias.c (compute_may_aliases): Add call to
              strict_aliasing_warning_backend.
      
      gcc/cp
              * cp/typeck.c (build_indirect_ref): Add call to
              strict_aliasing_warning.
              (build_reinterpret_cast_1): Condition call to
              strict_aliasing_warning.
      
      gcc/testsuite
              * gcc.dg/Wstrict-aliasing-bogus-const-ptr-nonconst-ptr.c: New test.
              * gcc.dg/Wstrict-aliasing-bogus-never-dereferenced.c: New test.
              * gcc.dg/Wstrict-aliasing-bogus-struct-included.c: New test.
              * gcc.dg/Wstrict-aliasing-converted-assigned.c: New test.
              * gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c: New test.
              * gcc.dg/alias-1.c: Update option: -Wstrict-aliasing=2.
              * gcc.dg/alias-9.c: Update option: -Wstrict-aliasing=2.
              * g++.dg/warn/Wstrict-aliasing-7.C: Update option: -Wstrict-aliasing=2.
              * g++.dg/warn/Wstrict-aliasing-bogus-base-derived.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-char-1.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-const.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-nested-arrays.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-signed-unsigned.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-struct-included.C: New test.
              * g++.dg/warn/Wstrict-aliasing-bogus-union.C: New test.
              * g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: New test.
      
      From-SVN: r124622
      Silvius Rus committed
    • stdexcept: Remove extra spacing. · 8339896e
      2007-05-11  Benjamin Kosnik  <bkoz@redhat.com>
      
             * include/std/stdexcept: Remove extra spacing.
      
              * testsuite/19_diagnostics/stdexceptions.cc: Break into...
              * testsuite/19_diagnostics/bad_exception: ...this. Populate.
              * testsuite/19_diagnostics/logic_error: ... this.
              * testsuite/19_diagnostics/logic_error/what-1.cc: ...this.
              * testsuite/19_diagnostics/logic_error/what-2.cc: ...this.
              * testsuite/19_diagnostics/runtime_error: ...this.
              * testsuite/19_diagnostics/runtime_error/what-1.cc: ...this.
              * testsuite/19_diagnostics/runtime_error/what-2.cc: ...this.
              * testsuite/19_diagnostics/runtime_error/what-3.cc: ...this.
              * testsuite/19_diagnostics/23591_thread-1.c: Move...
              * testsuite/19_diagnostics/bad_exception/23591_thread-1.c: ...here.
      
      From-SVN: r124621
      Benjamin Kosnik committed
    • MAINTAINERS (Write After Approval): Add myself. · 23f24034
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r124620
      Silvius Rus committed
    • tree-loop-linear.c (gather_interchange_stats, [...]): Use loop_depth and… · 9ba025a2
      tree-loop-linear.c (gather_interchange_stats, [...]): Use loop_depth and loop_outer accessor functions.
      
      	* tree-loop-linear.c (gather_interchange_stats, try_interchange_loops):
      	Use loop_depth and loop_outer accessor functions.
      	* tree-ssa-loop-im.c (outermost_invariant_loop, set_level,
      	determine_invariantness_stmt, move_computations_stmt): Ditto.
      	* cfgloopmanip.c (fix_bb_placement, fix_loop_placement, remove_path,
      	add_loop, loopify, unloop, fix_loop_structure): Ditto.
      	* tree-ssa-loop-manip.c (find_uses_to_rename_use): Ditto.
      	* tree-scalar-evolution.c (interpret_loop_phi,
      	compute_scalar_evolution_in_loop, analyze_scalar_evolution_in_loop,
      	instantiate_parameters_1, scev_const_prop): Ditto.
      	* cfghooks.c (make_forwarder_block): Ditto.
      	* cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto.
      	* modulo-sched.c (loop_canon_p): Ditto.
      	* tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg,
      	slpeel_can_duplicate_loop_p): Ditto.
      	* lambda-code.c (invariant_in_loop_and_outer_loops): Ditto.
      	* tree-cfg.c (tree_duplicate_sese_region): Ditto.
      	* cfgloop.c (flow_loop_dump, flow_loop_nodes_find, rescan_loop_exit,
      	cancel_loop, verify_loop_structure): Ditto.
      	(flow_loop_nested_p, superloop_at_depth, flow_loop_free,
      	add_bb_to_loop, remove_bb_from_loops, find_common_loop): Use the
      	superloops vector instead of "pred" array.
      	(establish_preds): Take father loop as an argument.  Initialize the
      	superloops vector.
      	(flow_loop_tree_node_add): Pass father loop to establish_preds.  Do not
      	initialize loop->outer.
      	(flow_loop_tree_node_remove): Truncate the superloops vector.
      	* cfgloop.h (struct loop): Removed field "outer", fields "depth" and
      	"pred" merged to "superloops" vector.
      	(loop_depth, loop_outer): New.
      	(fel_init): Use loop_outer.
      
      From-SVN: r124619
      Zdenek Dvorak committed
    • semantics.c (expand_or_defer_fn): Do not call c_record_cdtor_fn. · 7be82279
      	* semantics.c (expand_or_defer_fn): Do not call c_record_cdtor_fn.
      	* decl2.c (start_objects): ctors and dtors are no longer public.
      	(cp_write_global_declarations): Do not call c_build_cdtor_fns.
      
      	* cgraphunit.c: Include gt-cgraphunit.h
      	(static_ctors, static_dtors): New static vars.
      	(record_cdtor_fn, build_cdtor, cgraph_build_cdtor_fns): New functions,
      	based on implementation in c-common.c
      	(cgraph_finalize_function): Call record_cdtor_fn.
      	(cgraph_optimize): Call cgraph_build_cdtor_fns.
      	* decl.c (finish_function): Do not call c_record_cdtor_fn.
      	(c_write_global_declarations): Do not call c_build_cdtor_fns.
      	* c-common.c (static_ctors, static_dtors, c_record_cdtor_fn,
      	build_cdtor, c_build_cdtor_fns): Remove.
      	* c-common.h (static_ctors, static_dtors, c_record_cdtor_fn,
      	c_build_cdtor_fns): Remove prototype.
      
      From-SVN: r124618
      Jan Hubicka committed
    • re PR other/31852 (Missing __builtin_memchr) · 2a5fce6d
      2007-05-11  Paolo Carlini  <pcarlini@suse.de>
      
      	PR other/31852
      	* builtin-types.def: Add BT_FN_PTR_CONST_PTR_INT_SIZE.
      	* builtins.def: Add BUILT_IN_MEMCHR, use the latter.
      	* builtins.c (fold_builtin_memchr): New.
      	(expand_builtin_memchr): Call the latter.
      	(expand_builtin, fold_builtin_3): Deal with BUILT_IN_MEMCHR.
      	* doc/extend.texi ([Other built-in functions provided by GCC]):
      	Document memchr.
      
      /testsuite
      2007-05-11  Paolo Carlini  <pcarlini@suse.de>
      
      	PR other/31852
      	* gcc.c-torture/execute/builtins/memchr.c: New.
      	* gcc.c-torture/execute/builtins/memchr-lib.c: New.
      	* gcc.c-torture/execute/builtins/lib/memchr.c: New.
      
      From-SVN: r124617
      Paolo Carlini committed
    • re PR fortran/30876 (Array valued recursive function rejected) · fc2d8680
      2007-05-11 Paul Thomas <pault@gcc.gnu.org>
      
      	PR fortran/30876
      	* trans-expr.c (gfc_conv_function_call): Reduce indirection for
      	direct assignments of recursive array valued functions.
      	* primary.c (gfc_match_rvalue): Correct error for recursive
      	function calls such that directly recursive calls of scalar
      	function without an explicit result are disallowed.
      
      2007-05-11 Paul Thomas <pault@gcc.gnu.org>
      
      	PR fortran/30876
      	* gfortran.dg/recursive_reference_1.f90: Put error at correct
      	line.
      	* gfortran.dg/recursive_reference_2.f90: New test.
      
      From-SVN: r124616
      Paul Thomas committed
    • re PR fortran/30878 (Rejects function f1; namelist /nml/ f1) · 847b053d
      2007-05-11 Paul Thomas <pault@gcc.gnu.org>
      
      	PR fortran/30878
      	* resolve.c (resolve_fl_namelist): It is not an error if the
      	namelist element is the result variable of the enclosing
      	function.  Search for the symbol in current and all parent
      	namespaces for a potential conflict.
      	* symbol.c (check_conflict): Remove the conflict between
      	'in_namelist' and 'FL_PROCEDURE' because the symbol info
      	is not available to exclude function result variables.
      	* trans-io.c (nml_get_addr_expr): Use the fake result decl
      	if the symbol is an implicit result variable.
      
      2007-05-11 Paul Thomas <pault@gcc.gnu.org>
      
      	PR fortran/30878
      	* gfortran.dg/namelist_29.f90: New test.
      
      From-SVN: r124615
      Paul Thomas committed
    • s390.md (GPR0_REGNUM, [...]): Constants added. · 35dd9a0e
      2007-05-11  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	* config/s390/s390.md (GPR0_REGNUM, FPR0_REGNUM, FPR2_REGNUM,
      	PFPO_CONVERT, PFPO_OP_TYPE_SF, PFPO_OP_TYPE_DF, PFPO_OP_TYPE_TF,
      	PFPO_OP_TYPE_SD, PFPO_OP_TYPE_DD, PFPO_OP_TYPE_TD, PFPO_OP0_TYPE_SHIFT,
      	PFPO_OP1_TYPE_SHIFT): Constants added.
      	(DFP_ALL): Mode macro defined.
      	("*trunc<BFP:mode><DFP_ALL:mode>2", "*trunc<DFP_ALL:mode><BFP:mode>2",
      	"*extend<BFP:mode><DFP_ALL:mode>2", "*extend<DFP_ALL:mode><BFP:mode>2"):
      	Insn definitions added.
      	("trunc<BFP:mode><DFP_ALL:mode>2", "trunc<DFP_ALL:mode><BFP:mode>2",
      	"extend<BFP:mode><DFP_ALL:mode>2", "extend<DFP_ALL:mode><BFP:mode>2"):
      	Expanders added.
      
      From-SVN: r124614
      Andreas Krebbel committed
    • re PR fortran/31474 (ENTRY & procedural pointer: insert_bbt(): Duplicate key found!) · 6c12686b
      2007-05-11  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/31474
      	* decl.c (get_proc_name): If an entry has already been declared
      	as a module procedure, pick up the symbol and the symtree and
      	use them for the entry.
      
      2007-05-11  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/31474
      	* gfortran.dg/entry_10.f90: New test.
      
      From-SVN: r124613
      Paul Thomas committed
    • 11.cc: Include <cstring>. · 1b716e90
      2007-05-10  Paolo Carlini  <pcarlini@suse.de>
      
      	* 27_io/objects/wchar_t/11.cc: Include <cstring>.
      	* 27_io/objects/wchar_t/10.cc: Likewise.
      	* 27_io/objects/wchar_t/12.cc: Likewise.
      	* 27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
      	* 27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
      	* 27_io/basic_streambuf/overflow/char/1.cc: Likewise.
      	* 27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
      	* 27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
      	* 27_io/basic_streambuf/sputn/char/1.cc: Likewise.
      	* 27_io/basic_ios/cons/char/3.cc: Likewise.
      	* 27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
      	* 27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
      	* 27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
      	* 27_io/basic_istream/extractors_character/char/4.cc: Likewise.
      	* 27_io/fpos/mbstate_t/1.cc: Likewise.
      	* 27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
      	* 27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
      	* 25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
      	* 25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
      	* 19_diagnostics/stdexceptions.cc: Likewise.
      	* 21_strings/char_traits/requirements/short/1.cc: Likewise.
      	* 21_strings/basic_string/compare/char/1.cc: Likewise.
      	* 21_strings/basic_string/capacity/1.cc: Likewise.
      	* ext/codecvt/char-1.cc: Likewise.
      	* ext/codecvt/char-2.cc: Likewise.
      	* ext/codecvt/1.cc: Likewise.
      	* ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
      	* ext/stdio_sync_filebuf/char/1.cc: Likewise.
      	* ext/stdio_filebuf/char/2.cc: Likewise.
      	* ext/stdio_filebuf/char/10063-1.cc: Likewise.
      	* 22_locale/ctype/narrow/char/19955.cc: Likewise.
      	* 22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
      	* 22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
      	* 22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
      	* 22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
      	* 22_locale/codecvt/unshift/char/1.cc: Likewise.
      	* 22_locale/codecvt/length/wchar_t/1.cc: Likewise.
      	* 22_locale/codecvt/length/wchar_t/2.cc: Likewise.
      	* 22_locale/codecvt/length/wchar_t/3.cc: Likewise.
      	* 22_locale/codecvt/length/wchar_t/4.cc: Likewise.
      	* 22_locale/codecvt/length/wchar_t/5.cc: Likewise.
      	* 22_locale/codecvt/length/wchar_t/6.cc: Likewise.
      	* 22_locale/codecvt/length/wchar_t/7.cc: Likewise.
      	* 22_locale/codecvt/always_noconv/char/1.cc: Likewise.
      	* 22_locale/codecvt/encoding/char/1.cc: Likewise.
      	* 22_locale/codecvt/in/wchar_t/1.cc: Likewise.
      	* 22_locale/codecvt/in/wchar_t/2.cc: Likewise.
      	* 22_locale/codecvt/in/wchar_t/3.cc: Likewise.
      	* 22_locale/codecvt/in/wchar_t/4.cc: Likewise.
      	* 22_locale/codecvt/in/wchar_t/5.cc: Likewise.
      	* 22_locale/codecvt/in/wchar_t/6.cc: Likewise.
      	* 22_locale/codecvt/in/wchar_t/7.cc: Likewise.
      	* 22_locale/codecvt/in/wchar_t/8.cc: Likewise.
      	* 22_locale/codecvt/in/wchar_t/9.cc: Likewise.
      	* 22_locale/codecvt/in/char/1.cc: Likewise.
      	* 22_locale/codecvt/max_length/char/1.cc: Likewise.
      	* 22_locale/codecvt/out/wchar_t/1.cc: Likewise.
      	* 22_locale/codecvt/out/wchar_t/2.cc: Likewise.
      	* 22_locale/codecvt/out/wchar_t/3.cc: Likewise.
      	* 22_locale/codecvt/out/wchar_t/4.cc: Likewise.
      	* 22_locale/codecvt/out/wchar_t/5.cc: Likewise.
      	* 22_locale/codecvt/out/wchar_t/6.cc: Likewise.
      	* 22_locale/codecvt/out/wchar_t/7.cc: Likewise.
      	* 22_locale/codecvt/out/char/1.cc: Likewise.
      	* 22_locale/locale/cons/5.cc: Likewise.
      	* 22_locale/collate_byname/named_equivalence.cc: Likewise.
      
      From-SVN: r124610
      Paolo Carlini committed
    • Daily bump. · 81cfbea3
      From-SVN: r124607
      GCC Administrator committed
  2. 10 May, 2007 14 commits
  3. 09 May, 2007 10 commits
  4. 08 May, 2007 4 commits
    • * gcc.target/mips/msub-1.c, gcc.target/mips/msub-2.c, · 9f8d8755
      * gcc.target/mips/msub-3.c, gcc.target/mips/msub-4.c,
      * gcc.target/mips/msubu-1.c, gcc.target/mips/msubu-2.c,
      * gcc.target/mips/msubu-3.c, gcc.target/mips/msubu-4.c: New tests.
      
      From-SVN: r124559
      Chao-ying Fu committed
    • md.texi (msub@var{m}@var{n}4, [...]): Document. · 14661f36
      * doc/md.texi (msub@var{m}@var{n}4, usub@var{m}@var{n}4): Document.
      * optabs.h (OTI_smsub_widen, OTI_umsub_widen): New optab_indexes.
      (smsub_widen_optab, umsub_widen_optab): Define.
      * optabs.c (init_optabs): Initialize smsub_widen_optab and
      umsub_widen_optab.
      * genopinit.c (optabs): Fill in smsub_widen_optab and
      umsub_widen_optab.
      * expr.c (expand_expr_real_1): Try to use smsub_widen_optab
      and umsub_widen_optab to implement multiply-subtract sequences.
      * config/mips/mips.md (*msac<u>_di): Rename to...
      (<u>msubsidi4): ...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 msub<u>
      for TARGET_DSPR2.
      * config/mips/mips-dspr2.md (mips_msub, mips_msubu): Convert
      to define_expands.
      
      From-SVN: r124558
      Chao-ying Fu committed
    • re PR rtl-optimization/28011 ([SH] g++ generates wrong code, if… · 10050f74
      re PR rtl-optimization/28011 ([SH] g++ generates wrong code, if '-fno-exceptions' and '-O' options are specified)
      
      	PR rtl-optimization/28011
      	* reload.c (push_reload): Set dont_share if IN appears in OUT
      	also when IN is a PLUS rtx.
      	(reg_overlap_mentioned_for_reload_p): Return true if X and IN
      	are same PLUS rtx.
      
      From-SVN: r124557
      Kaz Kojima committed
    • emit-rtl.c (unshare_all_rtl_1): Don't copy DECL_RTL. · b4aaa77b
      	* emit-rtl.c (unshare_all_rtl_1): Don't copy DECL_RTL.  Don't
      	call unshare_all_decls.
      	(unshare_all_rtl): Adjust the call to unshare_all_rtl_1.
      	(unshare_all_decls): Remove.
      
      From-SVN: r124556
      Kazu Hirata committed