Commit Graph

97528 Commits

Author SHA1 Message Date
Eric Botcazou
80fa46179c exp_util.adb (Make_CW_Equivalent_Type): Set the Is_Class_Wide_Equivalent_Type flag here in lieu of...
* exp_util.adb (Make_CW_Equivalent_Type): Set the
	Is_Class_Wide_Equivalent_Type flag here in lieu of...
	(Make_Subtype_From_Expr): ...here.
	* exp_ch3.adb (Expand_Freeze_Record_Type): Do not set
	Has_Controlled_Component on class-wide equivalent types.
	* freeze.adb (Freeze_Record_Type): Likewise.
	* sem_ch3.adb (Record_Type_Definition): Likewise.

From-SVN: r154950
2009-12-03 15:10:58 +00:00
Richard Earnshaw
cf9eb56580 linux-atomic.c (SYNC_LOCK_RELEASE): Place memory barrier before the lock release.
* arm/linux-atomic.c (SYNC_LOCK_RELEASE): Place memory barrier
	before the lock release.

From-SVN: r154949
2009-12-03 14:26:46 +00:00
Paolo Carlini
bcaf576b83 re PR libstdc++/42261 (infinite recursion from string(string::size_type(6), string::size_type('f')))
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: r154948
2009-12-03 14:20:56 +00:00
Uros Bizjak
ddf6c18784 cls_longdouble_va.c (main): Fix format string.
* testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
	Remove xfails for x86 linux targets.

From-SVN: r154946
2009-12-03 15:02:10 +01:00
Michael Matz
2bdbbe94ec re PR middle-end/38474 (compile time explosion in dataflow_set_preserve_mem_locs at -O3)
PR middle-end/38474
	* cfgexpand.c (struct stack_var): Add conflicts member.
	(stack_vars_conflict, stack_vars_conflict_alloc,
	n_stack_vars_conflict): Remove.
	(add_stack_var): Initialize conflicts member.
	(triangular_index, resize_stack_vars_conflict): Remove.
	(add_stack_var_conflict, stack_var_conflict_p): Rewrite in
	terms of new member.
	(union_stack_vars): Only run over the conflicts.
	(partition_stack_vars): Remove special case.
	(expand_used_vars_for_block): Don't call resize_stack_vars_conflict,
	don't create self-conflicts.
	(account_used_vars_for_block): Don't create any conflicts.
	(fini_vars_expansion): Free bitmaps, don't free or clear removed
	globals.

From-SVN: r154945
2009-12-03 13:36:32 +00:00
Bernd Schmidt
1f92467594 re PR middle-end/42202 (Revision 154688 caused many gfortran failures)
PR middle-end/42202
	* regrename.c (live_in_chains): New variable.
	(verify_reg_tracked): New static function.
	(scan_rtx_reg): Update live_in_chains.
	(scan_rtx): Only promote sets in COND_EXEC to OP_INOUT if
	we're already tracking the reg.
	(build_def_use): Likewise.  Initialize live_in_chains.

From-SVN: r154944
2009-12-03 12:58:30 +00:00
Ken Werner
75741fedc5 spu-elf.h (STARTFILE_SPEC): Add support for gprof startup files.
2009-12-03  Ken Werner  <ken.werner@de.ibm.com>

        * config/spu/spu-elf.h (STARTFILE_SPEC): Add support for gprof
        startup files.
        * config/spu/spu-protos.h (spu_function_profiler): Add prototype.
        * config/spu/spu.c (spu_function_profiler): New function.
        * config/spu/spu.h (FUNCTION_PROFILER): Invoke
        spu_function_profiler.
        (NO_PROFILE_COUNTERS): Define.
        (PROFILE_BEFORE_PROLOGUE): Likewise.

From-SVN: r154942
2009-12-03 11:47:11 +00:00
Uros Bizjak
a27c404027 cls_longdouble_va.c (main): Fix format string.
* testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.

