Commit Graph

97577 Commits

Author SHA1 Message Date
John David Anglin
f93a40eaa3 ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE type on HP-UX.
* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
	type on HP-UX.

From-SVN: r155205
2009-12-14 02:42:18 +00:00
GCC Administrator
f610bc0aa1 Daily bump.
From-SVN: r155203
2009-12-14 00:16:38 +00:00
Paolo Carlini
2cd9cdcc6d re PR libstdc++/40133 (exception propagation support not enabled in libstdc++ 4.4 on {armeabi,hppa}-linux)
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>
            Matthias Klose  <doko@ubuntu.com>

        PR libstdc++/40133
        * acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): On *-*-linux*,
        *-*-uclinux*, *-*-kfreebsd*-gnu | *-*-gnu* targets do link tests when
        possible.
        * configure: Regenerate.

Co-Authored-By: Matthias Klose <doko@ubuntu.com>

From-SVN: r155200
2009-12-13 23:45:12 +00:00
Eric Botcazou
82b68940a3 tm.texi (STACK_CHECK_PROBE_LOAD): Delete.
* doc/tm.texi (STACK_CHECK_PROBE_LOAD): Delete.
	* expr.h (STACK_CHECK_PROBE_LOAD): Likewise.
	* explow.c (emit_stack_probe): Do not test STACK_CHECK_PROBE_LOAD.
	* system.h (STACK_CHECK_PROBE_LOAD): Poison.

From-SVN: r155199
2009-12-13 23:00:53 +00:00
Matthias Klose
840a82bab8 gc_locks.h: For __ARM_EABI__ define GC_test_and_set GC_clear to use the atomic builtins.
2009-12-09  Matthias Klose  <doko@ubuntu.com> 

        * include/private/gc_locks.h: For __ARM_EABI__ define
        GC_test_and_set  GC_clear to use the atomic builtins.

From-SVN: r155198
2009-12-13 22:44:27 +00:00
Joseph Myers
38fb287358 * fi.po, sv.po: Update.
From-SVN: r155197
2009-12-13 22:36:09 +00:00
Michael Matz
c3223bafb1 re PR tree-optimization/42027 (Performance regression in convolution loop optimization)
PR tree-optimization/42027
	* dojump.c (do_jump <TRUTH_AND_EXPR, TRUTH_OR_EXPR>): Go to
	TRUTH_ANDIF_EXPR resp. TRUTH_ORIF_EXPR expander, instead of
	falling through.

From-SVN: r155196
2009-12-13 21:51:34 +00:00
Andy Hutchinson
83613dbea0 re PR rtl-optimization/23726 (Missed optimizations for divmod)
PR target/23726
* config/avr/predicates.md (pseudo_register_operand): New predicate for pseudos.
* config/avr/avr.md (divmodqi4): Replace with define_insn_and_split to allow div/mod optimization.
(udivmodqi4): Ditto.
(divmodhi4): Ditto.
(udivmodhi4): Ditto.
(divmodsi4): Ditto.
(udivmodsi4): Ditto.

From-SVN: r155195
2009-12-13 21:03:41 +00:00
Richard Guenther
1bea309889 re PR tree-optimization/42357 (another ice in create_tmp_var)
2009-12-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/42357
	* tree-sra.c (sra_modify_assign): Do not tear apart struct copies.

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

From-SVN: r155193
2009-12-13 17:36:20 +00:00
H.J. Lu
70c5cc5d72 Add missing ChangeLog entries.
From-SVN: r155190
2009-12-11 17:34:14 -08:00
Richard Guenther
2bcbee3aae tree.c (need_assembler_name_p): Abstract decls do not need an assembler name.
2009-12-12  Richard Guenther  <rguenther@suse.de>

	* tree.c (need_assembler_name_p): Abstract decls do not need
	an assembler name.
	* dwarf2out.c (dwarf2out_abstract_function): Preserve
	DECL_ABSTRACT properly.

From-SVN: r155189
2009-12-12 01:12:55 +00:00
GCC Administrator
19f49d971e Daily bump.
From-SVN: r155188
2009-12-12 00:16:44 +00:00
Janus Weil
44e3a58e92 re PR fortran/42257 ([OOP] Compiler segmentation fault due missing public statement)
gcc/fortran/
2009-12-11 Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42257
	* module.c (write_dt_extensions): Check for accessibility.

gcc/testsuite/
2009-12-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42257
	* gfortran.dg/extends_9.f03: New test.

