Commit Graph

102999 Commits

Author SHA1 Message Date
Ralf Wildenhues
6e687a9ad7 Uglify C++ headers some more.
libstdc++-v3/:
	* include/ext/throw_allocator.h
	(hash<__gnu_cxx::throw_value_limit>::operator()): Uglify local.
	(hash<__gnu_cxx::throw_value_random>::operator()): Likewise.
	* include/parallel/set_operations.h (__symmetric_difference_func):
	Uglify remaining arguments to __count, __first_empty, _M_invoke.
	(__difference_func): Likewise for __count.
	* include/profile/impl/profiler_node.h
	(__object_info_base::__write): Uglify parameter.

From-SVN: r164411
2010-09-19 09:44:24 +00:00
Paolo Carlini
61e60481d0 hash_bytes.cc: Compile load_bytes and shift_mix only when __SIZEOF_SIZE_T__ == 8.
2010-09-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/hash_bytes.cc: Compile load_bytes and shift_mix only when
	__SIZEOF_SIZE_T__ == 8.

From-SVN: r164410
2010-09-19 08:52:50 +00:00
GCC Administrator
1f77459495 Daily bump.
From-SVN: r164409
2010-09-19 00:17:20 +00:00
Jan Hubicka
9b389a5e64 re PR tree-optimization/45453 (ICE: verify_cgraph_node failed: inlined_to pointer set for noninline callers with -O2 -fno-early-inlining)
PR tree-optimization/45453
	* cgraphunit.c (cgraph_finalize_function): Consider comdat & external
	virtual functions are reachable.
	* ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
	* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
	* ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
	when modifying function.

	* g++.dg/tree-ssa/pr45453.C: New testcase.

From-SVN: r164405
2010-09-18 23:13:17 +00:00
Thomas Koenig
1151446c17 frontend-passes.c (gfc_expr_walker): Also handle EXPR_SUBSTRING.
2010-09-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* frontend-passes.c (gfc_expr_walker):  Also
	handle EXPR_SUBSTRING.

From-SVN: r164404
2010-09-18 22:45:13 +00:00
Thomas Koenig
46f19baf76 frontend-passes.c (gfc_expr_walker): Handle constructors and references.
2010-09-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* frontend-passes.c (gfc_expr_walker):  Handle
	constructors and references.

From-SVN: r164403
2010-09-18 22:22:38 +00:00
Jan Hubicka
1389294cc3 re PR tree-optimization/45605 (Missed devirtualization)
PR tree-optimization/45605
	* cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
	* gimple-fold.c (static_object_in_other_unit_p): New function.
	(canonicalize_constructor_val): Use it.
	(get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
	returning NULL.
	(gimple_fold_obj_type_ref_known_binfo): Use static_object_in_other_unit_p.

From-SVN: r164402
2010-09-18 21:25:29 +00:00
Jason Merrill
6eb208a69c call.c (compare_ics): Do lvalue/rvalue reference binding comparison for ck_list, too.
* call.c (compare_ics): Do lvalue/rvalue reference binding
	comparison for ck_list, too.

From-SVN: r164401
2010-09-18 17:22:10 -04:00
Richard Guenther
6a78fd06c5 re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at tree-phinodes.c:395)
2010-09-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45709
	* tree-inline.c (copy_phis_for_bb): Delay commit of edge
	insertions until after all PHI nodes of the block are processed.

	* g++.dg/torture/pr45709-2.C: New testcase.

From-SVN: r164397
2010-09-18 17:13:04 +00:00
Tijl Coosemans
f52a39cde6 * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
From-SVN: r164396
2010-09-18 17:05:26 +00:00
H.J. Lu
ba67f4877a Pass -fno-pic to gcc.target/i386/pad-3.c.
2010-09-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/45719
	* gcc.target/i386/pad-3.c: Pass -fno-pic.

From-SVN: r164395
2010-09-18 09:24:50 -07:00
Gerald Pfeifer
a929ec3d11 lto-elf.c (lto_obj_file_open): Also provide filename when elf_begin fails.
* lto-elf.c (lto_obj_file_open): Also provide filename when
	elf_begin fails.

From-SVN: r164394
2010-09-18 16:24:38 +00:00
Kai Tietz
b4b7e792f0 config.gcc (*-w64-mingw*): Correct typo about t-dfprules.
2010-09-18  Kai Tietz  <kai.tietz@onevision.com>

        * config.gcc (*-w64-mingw*): Correct typo about t-dfprules.