From-SVN: r154941
2009-12-03 11:35:31 +01:00
Paolo Carlini
54d1aa1f64 ref.cc: Add.
2009-12-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/bind/ref.cc: Add.
	* testsuite/20_util/bind/all_bound.cc: Likewise.
	* testsuite/20_util/bind/nested.cc: Likewise.
	* testsuite/20_util/bind/placeholders.cc: Likewise.

From-SVN: r154939
2009-12-03 10:18:04 +00:00
Dodji Seketeli
84894f850f re PR c++/42217 (ICE with zero-length bit-field)
Fix PR c++/42217

gcc/cp/ChangeLog
	PR c++/42217
	* class.c (remove_zero_width_bit_fields): The width of the bit field is
	in DECL_SIZE, not in DECL_INITIAL.

gcc/testsuite/ChangeLog
	PR c++/42217
	* g++.dg/other/bitfield4.C: New test.

From-SVN: r154938
2009-12-03 09:33:03 +01:00
Jakub Jelinek
249ccaff22 re PR c++/42256 (483.xalancbmk fails to link)
PR c++/42256
	* optimize.c (maybe_clone_body): Call emit_associated_thunks
	after expand_or_defer_fn_1.

	* g++.dg/inherit/thunk11.C: New test.
	* g++.dg/inherit/thunk11.h: New file.
	* g++.dg/inherit/thunk11-aux.cc: New file.

From-SVN: r154937
2009-12-03 09:03:36 +01:00
Hans-Peter Nilsson
90df451fde mutex_extensions.cc: Adjust dg-error line number.
* testsuite/ext/profile/mutex_extensions.cc: Adjust dg-error line
	number.

From-SVN: r154936
2009-12-03 06:43:51 +00:00
Dave Korn
9957322df4 ggc-page.c (struct free_object): Pull definition out ...
* ggc-page.c (struct free_object): Pull definition out ...
	(struct globals): .. from here.

From-SVN: r154933
2009-12-03 02:04:16 +00:00
David Edelsohn
7837c24708 ffi_darwin.c (ffi_prep_args): Fix typo in INT64 case.
* src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
        case.

From-SVN: r154932
2009-12-02 20:32:21 -05:00
GCC Administrator
315df37387 Daily bump.
From-SVN: r154931
2009-12-03 00:16:36 +00:00
Richard Guenther
793e86a71b fold-const.c (div_if_zero_remainder): Honor that sizetypes are sign-extending.
2009-12-02  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (div_if_zero_remainder): Honor that sizetypes
	are sign-extending.  Simplify.

From-SVN: r154926
2009-12-02 22:49:43 +00:00
Richard Henderson
fc81a3692d re PR tree-optimization/42215 (internal compiler error: verify_stmts failed with -O2 -ftree-loop-distribution)
PR tree-opt/42215
        * tree-loop-distribution.c (build_size_arg_loc): Tidy.
        (generate_memset_zero): Convert to sizetype properly.  Tidy.

From-SVN: r154925
2009-12-02 14:35:21 -08:00
Richard Guenther
cdd0c4d3ff iinline-1.C: Adjust.
2009-12-02  Richard Guenther  <rguenther@suse.de>

	* g++.dg/ipa/iinline-1.C: Adjust.
	* g++.dg/template/cond2.C: Likewise.
	* g++.dg/template/pr35240.C: Likewise.

From-SVN: r154924
2009-12-02 20:33:25 +00:00
Richard Guenther
57e37d2645 lto-streamer-out.c (pack_ts_decl_common_value_fields): Do not pretend we have value exprs.
2009-12-02  Richard Guenther  <rguenther@suse.de>

	* lto-streamer-out.c (pack_ts_decl_common_value_fields):
	Do not pretend we have value exprs.

From-SVN: r154921
2009-12-02 19:35:37 +00:00
Richard Guenther
8e281a8d56 re PR middle-end/41491 (ICE in set_value_range, at tree-vrp.c:386)
2009-12-02  Richard Guenther  <rguenther@suse.de>

	PR middle-end/41491
	* fold-const.c (try_move_mult_to_index): Do not leak
	domain types into the IL.