From-SVN: r155183
2009-12-12 00:05:02 +01:00
Richard Biener
7780688fb8 lto-streamer-in.c (lto_input_tree_ref): Do not register DEBUG_EXPR_DECLs with the varpool.
2009-12-11  Richard Guenther  <rguenther@suse.de>

	* lto-streamer-in.c (lto_input_tree_ref): Do not register
	DEBUG_EXPR_DECLs with the varpool.

From-SVN: r155182
2009-12-11 22:13:48 +00:00
Paolo Carlini
4fa287ffd2 numeric: Trivial formatting changes.
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/numeric: Trivial formatting changes.

From-SVN: r155181
2009-12-11 22:06:26 +00:00
Paolo Carlini
d385563f63 re PR libstdc++/42352 (-std=c++0x reference binding problem)
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42352
	* include/bits/list.tcc (sort): Use _GLIBCXX_MOVE for list::splice
	and list::merge calls.
	* testsuite/23_containers/list/operations/42352.cc: New.

From-SVN: r155180
2009-12-11 22:04:56 +00:00
Daniel Franke
dcea1b2f86 re PR fortran/40290 (Spurious warning on REAL*COMPLEX with -Wconversion)
2009-12-11  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/40290
        * expr.c (gfc_type_convert_binary): Added warn-on-conversion flag,
        passed on to gfc_convert_type_warn() instead of gfc_convert_type();
        enabled warnings on all callers but ...
        * arith.c (eval_intrinsic): Disabled warnings on implicit type
        conversion.
        * gfortran.h gfc_type_convert_binary): Adjusted prototype.

From-SVN: r155179
2009-12-11 16:08:39 -05:00
Eric Botcazou
77cb940117 linux-unwind.h (MD_FROB_UPDATE_CONTEXT, 64-bit): Define.
* config/sparc/linux-unwind.h (MD_FROB_UPDATE_CONTEXT, 64-bit): Define.
	(sparc64_frob_update_context): New function.

From-SVN: r155178
2009-12-11 21:06:18 +00:00
Jason Merrill
d4684c007a re PR c++/42219 (ICE with "const void" as parameter type)
PR c++/42219
	* typeck.c (error_type_p): New.
	(ptr_reasonably_similar): Use it.
	* cp-tree.h: Declare it.

From-SVN: r155177
2009-12-11 16:03:55 -05:00
Richard Guenther
ae2cac711f re PR lto/41658 (Execution testsuite fails with -O2 -fwhopr)
2009-12-11  Richard Guenther  <rguenther@suse.de>

	PR lto/41658
	PR lto/41657
	* lto-streamer-out.c (write_global_stream): Do not make decls
	weak but resort to TREE_ASM_WRITTEN to avoid multiple definitions.
	Make sure to mark all decls that we have written.

From-SVN: r155174
2009-12-11 18:00:24 +00:00
Paolo Carlini
8246b3148e PR libstdc++/22634, DR 539 [Ready]
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/22634, DR 539 [Ready]
	* include/bits/stl_numeric.h (adjacent_difference): Use std::move
	at the end of the loop body, per the Ready resolution.
	* include/std/numeric: Do not include unnecessarily <cstddef>.
	* doc/xml/manual/intro.xml: Add an entry for DR 539.

From-SVN: r155173
2009-12-11 17:54:37 +00:00
Paolo Carlini
f9679d8ae7 lwg-active.html: Update to Revision R68.
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/html/ext/lwg-active.html: Update to Revision R68.
	* doc/html/ext/lwg-closed.html: Likewise.
	* doc/html/ext/lwg-defects.html: Likewise.
	* doc/xml/manual/intro.xml: Update status of issues 431, 630, and 696.

From-SVN: r155170
2009-12-11 17:23:09 +00:00
Richard Guenther
e7d00517fa re PR lto/42037 ("grow domain error" in lto1)
2009-12-11  Richard Guenther  <rguenther@suse.de>

	PR lto/42037
	* lto.c (lto_resolution_read): Properly grow the vector.

From-SVN: r155166
2009-12-11 15:52:57 +00:00
Sebastian Andrzej Siewior
90f5494c89 re PR target/36047 (-pg does not work on large binaries and m68k)
2009-12-11  Sebastian Andrzej Siewior  <bigeasy@linutronix.de>

	PR target/36047

	* config/m68k/linux.h: Remove LABELNO from the mcount statement. It is
	not used by glibc/uclibc and does not work with large binaries.