From-SVN: r164393
2010-09-18 16:50:31 +02:00
Richard Guenther
a9db10d4aa re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at tree-phinodes.c:395)
2010-09-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45709
	* tree-inline.c (copy_phis_for_bb): Fixup new_edge when
	we splitted it.

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

From-SVN: r164390
2010-09-18 11:38:25 +00:00
Nicola Pero
5d3b14bd9a In libobjc/:
* hash.c: Include objc-private/hash.h instead of objc/hash.h.

        * objc/sarray.h: Moved into objc/deprecated/sarray.h;
        objc/sarray.h replaced with a placeholder including the file from
        the deprecated/ directory.
        * objc-private/sarray.h: New file (private copy of sarray.h).
        * hash.c: Include <assert.h> instead of "assert.h"
        * sarray.c: Include <assert.h> instead of "assert.h".  Include
        objc-private/sarray.h instead of objc/sarray.h.
        * selector.c: Include objc-private/sarray.h instead of
        objc/sarray.h.
        * sendmsg.c: Include <assert.h>.  Include objc-private/sarray.h
        instead of objc/sarray.h.
        * Makefile.in (OBJC_DEPRECATED_H): Added sarray.h.

From-SVN: r164389
2010-09-18 09:34:58 +00:00
Luc Hermitte
fc99f7809e re PR libstdc++/45713 (sizeof std::bitset<ULONG_MAX> == 1)
2010-09-17  Luc Hermitte  <hermitte@free.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45713
	* include/std/bitset: Fix _GLIBCXX_BITSET_WORDS macro.
	* testsuite/23_containers/bitset/45713.cc: New.
	    

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r164388
2010-09-18 01:29:31 +00:00
GCC Administrator
7b458ccc8d Daily bump.
From-SVN: r164387
2010-09-18 00:17:46 +00:00
Sebastian Pop
1f42400682 Add DEBUG_FUNCTION to all the dot_* debugging functions.
2010-09-17  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION.
	(dot_deps_stmt): Same.
	* graphite-poly.c (dot_lst): Same.
	* graphite-scop-detection.c (dot_all_scops): Same.
	(dot_scop): Same.

From-SVN: r164381
2010-09-17 21:39:28 +00:00
Sebastian Pop
f3241b295c Add back dot_rdg.
2010-09-17  Sebastian Pop  <sebastian.pop@amd.com>

	Revert commit: 2009-12-16  Ben Elliston  <bje@au.ibm.com>
	* tree-data-ref.c (dot_rdg_1): Added back.
	(dot_rdg): Same.  Added "#if 0" around system call.