From-SVN: r154920
2009-12-02 18:15:17 +00:00
Taras Glek
4b90314e2c parser.c (cp_parser_class_specifier): Back out my previous change.
* parser.c (cp_parser_class_specifier): Back out my previous change.
	* semantics.c (begin_class_definition): Back out my previous change.

From-SVN: r154919
2009-12-02 17:50:41 +00:00
Richard Guenther
a881cad635 re PR lto/42088 (flag_gtoggle in free_lang_data hides -fcompare-debug errors)
2009-12-02  Richard Guenther  <rguenther@suse.de>

	PR middle-end/42088
	* tree.c (free_lang_data): Disable if not using LTO.

From-SVN: r154918
2009-12-02 17:13:51 +00:00
Paolo Carlini
29a8405af1 2009-12-02 Paolo Carlini <paolo.carlini@oracle.com>
* Adjust last ChangeLog entry, mention Make-lang.in.

From-SVN: r154916
2009-12-02 15:53:39 +00:00
Paolo Bonzini
4cd5a50a09 re PR c++/29917 (%s substituted with actual words can not be translated correctly (op_error))
2009-12-02  Paolo Bonzini  <bonzini@gnu.org>
	    Shujing Zhao  <pearly.zhao@oracle.com>

	PR c++/29917
	* call.c (op_error): Accept a boolean to indicate no match/ambiguous
	match, instead of a string. Callers adjusted.

	PR c++/34836
	* cp-tree.h (readonly_error_kind): New type.
	(readonly_error): Adjust prototype with new argument.
	* typeck2.c (readonly_error): Accept readonly_error_kind as argument
	and add macro ERROR_FOR_ASSIGNMENT to emit diagnostics.
	* semantics.c (finish_asm_stmt): Adjust readonly_error call.
	* typeck.c (cp_build_unary_op, cp_build_modify_expr): Likewise.

	* decl.c (grokparms, grok_op_properties): Put the diagnostics in full
	sentences for easy translation and wrap the diagnostics into G_() when
	needed.
	(create_array_type_for_decl): Likewise.
	* pt.c (tsubst): Likewise.
	* typeck2.c (cp_build_unary_op): Wrap diagnostic into _().
	* rtti.c (build_dynamic_cast_1): Likewise.

Co-Authored-By: Shujing Zhao <pearly.zhao@oracle.com>

From-SVN: r154915
2009-12-02 15:49:20 +00:00
Richard Guenther
2f697bc476 re PR middle-end/42229 (cancel_loop_tree: bad read causes ice)
2009-12-02  Richard Guenther  <rguenther@suse.de>

	PR middle-end/42229
	* cfgloopmanip.c (remove_path): Avoid cancelling loops
	twice.

From-SVN: r154914
2009-12-02 15:22:01 +00:00
Joseph Myers
ca6f617420 * gcc.pot: Regenerate.
From-SVN: r154911
2009-12-02 14:25:46 +00:00
Joseph Myers
816e8a6ade * cpplib.pot: Regenerate.
From-SVN: r154910
2009-12-02 14:24:09 +00:00
Ulrich Weigand
0878660338 Forgot to add file with last commit.
From-SVN: r154909
2009-12-02 13:58:02 +00:00
Ulrich Weigand
368a05d55d re PR middle-end/42224 (32bit pointers to 32bit pointers abort on 64bit VMS and S390X)
gcc/
	PR middle-end/42224
	* tree.h (int_or_pointer_precision): Remove.
	* tree.c (int_or_pointer_precision): Remove.
	(integer_pow2p): Use TYPE_PRECISION instead.
	(tree_log2): Likewise.
	(tree_floor_log2): Likewise.
	(signed_or_unsigned_type_for): Likewise.
	* fold-const.c (fit_double_type): Likewise.
	* varasm.c (initializer_constant_valid_p): Likewise.

gcc/testsuite/
	PR middle-end/42224
	* gcc.target/s390/pr42224.c: New test.