From-SVN: r155165
2009-12-11 15:32:08 +00:00
Richard Guenther
1ab5389345 re PR lto/41915 (FAIL: gcc.dg/torture/builtin-math-7.c -O2 -flto execution test)
2009-12-11  Richard Guenther  <rguenther@suse.de>

	PR lto/41915
	* lto-lang.c (lto_init_options): Initialize flag_complex_method
	to the C99 default.  Do not set flag_unit_at_a_time.

From-SVN: r155164
2009-12-11 14:49:35 +00:00
Richard Guenther
dad027154e re PR lto/41662 (FAIL: g++.dg/lto/20081109 cp_lto_20081109_0.o-cp_lto_20081109_1.o execute -O2 -fwhopr)
2009-12-11  Richard Guenther  <rguenther@suse.de>

	PR lto/41662
	* lto-streamer-in.c (lto_init_eh): Move eh_initialized_p
	handling here.
	(input_eh_regions): Adjust.
	(lto_input_ts_function_decl_tree_pointers): Initialize EH
	if a non-NULL DECL_FUNCTION_PERSONALITY was read in.

From-SVN: r155163
2009-12-11 14:46:09 +00:00
Janus Weil
e219f32f4b re PR fortran/42335 ([OOP] ICE on CLASS IS (bad_identifier))
gcc/fortran/
2009-12-11 Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42335
	* symbol.c (select_type_insert_tmp): Add an extra check for
	error recovery.


gcc/testsuite/
2009-12-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42335
	* gfortran.dg/select_type_11.f03: New test.

From-SVN: r155162
2009-12-11 15:40:36 +01:00
Duncan Sands
63a00e0d91 IPA passes are bigger than other passes...
IPA passes are bigger than other passes, so more memory needs to be allocated
for them (and more copied) in make_pass_instance.

From-SVN: r155161
2009-12-11 14:38:55 +00:00
Dodji Seketeli
9cf10655bb re PR c++/42225 (GCC 4.5 ICE (segfault) on C++ templated code)
Fix PR c++/42225

gcc/cp/ChangeLog:
	PR c++/42225
	* typeck.c (incompatible_dependent_typedefs_p): New function.
	(structural_comptypes): Use it.
	* cp-tree.h (cp_set_underlying_type): Declare ...
	* tree.c (cp_set_underlying_type): ... new function.
	* class.c (build_self_reference): Use cp_set_underlying_type
	instead of set_underlying_type.
	* decl2.c (grokfield): Likewise.
	* name-lookup.c (pushdecl_maybe_friend): Likewise.

gcc/testsuite/ChangeLog:
	PR c++/42225
	* g++.dg/template/typedef24.C: New test.
	* g++.dg/template/typedef25.C: New test.

From-SVN: r155160
2009-12-11 15:36:05 +01:00
Dodji Seketeli
c9e900454a re PR c++/42251 (failure detecting constant integral expression)
Fix PR c++/42251

gcc/cp/ChangeLog:
	PR c++/42251
	* pt.c (convert_template_argument): Avoid missing folding of SCOPE_REFs.

gcc/testsuite/ChangeLog:
	PR c++/42251
	* g++.dg/template/const3.C: New test.

From-SVN: r155159
2009-12-11 13:25:19 +01:00
Joern Rennecke
8a8d675f41 plugin.c (get_named_event_id): Fix hash table rebuild to include dynamically allocated events.
* plugin.c (get_named_event_id): Fix hash table rebuild to include
        dynamically allocated events.