From-SVN: r164380
2010-09-17 21:39:19 +00:00
H.J. Lu
e7ed95a24d Pad short functions with NOPs for Atom.
gcc/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>
	    Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (initial_ix86_tune_features): Add
	X86_TUNE_PAD_SHORT_FUNCTION.
	(ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
	(ix86_count_insn): New.
	(ix86_pad_short_function): Likewise.
	(ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.

	* config/i386/i386.h (ix86_tune_indices): Add
	X86_TUNE_PAD_SHORT_FUNCTION.
	(TARGET_PAD_SHORT_FUNCTION): New.

	* config/i386/i386.md (UNSPEC_NOPS): New.
	(nops): Likewise.

gcc/testsuite/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/pad-1.c: New.
	* gcc.target/i386/pad-2.c: Likewise.
	* gcc.target/i386/pad-3.c: Likewise.
	* gcc.target/i386/pad-4.c: Likewise.
	* gcc.target/i386/pad-5a.c: Likewise.
	* gcc.target/i386/pad-5b.c: Likewise.
	* gcc.target/i386/pad-6a.c: Likewise.
	* gcc.target/i386/pad-6b.c: Likewise.
	* gcc.target/i386/pad-7.c: Likewise.
	* gcc.target/i386/pad-8.c: Likewise.
	* gcc.target/i386/pad-9.c: Likewise.
	* gcc.target/i386/pad-10.c: Likewise.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r164379
2010-09-17 14:07:09 -07:00
Sebastian Pop
8cab7c1398 Do not print warning messages when there are no occurences.
2010-07-02  Sebastian Pop  <sebastian.pop@amd.com>

	* check_GNU_style.sh: Do not print warning messages when there are
	no occurences.

From-SVN: r164378
2010-09-17 19:09:47 +00:00
H.J. Lu
2b3ded42e2 Make sure that all variable sized adjustments are multiple of preferred
stack boundary after stack alignment.

gcc/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/45234
	* calls.c (expand_call): Make sure that all variable sized
	adjustments are multiple of preferred stack boundary after
	stack alignment.

gcc/testsuite/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/45234
	* gcc.dg/torture/stackalign/alloca-5.c: New.

From-SVN: r164377
2010-09-17 11:00:40 -07:00
DJ Delorie
bf9afb7d95 rx.c (valid_psw_flag): New.
* config/rx/rx.c (valid_psw_flag): New.
(rx_expand_builtin): Call it for setpsw/clrpsw.
(rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an
RTX.
* config/rx/rx.md (bitclr): Don't mark the output as early-clobber.
(bitclr_in_memory): Likewise.
(clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile.

From-SVN: r164376
2010-09-17 13:51:43 -04:00
H.J. Lu
765c3e8f08 Update stack alignment when increasing local variable alignment.
gcc/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/45678
	* cfgexpand.c (update_stack_alignment): New.
	(get_decl_align_unit): Use it.
	(expand_one_stack_var_at): Call update_stack_alignment.

gcc/testsuite/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/45678
	* gcc.dg/torture/pr45678-2.c: New.

From-SVN: r164375
2010-09-17 10:49:30 -07:00
Nicola Pero
349cfd93f4 In libobjc/:
* objc-private/objc-list.h (list_remove_elem): Unused function
        removed.  (list_nth): Unused function removed.  (list_find):
        Unused function removed.  (list_lenght): Unused function removed.

        Also, fixed an error in my last commit by adding back
        objc/hash.h and objc/objc-list.h that had not been committed.

From-SVN: r164374
2010-09-17 16:52:36 +00:00
Nicola Pero
5be9cdc112 In libobjc/:
* objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h
        replaced with a placeholder including the file from the
        deprecated/ directory.
        * objc/objc-api.h: Updated includes.
        * objc/typedstream.h: Updated includes.
        * objc-private/hash.h: New file (private copy of hash.h).
        * objc/objc-list.h: Moved into objc/deprecated/objc-list.h;
        objc/objc-list.h replaced with a placeholder including the file
        from the deprecated/ directory.
        * objc-private/objc-list.h: New file (private copy of objc-list.h).
        * init.c: Include objc-private/hash.h and objc-private/objc-list.h
        instead of objc/hash.h and objc/objc-list.h.
        * selector.c: Same change.
        * class.c: Added include <string.h>, which used to be implicitly included
        when hash.h was included.
        * exception.c: Same change.
        * objects.c: Same change.
        * sarray.c: Same change.
        * sendmsg.c: Same change.
        * Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h.
        (OBJC_H): Removed hash.h and objc-list.h

From-SVN: r164373
2010-09-17 16:35:15 +00:00
Richard Guenther
0982fd6497 lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers): Properly copy the read string.
2010-09-17  Richard Guenther  <rguenther@suse.de>

	* lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers):
	Properly copy the read string.

From-SVN: r164371
2010-09-17 14:18:39 +00:00
Joseph Myers
e90afde6fe options.texi (Variable): Document.
* doc/options.texi (Variable): Document.
	* optc-gen.awk, opth-gen.awk: Handle Variable records.  Don't
	generate target_flags declarations explicitly.  Don't define
	VarExists variables for the driver.
	* common.opt (target_flags): New Variable record.
	(flag_dump_unnumbered, flag_dump_unnumbered_links,
	flag_var_tracking, flag_var_tracking_assignments,
	flag_var_tracking_assignments_toggle): Don't mark variables with
	VarExists.
	* config/i386/i386.c (ix86_isa_flags): Don't define here.
	* config/i386/i386.opt (ix86_isa_flags): Define here.
	* config/mcore/mcore.c (mcore_stack_increment): Don't define here.
	* config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
	VarExists.
	* flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
	* print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
	Only define for generator programs.
	* rtlanal.c (target_flags): Remove.
	* toplev.c (flag_var_tracking, flag_var_tracking_assignments,
	flag_var_tracking_assignments_toggle): Remove.

From-SVN: r164370
2010-09-17 15:14:49 +01:00
Richard Guenther
2d5581f1b2 re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)
2010-09-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45678
	* gcc.dg/torture/pr45678-1.c: New testcase.

From-SVN: r164369
2010-09-17 13:57:04 +00:00
Michael Matz
18ba3ce7e3 re PR tree-optimization/43432 (Missed vectorization: "complicated access pattern" for increasing and decreasing data indexing)
PR tree-optimization/43432
	* tree-vect-data-refs.c (vect_analyze_data_ref_access):
	Accept backwards consecutive accesses.
	(vect_create_data_ref_ptr): If step is negative generate
	decreasing IVs.
	* tree-vect-stmts.c (vectorizable_store): Reject negative steps.
	(perm_mask_for_reverse, reverse_vec_elements): New functions.
	(vectorizable_load): Handle loads with negative steps when easily
	possible.

testsuite/
	PR tree-optimization/43432
	* lib/target-supports.exp (check_effective_target_vect_perm_byte,
	check_effective_target_vect_perm_short): New predicates.
	(check_effective_target_vect_perm): Include x86_64.
	* gcc.dg/vect/pr43432.c: New test.
	* gcc.dg/vect/vect-114.c: Adjust.
	* gcc.dg/vect/vect-15.c: Ditto.
	* gcc.dg/vect/slp-perm-8.c: Use new predicate.
	* gcc.dg/vect/slp-perm-9.c: Ditto.

From-SVN: r164367
2010-09-17 13:26:43 +00:00
Jan Hubicka
4c588abff3 lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
* lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
	* lto.c (lto_promote_cross_file_statics): Use const_value_known.

From-SVN: r164366
2010-09-17 11:27:25 +00:00
Naveen H.S
122603fae2 v850.c (v850_function_value_regno_p): Make static.
* config/v850/v850.c (v850_function_value_regno_p): Make static.
        Adjust comments. Declare.
        (TARGET_FUNCTION_VALUE_REGNO_P): Define.
        * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete.

From-SVN: r164365
2010-09-17 10:36:49 +00:00
Nicola Pero
46936bf011 In gcc/testsuite/:
* objc/execute/exceptions/throw-nil.m: Run the test only with the
        GNU runtime.

From-SVN: r164359
2010-09-17 10:14:25 +00:00
Richard Guenther
c3224d6f70 common.opt (combine): Remove.
2010-09-17  Richard Guenther  <rguenther@suse.de>

	* common.opt (combine): Remove.
	* gcc.c (default_compilers): Remove specs testing combine.
	The C compilers no longer can combine.
	(option_map): Remove -combine.
	(display_help): Remove -combine.
	(driver_handle_option): Remove OPT_combine handling.
	(compile_input_file_p): Remove.
	(do_spec): Remove code concerning combine.
	(main): Likewise.
	* doc/invoke.texi: Remove traces of -combine.
	* lto-wrapper.c (run_gcc): Do not pass -combine to the compiler
	driver.

	lto/
	* lang.opt (flag_wpa): Also enable for the driver.

	* gcc.dg/pr27898.c: Use -flto instead of -combine.
	* gcc.dg/pr28706.c: Likewise.
	* gcc.dg/pr28712.c: Likewise.
	* gcc.dg/pr30762-1.c: Likewise.
	* gcc.dg/pr30762-2.c: Likewise.
	* gcc.dg/pr31529-1.c: Likewise.
	* gcc.dg/pr31529-2.c: Likewise.
	* gcc.dg/pr34457-1.c: Likewise.
	* gcc.dg/pr34457-2.c: Likewise.
	* gcc.dg/pr34668-1.c: Likewise.
	* gcc.dg/pr34668-2.c: Likewise.
	* gcc.dg/pr34989-1.c: Likewise.
	* gcc.dg/pr34989-2.c: Likewise.
	* gcc.dg/pr43557-1.c: Likewise.
	* gcc.dg/pr43557-2.c: Likewise.
	* gcc.dg/debug/pr41893-1.c: Likewise.
	* gcc.dg/matrix/matrix.exp: Do not use -combine.
	* gcc.dg/matrix/matrix-3.c: Drop dg-options.
	* gcc.dg/matrix/matrix-4.c: Likewise.
	* gcc.dg/struct/struct-reorg.exp: Do not use -combine.
	* gcc.dg/struct/wo_prof_empty_str.c: Drop dg-options.
	* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
	* gcc.dg/struct/wo_prof_escape_return.c: Likewise.

From-SVN: r164357
2010-09-17 09:04:14 +00:00
Richard Guenther
dbad82f59c re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)
2010-09-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45678
	* builtins.c (fold_builtin_memory_op): Always properly adjust
	alignment of memory accesses.