From-SVN: r154908
2009-12-02 13:50:52 +00:00
Ira Rosen
ca0b0bf89d invoke.texi (-fdump-tree-slp): Document.
* doc/invoke.texi (-fdump-tree-slp): Document.
	(-ftree-vectorizer-verbose): Update.
	(-ftree-slp-vectorize): Document.

From-SVN: r154907
2009-12-02 13:36:47 +00:00
Nick Clifton
2a14229d98 Oops - omitted this part of xstormy16 patch to use __clzhi2() instead of __stormy16_count_leading_zeros.
From-SVN: r154905
2009-12-02 11:15:50 +00:00
Nick Clifton
dafcb54e42 rx.c (rx_conditional_register_usage): Do not warn if no fixed registers are available for interrupt handlers.
* config/rx/rx.c (rx_conditional_register_usage): Do not warn if
        no fixed registers are available for interrupt handlers.  Do not
        fix normal registers.
        (MUST_SAVE_ACC_REGISTER): New macro.
        (rx_get_stack_layout): Create a stack frame for fast interrupt
        handlers, if necessary.  Push extra registers if needed in order
        to save the accumulator.
        (rx_expand_prologue): Create a stack frame for fast interrupt
        handlers, if necessary.
        (rx_expand_builtin_mvfc): Handle the case where there is no
        target.

From-SVN: r154903
2009-12-02 10:59:04 +00:00
Janne Blomqvist
57cdf653e3 Typo in ChangeLog entry for PR fortran/42131
From-SVN: r154900
2009-12-02 11:22:50 +02:00
Jakub Jelinek
db80e34e82 g++spec.c (lang_specific_driver): Remove unused saw_verbose_flag variable.
* g++spec.c (lang_specific_driver): Remove unused saw_verbose_flag
	variable.
	* pt.c (tsubst_pack_expansion): Remove unused first_arg_pack variable.
	* init.c (build_vec_init): Remove unused size variable.
	* typeck2.c (check_narrowing): Remove unused was_decl variable.
	* decl.c (poplevel): Remove unused tmp and real_functionbody
	variables.
	(decls_match): Remove unused tree_name variable.
	(start_decl): Remove unused type variable.
	* parser.c (cp_parser_type_parameter): Remove unused parameter_list
	variable.
	(cp_parser_template_id, cp_parser_explicit_instantiation,
	cp_parser_declarator): Remove unused token variable.
	(cp_parser_simple_type_specifier): Remove unused id variable.
	(cp_parser_parameter_declaration): Remove unused
	greater_than_is_operator_p variable.
	(cp_parser_check_declarator_template_parameters): Remove unused
	member variable.
	(c_parse_file): Remove unused error_occurred variable.
	* cp-gimplify.c (cp_gimplify_init_expr): Remove unused slot variable.
	* typeck.c (cp_build_function_call_vec): Remove unused name variable.
	* class.c (resolve_address_of_overloaded_function): Remove unused
	is_reference variable.
	(build_rtti_vtbl_entries): Remove unused basetype variable.
	* mangle.c (write_template_param): Remove unused parm_level and
	parm_type variables.

From-SVN: r154899
2009-12-02 09:39:10 +01:00
Sebastian Pop
ab0e4a354d lzcount intrinsics.
* config/i386/abmintrin.h (__lzcnt16): New.
	(__lzcnt): New.
	(__lzcnt64): New.
	* config/i386/i386-builtin-types.def (UINT16_FTYPE_UINT16): New.
	* config/i386/i386.c (IX86_BUILTIN_CLZS): New.
	(bdesc_special_args): Add __builtin_clzs.
	(ix86_expand_args_builtin): Handle UINT16_FTYPE_UINT16.

From-SVN: r154895
2009-12-02 05:49:34 +00:00
Sebastian Pop
6a72cb46b2 ABM popcount intrinsics.
* config/i386/abmintrin.h (_mm_popcnt_u32): New.
	(_mm_popcnt_u64): New.