From-SVN: r155156
2009-12-11 11:11:18 +00:00
Richard Guenther
5d96330ac8 re PR middle-end/42320 (link error with -flto (undefined reference to 'non-virtual thunk ...))
2009-12-11  Richard Guenther  <rguenther@suse.de>

	PR lto/42320
	* lto-symtab.c (lto_symtab_resolve_can_prevail_p): Properly
	detect non-prevailing decls.

	* g++.dg/lto/20091210-1_0.h: New testcase.
	* g++.dg/lto/20091210-1_0.C: Likewise.
	* g++.dg/lto/20091210-1_1.C: Likewise.

From-SVN: r155155
2009-12-11 10:56:17 +00:00
Joseph Myers
f7dc4e3dc7 * es.po: Update.
From-SVN: r155153
2009-12-11 10:25:54 +00:00
Eric Botcazou
fb01d970c4 ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long double' arguments.
* src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
	double' arguments.

From-SVN: r155152
2009-12-11 10:06:18 +00:00
Eric Botcazou
2ea54b81da * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
From-SVN: r155151
2009-12-11 10:00:12 +00:00
Eric Botcazou
92fe59d160 Fix formatting
From-SVN: r155150
2009-12-11 08:52:17 +00:00
GCC Administrator
1a8ef96c23 Daily bump.
From-SVN: r155148
2009-12-11 00:16:52 +00:00
Joseph Myers
5edddef681 * es.po: Update.
From-SVN: r155145
2009-12-10 22:32:34 +00:00
Eric Botcazou
0cf1a41a2f s-linux-sparc.ads: New file.
* s-linux-sparc.ads: New file.
	* gcc-interface/Makefile.in (SPARC/Linux): Use it.

From-SVN: r155144
2009-12-10 22:26:20 +00:00
Jakub Jelinek
b66887e4d0 re PR c++/42317 (Issues with comdat virtual dtors)
PR c++/42317
	* cgraph.h (struct cgraph_node): Add same_comdat_group field.
	* cgraph.c (cgraph_remove_node): Unchain node from same_comdat_group
	circular list.
	(cgraph_node_can_be_local_p): Return false for DECL_COMDAT with
	node->same_comdat_group.
	* ipa.c (cgraph_remove_unreachable_nodes): For any reachable node
	mark all its same_comdat_group nodes as also reachable.
	(cgraph_externally_visible_p): Return true even if any of
	same_comdat_group nodes has address taken.
	* lto-cgraph.c (lto_output_node): Stream out same_comdat_group.
	(output_cgraph): Ensure other same_comdat_group nodes are also
	included.
	(input_node): Stream in same_comdat_group.
	(input_cgraph_1): Fix up same_comdat_group fields from references
	to pointers.
	* cgraphunit.c (cgraph_analyze_functions): Mark all other
	same_comdat_group nodes as reachable.
	(cgraph_mark_functions_to_output): For each node->process process
	also other same_comdat_group nodes.
	* ipa-inline.c (cgraph_clone_inlined_nodes): Don't reuse nodes
	with same_comdat_group non-NULL.
	(cgraph_mark_inline_edge): Likewise.

	* decl2.c (cp_write_global_declarations): Clear DECL_EXTERNAL
	also on all other functions in the same comdat group.
	* optimize.c (maybe_clone_body): Also optimize virtual implicit
	dtors.  For virtual comdat dtors tell cgraph that base and deleting
	dtor are in the same comdat group.

	* config/abi/pre/gnu.ver: Don't export certain base dtors that
	weren't previously exported.

	* g++.dg/opt/dtor2.C: New test.
	* g++.dg/opt/dtor2.h: New file.
	* g++.dg/opt/dtor2-aux.cc: New file.

From-SVN: r155143
2009-12-10 22:58:49 +01:00
Daniel Franke
63bcb71f99 re PR fortran/40287 (Spurious warnings with -Wconversion and COUNT())
2009-12-10  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/40287
        * iresolve.c (resolve_mask_arg): Disabled warning on conversion
        to LOGICAL(1).

From-SVN: r155142
2009-12-10 16:57:49 -05:00
Daniel Franke
b94e5176d7 re PR fortran/41369 (Empty derived-type wrongly rejected as function return type)
2009-12-10  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/41369
	* parse.c (match_deferred_characteristics): Removed check for empty
	types in function return values.

2009-12-10  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/41369
	* gfortran.dg/func_derived_5.f90: New.

From-SVN: r155141
2009-12-10 16:03:40 -05:00
Jan Hubicka
47cb0d7da1 re PR middle-end/42228 (verify_cgraph_node failed:node has wrong clone_of)
PR middle-end/42228
	PR middle-end/42110
	* cgraph.c (cgraph_create_edge_including_clones): Add old_stmt parameter;
	update edge if it already exists.
	(cgraph_remove_node): Handle correctly cases where we are removing node having
	clones.
	* cgraph.h (cgraph_create_edge_including_clones): Declare.
	(verify_cgraph_node): Add missing error_found = true code.
	(cgraph_materialize_all_clones): Remove call edges of dead nodes.
	* ipa.c (cgraph_remove_unreachable_nodes): Correctly look for master
	clone; fix double linked list removal.
	* tree-inline.c (copy_bb): Update cgraph_create_edge_including_clones call;
	fix frequency of newly created edge.

	* g++.dg/torture/pr42110.C: new file.

From-SVN: r155140
2009-12-10 20:50:47 +00:00
Daniel Franke
604df1167c re PR fortran/34402 (Diagnose illegal initialization of derived type containing allocatable component)
gcc/fortran/:
2009-12-10  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/34402
        * expr.c (check_alloc_comp_init): New.
        (check_init_expr): Verify that allocatable components
        are not data-initalized.

gcc/testsuite/:
2009-12-10  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/34402
        * gfortran.dg/alloc_comp_init_expr.f03: New.

From-SVN: r155138
2009-12-10 14:57:16 -05:00
Paolo Carlini
df4d18ad80 PR libstdc++/42261 (take 2)
2009-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42261 (take 2)
	* include/bits/basic_string.h (_S_construct_aux_2(size_type, _CharT,
	const _Alloc&)): Add.
	(_S_construct_aux(_Integer, _Integer, const _Alloc&, __true_type)):
	Call it.
	* include/ext/sso_string_base.h (_M_construct_aux_2(size_type,
	_CharT): Add.
	(_M_construct_aux(_Integer, _Integer, std::__true_type)): Call it.
	* include/ext/rc_string_base.h (_S_construct_aux_2(size_type, _CharT,
	const _Alloc&)): Add.
	(_S_construct_aux(_Integer, _Integer, const _Alloc&, __true_type)):
	Call it.
	* config/abi/pre/gnu.ver: Export basic_string::_S_construct_aux_2.
	* testsuite/21_strings/basic_string/cons/char/42261.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.

From-SVN: r155137
2009-12-10 19:17:27 +00:00
Bernd Schmidt
d435810e76 re PR rtl-optimization/42216 (changes in scheduling regress 464.h264ref 20%)
PR rtl-opt/42216
	* regrename.c: Error out if MAX_RECOG_OPERANDS is larger than
	HOST_BITS_PER_WIDE_INT.
	(verify_reg_in_set): New function, broken out of verify_reg_tracked.
	(verify_reg_tracked): Use it.
	(scan_rtx_reg): When seeing a use involving a superset of the
	registers in an existing chain, enlarge that chain.  Otherwise,
	allow subsets and set fail_current_block for all other kinds of
	overlap.
	(hide_operands): New argument UNTRACKED_OPERANDS; callers changed.
	Do not modify operands when the bit with the corresponding number
	is set in that bitmap.
	(build_def_use): When we see matching operands with different
	modes, don't set fail_current_block, but keep track of such
	operands in a bitmap if their registers aren't already tracked
	in an open chain.  Pass this bitmap to all hide_operands calls.

From-SVN: r155134
2009-12-10 18:03:05 +00:00
Paolo Carlini
574f366488 revert: re PR libstdc++/42261 (infinite recursion from string(string::size_type(6), string::size_type('f')))
2009-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
        2009-12-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42261
	* include/bits/basic_string.h (_S_construct_aux(_Integer, _Integer,
	const _Alloc&, __true_type)): Cast the second argument to value_type.
	* include/ext/sso_string_base.h (_M_construct_aux(_Integer, _Integer,
	std::__true_type)): Likewise.
	* include/ext/rc_string_base.h (_S_construct_aux(_Integer, _Integer,
	const _Alloc&, std::__true_type)): Likewise.
	* testsuite/21_strings/basic_string/cons/char/42261.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.

From-SVN: r155132
2009-12-10 17:17:41 +00:00
Richard Guenther
788d04b2b4 re PR tree-optimization/42337 (GCC ICE in compute_antic, at tree-ssa-pre.c:2534)
2009-12-10  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/42337
	* tree-ssa-pre.c (seen_during_translate): Remove.
	(phi_translate_1): Collapse into ...
	(phi_translate): ... this.  Remove seen parameter and
	adjust recursive calls.

From-SVN: r155131
2009-12-10 16:00:57 +00:00
David Edelsohn
749140af5d bswap64-4.c: Disable on AIX.
* gcc.target/powerpc/bswap64-4.c: Disable on AIX.
        * gcc.target/powerpc/ppc64-double-1.c: Disable on AIX.

From-SVN: r155129
2009-12-10 09:38:48 -05:00
Richard Guenther
b614f27d29 tree-vectorizer.c (vectorize_loops): Properly guard vectorizer verboseness.
2009-12-10  Richard Guenther  <rguenther@suse.de>
	Allan Sandfeld Jensen  <linux@carewolf.com>

	* tree-vectorizer.c (vectorize_loops): Properly guard
	vectorizer verboseness.

Co-Authored-By: Allan Sandfeld Jensen <linux@carewolf.com>

From-SVN: r155128
2009-12-10 14:16:28 +00:00