From-SVN: r164356
2010-09-17 09:00:23 +00:00
Jan Hubicka
52b3b3c7e2 lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when processing clone.
* lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
	processing clone.
	* lto.c (lto_materialize_function): Do not tamper with STATIC and
	EXTERNAL flags.

From-SVN: r164354
2010-09-17 00:35:22 +00:00
GCC Administrator
ff01e2cb44 Daily bump.
From-SVN: r164353
2010-09-17 00:17:57 +00:00
Tobias Burnus
6dfd24f7e5 re PR fortran/43665 (INTENT(IN) etc. optimization of calls: function annotations for noclobber/noescape arguments)
2010-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43665
        * trans-types.c (create_fn_spec): New function.
        (gfc_get_function_type): Call it.

2010-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43665
        * gfortran.dg/cray_pointers_2.f90: Disable inlining to avoid
        optimizations.
        * gfortran.dg/intent_optimize_1.f90: New test.

From-SVN: r164348
2010-09-16 23:30:05 +02:00
Uros Bizjak
b3df2256e7 * config/i386/i386.md: Rearrange divmod patterns a bit.
From-SVN: r164347
2010-09-16 23:07:00 +02:00
H.J. Lu
26ec93086a Add -m8bit-idiv for x86.
gcc/

2010-09-16  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386-protos.h (ix86_split_idivmod): New prototype.

	* config/i386/i386.c (predict_jump): Add prototype.
	(flag_opts): Add -m8bit-idiv.
	(ix86_split_idivmod): New.

	* config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New.
	Add 2 splitters for SI/DI mode divide.
	(divmod<mode>4_1): New pattern.
	(udivmod<mode>4_1): Likewise.
	(testdi_ccno_1): Likewise.

	* config/i386/i386.opt (m8bit-idiv): New.

	* doc/invoke.texi: Document -m8bit-idiv.