From-SVN: r154894
2009-12-02 05:48:18 +00:00
Sebastian Pop
13c0eb433c ABM intrinsics file.
* config/i386/abmintrin.h: New.
	 * config/i386/i386-c.c (ix86_target_macros_internal): Defined __ABM__.
	 * config/i386/x86intrin.h: Include abmintrin.h when __ABM__ is defined.

From-SVN: r154893
2009-12-02 05:47:26 +00:00
David Edelsohn
6d518d3b72 aix.S (ffi_call_AIX): Convert to more standard register usage.
* src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
        register usage.  Call ffi_prep_args directly.  Add long double
        return value support.
        * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
        applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
        Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
        (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
        mode.
        (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
        into case.
        * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
        Allocate result area between params and FPRs.

From-SVN: r154892
2009-12-01 23:21:08 -05:00
Taras Glek
5e87bf4a14 * parser.c (cp_parser_class_specifier): Set class location to that of IDENTIFIER_NODE instead of '{' when possible.\n* semantics.c (begin_class_definition): Do not overide locations with less precise ones.
From-SVN: r154890
2009-12-02 01:00:39 +00:00
GCC Administrator
9ffd118377 Daily bump.
From-SVN: r154889
2009-12-02 00:16:40 +00:00
Ben Elliston
dcaec9662d natVMURLConnection.cc (guessContentTypeFromBuffer): Mark bytes' and valid' parameters as potentially unused.
* java/net/natVMURLConnection.cc (guessContentTypeFromBuffer):
	Mark `bytes' and `valid' parameters as potentially unused.

From-SVN: r154886
2009-12-02 09:05:25 +11:00
Jason Merrill
0735734176 re PR middle-end/41611 (guard variable is emitted even when the guarded symbol isn't)
PR c++/41611
	* decl2.c (get_guard): Copy DECL_COMDAT.
	(comdat_linkage): Set DECL_COMDAT unconditionally.

From-SVN: r154885
2009-12-01 16:58:04 -05:00
Uros Bizjak
e4ad8df086 vperm-v4sf-1.c (dg-options): Use -msse.
* gcc.target/i386/vperm-v4sf-1.c (dg-options): Use -msse.

From-SVN: r154884
2009-12-01 22:56:40 +01:00
Uros Bizjak
79564f1e93 i386.md (SWI124): Rename from CRC32MODE.
* config/i386/i386.md (SWI124): Rename from CRC32MODE.
	(crc32modesuffix): Remove.
	(crc32modeconstraint): Ditto.
	(sse4_2_crc32<mode>): Update for renamed mode iterator.  Use
	imodesuffix instead of crc32modesuffix and <r>m instead of
	crc32modeconstraint.

From-SVN: r154882
2009-12-01 22:23:55 +01:00
Jakub Jelinek
24b3ff2c53 re PR c++/3187 (gcc lays down two copies of constructors)
PR c++/3187
	* optimize.c (cdtor_comdat_group): New function.
	(maybe_clone_body): Also optimize DECL_COMDAT base/complete cdtors
	and in that case put also the deleting dtor in the same comdat group
	as base and complete dtor if dtor is virtual.

From-SVN: r154880
2009-12-01 21:09:37 +01:00
Jakub Jelinek
4f2eb765d7 re PR debug/42234 (internal compiler error: verify_ssa failed)
PR c++/42234
	* tree-cfgcleanup.c (cleanup_omp_return): Don't ICE if control_bb
	contains no statements.

	* g++.dg/gomp/pr42234.C: New test.

From-SVN: r154878
2009-12-01 20:41:52 +01:00
Grigori Fursin
090fa0ab61 cgraphunit.c (plugin.h): Include.
2009-12-01  Grigori Fursin  <grigori.fursin@inria.fr>
            Joern Rennecke  <amylaar@spamcop.net>

        * cgraphunit.c (plugin.h): Include.
        (ipa_passes): Invoke PLUGIN_ALL_IPA_PASSES_START /
        PLUGIN_ALL_IPA_PASSES_END at start / end of processing.
        * gcc-plugin.h (highlev-plugin-common.h, hashtab.h): Include.
        (enum plugin_event): Define by including plugin.def.
        Last enumerator is now called PLUGIN_EVENT_FIRST_DYNAMIC.
        (plugin_event_name): Change type to const char **.
        (get_event_last, get_named_event_id, unregister_callback): Declare.
        (register_callback): Change type of event argument to int.
        (highlev-plugin-common.h): New file.
        * Makefile.in (GCC_PLUGIN_H): Add highlev-plugin-common.h and
        $(HASHTAB_H)
        (tree-optimize.o passes.o): Depend on $(PLUGIN_H).
        (PLUGIN_HEADERS): Add opts.h, $(PARAMS_H) and plugin.def.
        (s-header-vars): New rule.
        (install-plugin): Depend on s-header-vars.  Install b-header-vars.
        * params.c (get_num_compiler_params): New function.
        * params.h (get_num_compiler_params): Declare.
        * passes.c (plugin.h): Include.
        (make_pass_instance): Invoke PLUGIN_NEW_PASS.
        (do_per_function_toporder, pass_init_dump_file): No longer static.
        (pass_fini_dump_file): Likewise.
        (execute_one_pass): Likewise.  Invoke PLUGIN_OVERRIDE_GATE and
        PLUGIN_PASS_EXECUTION.
        (execute_ipa_pass_list): Invoke PLUGIN_EARLY_GIMPLE_PASSES_START and
        PLUGIN_EARLY_GIMPLE_PASSES_END.
        * plugin.c (plugin_event_name_init): New array, defined by
        including plugin.def.
        (FMT_FOR_PLUGIN_EVENT): Update.
        (plugin_event_name): Change type to const char ** and initialize
        to plugin_event_name_init.
        (event_tab, event_last, event_horizon): New variable.
        (get_event_last): New function.
        (plugin_callbacks_init): New array.
        (plugin_callbacks: Change type to struct callback_info **.
        Initialize to plugin_callbacks_init.
        (htab_event_eq, get_named_event_id, unregister_callback): New function.
        (invoke_plugin_va_callbacks): Likewise.
        (register_callback): Change type of event argument to int.
        Handle new events.  Allow dynamic events.
        (invoke_plugin_callbacks): Likewise.  Return success status.
        (plugins_active_p): Allow dynamic callbacks.
        * plugin.def: New file.
        * plugin.h (invoke_plugin_callbacks): Update prototype.
        (invoke_plugin_va_callbacks): Declare.
        * tree-optimize.c (plugin.h): Include.
        (tree_rest_of_compilation): Invoke PLUGIN_ALL_PASSES_START and
        PLUGIN_ALL_PASSES_END.
        * tree-pass.h (execute_one_pass, pass_init_dump_file): Declare.
        (pass_fini_dump_file, do_per_function_toporder): Likewise.
        * doc/plugin.texi: Document new event types.

Co-Authored-By: Joern Rennecke <amylaar@spamcop.net>

From-SVN: r154877
2009-12-01 19:12:29 +00:00
Janne Blomqvist
d0d565e1b0 PR fortran/42131 Sign test using ternary operator
From-SVN: r154876
2009-12-01 20:32:37 +02:00
Martin Jambor
d557591da1 re PR tree-optimization/42237 (internal compiler error: verify_stmts failed)
2009-12-01  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/42237
	* tree-sra.c (sra_ipa_modify_assign): Split gimple_reg_type assignments
	in between references into two.

	* testsuite/gcc.c-torture/compile/pr42237.c: New test.

From-SVN: r154874
2009-12-01 18:39:44 +01:00
Richard Guenther
ee0192a223 tree-inline.c (copy_tree_body_r): Do not set TREE_BLOCK to the block of the call when remapping a type.
2009-12-01  Richard Guenther  <rguenther@suse.de>

	* tree-inline.c (copy_tree_body_r): Do not set TREE_BLOCK
	to the block of the call when remapping a type.

From-SVN: r154873
2009-12-01 14:22:50 +00:00