gcc/testsuite/

2010-09-16  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/divmod-1.c: New.
	* gcc.target/i386/divmod-2.c: Likewise.
	* gcc.target/i386/divmod-3.c: Likewise.
	* gcc.target/i386/divmod-4.c: Likewise.
	* gcc.target/i386/divmod-4a.c: Likewise.
	* gcc.target/i386/divmod-5.c: Likewise.
	* gcc.target/i386/divmod-6.c: Likewise.
	* gcc.target/i386/divmod-7.c: Likewise.
	* gcc.target/i386/divmod-8.c: Likewise.
	* gcc.target/i386/udivmod-1.c: Likewise.
	* gcc.target/i386/udivmod-2.c: Likewise.
	* gcc.target/i386/udivmod-3.c: Likewise.
	* gcc.target/i386/udivmod-4.c: Likewise.
	* gcc.target/i386/udivmod-4a.c: Likewise.
	* gcc.target/i386/udivmod-5.c: Likewise.
	* gcc.target/i386/udivmod-6.c: Likewise.
	* gcc.target/i386/udivmod-7.c: Likewise.
	* gcc.target/i386/udivmod-8.c: Likewise.

From-SVN: r164346
2010-09-16 11:05:37 -07:00
Reza Yazdani
782d5172bb re PR bootstrap/45680 (cc1 fails to link on Solaris 9/x86 with Sun as: min_insn_size missing)
Fix PR45680.

2010-09-16  Reza Yazdani  <reza.yazdani@amd.com>

	PR bootstrap/45680
	* config/i386/i386.c (min_insn_size): Moved out of the
	ASM_OUTPUT_MAX_SKIP_PAD ifdef.

From-SVN: r164345
2010-09-16 17:19:25 +00:00
Jan Hubicka
0cac82a0d3 pr45679-1_0.C: New file.
* g++.dg/lto/pr45679-1_0.C: New file.
	* g++.dg/lto/pr45679-1_1.C: New file.
	* g++.dg/lto/pr45679-0_0.C: New file.
	* g++.dg/lto/pr45679-0_1.C: New file.
	* lto-cgraph.c (lto_output_node): Fix handling of clones.
	* ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of
	unreachable clones with reachable clones.
	* tree-inline.c (copy_bb): Fix sanity checking when producing
	unreachable clone.

From-SVN: r164344
2010-09-16 17:11:38 +00:00
Paolo Carlini
5ee996a2c6 stl_raw_storage_iter.h (raw_storage_iterator<>:: operator=(const _Tp&)): Use std::__addressof.
2010-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_raw_storage_iter.h (raw_storage_iterator<>::
	operator=(const _Tp&)): Use std::__addressof.

From-SVN: r164343
2010-09-16 17:09:10 +00:00
Jakub Jelinek
4d42b5cd6f gfortran.h (walk_code_fn_t, [...]): New types.
* gfortran.h (walk_code_fn_t, walk_expr_fn_t): New types.
	(gfc_expr_walker, gfc_code_walker): New prototypes.
	* frontend-passes.c (gfc_expr_walker, gfc_code_walker): New functions.
	(WALK_SUBEXPR, WALK_SUBEXPR_TAIL, WALK_SUBCODE): Define.
	(optimize_namespace): Use gfc_code_walker.
	(optimize_code, optimize_expr): Rewritten as gfc_code_walker hooks.
	(optimize_expr_0, optimize_code_node,
	optimize_actual_arglist): Removed.
	(optimize_assignment): Don't call optimize_expr_0.

From-SVN: r164342
2010-09-16 18:53:35 +02:00
Rainer Orth
815248b197 Record PR middle-end/44763 in ChangeLog.
From-SVN: r164341
2010-09-16 16:37:01 +00:00
Anatoly Sokolov
40e2dfaae3 m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
* config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
	(TARGET_MEMORY_MOVE_COST): Define.
	(m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED.

From-SVN: r164340
2010-09-16 20:25:27 +04:00
Paolo Carlini
b5fbd147fe system_error (system_error::system_error(error_code), [...]): Fix for what() to return the NBTS recommended in the Note in 19.5.6.2/14.
2010-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/system_error (system_error::system_error(error_code),
	system_error(error_code, const string&), system_error(int, const
	error_category&), system_error(int, const error_category&,
	const string&)): Fix for what() to return the NBTS recommended in
	the Note in 19.5.6.2/14.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Adjust.
	* testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-3.cc: Likewise.

	* testsuite/19_diagnostics/system_error/what-4.cc: Tidy includes.

From-SVN: r164339
2010-09-16 14:55:37 +00:00
Janus Weil
7d58b9e77a re PR fortran/45674 ([OOP] Undefined references for extended types)
2010-09-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45674
	* interface.c (compare_parameter): Create vtab for actual argument,
	instead of formal (if needed).


2010-09-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45674
	* gfortran.dg/class_dummy_2.f03: New.

From-SVN: r164338
2010-09-16 15:12:59 +02:00
Paolo Carlini
f941c3e212 complex (complex<float>::operator=(float), [...]): Simplify a tad...
2010-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (complex<float>::operator=(float),
	complex<float>::operator+=(float),
	complex<float>::operator-=(float),
	complex<double>::operator=(double),
	complex<double>::operator+=(double),
	complex<double>::operator-=(double),
	complex<long double>::operator=(long double),
	complex<long double>::operator+=(long double),
	complex<long double>::operator-=(long double)): Simplify a tad,
	just forward to the underlying __complex__ T operators, as
	operator*= and operator/= already do.

	* include/std/complex (complex<float>, complex<double>,
	complex<long double>): Simplify spelling of return types, just
	say complex, instead of complex<float>, complex<double>,
	complex<long double>, respectively.

From-SVN: r164337
2010-09-16 12:39:13 +00:00
Alexander Monakov
65592aadaf sel-sched.c (move_cond_jump): Use tidy_control_flow instead of maybe_tidy_empty_bb.
2010-09-16  Alexander Monakov  <amonakov@ispras.ru>

	* sel-sched.c (move_cond_jump): Use tidy_control_flow instead of
	maybe_tidy_empty_bb.

	Revert:
	2010-09-06  Alexander Monakov  <amonakov@ispras.ru>
	* sel-sched-ir.c (maybe_tidy_empty_bb): Export.

From-SVN: r164336
2010-09-16 16:26:23 +04:00