GCC Administrator [Fri, 4 Dec 2009 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r154963
Joseph Myers [Thu, 3 Dec 2009 21:30:23 +0000 (21:30 +0000)]
* gcc.pot: Regenerate.
From-SVN: r154958
David Edelsohn [Thu, 3 Dec 2009 19:09:29 +0000 (19:09 +0000)]
re PR libffi/42243 (powerpc-apple-darwin9 libffi failures)
PR libffi/42243
* src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
From-SVN: r154956
Richard Guenther [Thu, 3 Dec 2009 16:06:03 +0000 (16:06 +0000)]
cgraphunit.c (assemble_thunk): Use DECL_ASSEMBLER_NAME instead of DECL_NAME for the entry point.
2009-12-03 Richard Guenther <rguenther@suse.de>
* cgraphunit.c (assemble_thunk): Use DECL_ASSEMBLER_NAME
instead of DECL_NAME for the entry point.
From-SVN: r154954
Jakub Jelinek [Thu, 3 Dec 2009 15:34:56 +0000 (16:34 +0100)]
re PR middle-end/42049 (ICE with -O2 - internal compiler error: in expand_expr_real_1, at expr.c:9314)
PR middle-end/42049
* builtins.c (expand_builtin_strcpy_args): Handle COMPOUND_EXPRs
potentially returned from folding strcpy.
* gcc.c-torture/compile/pr42049.c: New test.
From-SVN: r154952
Eric Botcazou [Thu, 3 Dec 2009 15:10:58 +0000 (15:10 +0000)]
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
Richard Earnshaw [Thu, 3 Dec 2009 14:26:46 +0000 (14:26 +0000)]
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
Paolo Carlini [Thu, 3 Dec 2009 14:20:56 +0000 (14:20 +0000)]
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
Uros Bizjak [Thu, 3 Dec 2009 14:02:10 +0000 (15:02 +0100)]
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
Michael Matz [Thu, 3 Dec 2009 13:36:32 +0000 (13:36 +0000)]
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
Bernd Schmidt [Thu, 3 Dec 2009 12:58:30 +0000 (12:58 +0000)]
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
Ken Werner [Thu, 3 Dec 2009 11:47:11 +0000 (11:47 +0000)]
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
Uros Bizjak [Thu, 3 Dec 2009 10:35:31 +0000 (11:35 +0100)]
cls_longdouble_va.c (main): Fix format string.
* testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
From-SVN: r154941
Paolo Carlini [Thu, 3 Dec 2009 10:18:04 +0000 (10:18 +0000)]
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
Dodji Seketeli [Thu, 3 Dec 2009 08:33:03 +0000 (08:33 +0000)]
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
Jakub Jelinek [Thu, 3 Dec 2009 08:03:36 +0000 (09:03 +0100)]
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
Hans-Peter Nilsson [Thu, 3 Dec 2009 06:43:51 +0000 (06:43 +0000)]
mutex_extensions.cc: Adjust dg-error line number.
* testsuite/ext/profile/mutex_extensions.cc: Adjust dg-error line
number.
From-SVN: r154936
Dave Korn [Thu, 3 Dec 2009 02:04:16 +0000 (02:04 +0000)]
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
David Edelsohn [Thu, 3 Dec 2009 01:32:21 +0000 (01:32 +0000)]
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
GCC Administrator [Thu, 3 Dec 2009 00:16:36 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r154931
Richard Guenther [Wed, 2 Dec 2009 22:49:43 +0000 (22:49 +0000)]
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
Richard Henderson [Wed, 2 Dec 2009 22:35:21 +0000 (14:35 -0800)]
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
Richard Guenther [Wed, 2 Dec 2009 20:33:25 +0000 (20:33 +0000)]
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
Richard Guenther [Wed, 2 Dec 2009 19:35:37 +0000 (19:35 +0000)]
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
Richard Guenther [Wed, 2 Dec 2009 18:15:17 +0000 (18:15 +0000)]
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
Taras Glek [Wed, 2 Dec 2009 17:50:41 +0000 (17:50 +0000)]
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
Richard Guenther [Wed, 2 Dec 2009 17:13:51 +0000 (17:13 +0000)]
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
Paolo Carlini [Wed, 2 Dec 2009 15:53:39 +0000 (15:53 +0000)]
2009-12-02 Paolo Carlini <paolo.carlini@oracle.com>
* Adjust last ChangeLog entry, mention Make-lang.in.
From-SVN: r154916
Paolo Bonzini [Wed, 2 Dec 2009 15:49:20 +0000 (15:49 +0000)]
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
Richard Guenther [Wed, 2 Dec 2009 15:22:01 +0000 (15:22 +0000)]
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
Joseph Myers [Wed, 2 Dec 2009 14:25:46 +0000 (14:25 +0000)]
* gcc.pot: Regenerate.
From-SVN: r154911
Joseph Myers [Wed, 2 Dec 2009 14:24:09 +0000 (14:24 +0000)]
* cpplib.pot: Regenerate.
From-SVN: r154910
Ulrich Weigand [Wed, 2 Dec 2009 13:58:02 +0000 (13:58 +0000)]
Forgot to add file with last commit.
From-SVN: r154909
Ulrich Weigand [Wed, 2 Dec 2009 13:50:52 +0000 (13:50 +0000)]
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
Ira Rosen [Wed, 2 Dec 2009 13:36:47 +0000 (13:36 +0000)]
invoke.texi (-fdump-tree-slp): Document.
* doc/invoke.texi (-fdump-tree-slp): Document.
(-ftree-vectorizer-verbose): Update.
(-ftree-slp-vectorize): Document.
From-SVN: r154907
Nick Clifton [Wed, 2 Dec 2009 11:15:50 +0000 (11:15 +0000)]
Oops - omitted this part of xstormy16 patch to use __clzhi2() instead of __stormy16_count_leading_zeros.
From-SVN: r154905
Nick Clifton [Wed, 2 Dec 2009 10:59:04 +0000 (10:59 +0000)]
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
Janne Blomqvist [Wed, 2 Dec 2009 09:22:50 +0000 (11:22 +0200)]
Typo in ChangeLog entry for PR fortran/42131
From-SVN: r154900
Jakub Jelinek [Wed, 2 Dec 2009 08:39:10 +0000 (09:39 +0100)]
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
Sebastian Pop [Wed, 2 Dec 2009 05:49:34 +0000 (05:49 +0000)]
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
Sebastian Pop [Wed, 2 Dec 2009 05:48:18 +0000 (05:48 +0000)]
ABM popcount intrinsics.
* config/i386/abmintrin.h (_mm_popcnt_u32): New.
(_mm_popcnt_u64): New.
From-SVN: r154894
Sebastian Pop [Wed, 2 Dec 2009 05:47:26 +0000 (05:47 +0000)]
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
David Edelsohn [Wed, 2 Dec 2009 04:21:08 +0000 (04:21 +0000)]
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
Taras Glek [Wed, 2 Dec 2009 01:00:39 +0000 (01:00 +0000)]
* 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
GCC Administrator [Wed, 2 Dec 2009 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r154889
Ben Elliston [Tue, 1 Dec 2009 22:05:25 +0000 (22:05 +0000)]
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
Jason Merrill [Tue, 1 Dec 2009 21:58:04 +0000 (16:58 -0500)]
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
Uros Bizjak [Tue, 1 Dec 2009 21:56:40 +0000 (22:56 +0100)]
vperm-v4sf-1.c (dg-options): Use -msse.
* gcc.target/i386/vperm-v4sf-1.c (dg-options): Use -msse.
From-SVN: r154884
Uros Bizjak [Tue, 1 Dec 2009 21:23:55 +0000 (22:23 +0100)]
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
Jakub Jelinek [Tue, 1 Dec 2009 20:09:37 +0000 (21:09 +0100)]
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
Jakub Jelinek [Tue, 1 Dec 2009 19:41:52 +0000 (20:41 +0100)]
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
Grigori Fursin [Tue, 1 Dec 2009 19:12:29 +0000 (20:12 +0100)]
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
Janne Blomqvist [Tue, 1 Dec 2009 18:32:37 +0000 (20:32 +0200)]
PR fortran/42131 Sign test using ternary operator
From-SVN: r154876
Martin Jambor [Tue, 1 Dec 2009 17:39:44 +0000 (18:39 +0100)]
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
Richard Guenther [Tue, 1 Dec 2009 14:22:50 +0000 (14:22 +0000)]
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
Martin Jambor [Tue, 1 Dec 2009 10:51:07 +0000 (11:51 +0100)]
cgraph.h (struct cgraph_edge): Reorder fields.
2009-12-01 Martin Jambor <mjambor@suse.cz>
* cgraph.h (struct cgraph_edge): Reorder fields. Make loop_nest
unsigned short int.
* ipa-prop.h (struct ipa_param_call_note): Likewise.
* ipa-prop.c (ipa_note_param_call): Initialize note->loop_nest.
From-SVN: r154872
Pascal Obry [Tue, 1 Dec 2009 10:29:57 +0000 (10:29 +0000)]
s-osprim-mingw.adb (Get_Base_Time): Make sure that the base time is taken at a clock tick boundary.
2009-12-01 Pascal Obry <obry@adacore.com>
* s-osprim-mingw.adb (Get_Base_Time): Make sure that the base time is
taken at a clock tick boundary.
From-SVN: r154871
Arnaud Charlet [Tue, 1 Dec 2009 10:24:39 +0000 (11:24 +0100)]
[multiple changes]
2009-12-01 Thomas Quinot <quinot@adacore.com>
* g-sechas.ads (GNAT.Secure_Hashes.H."=" on Context): Make abstract.
2009-12-01 Matthew Gingell <gingell@adacore.com>
* adadecode.c: Allow compilation when building the run time in the gnat
runtime.
(__gnat_decode): Strip the .nnnn suffix from names of nested functions.
* gcc-interface/Makefile.in: Ada adadecode to LIBGNAT_SRCS and
LIBGNAT_OBJS.
2009-12-01 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Check_Files): Quote the path names as they may include
spaces.
2009-12-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): If the defining identifier
has already been declared, it may have been rewritten as a renaming
declaration.
From-SVN: r154870
Richard Guenther [Tue, 1 Dec 2009 10:02:24 +0000 (10:02 +0000)]
final.c (rest_of_clean_state): If -fcompare-debug is given dump final insns without UIDs.
2009-12-01 Richard Guenther <rguenther@suse.de>
* final.c (rest_of_clean_state): If -fcompare-debug is
given dump final insns without UIDs.
* tree-ssa-live.c (remove_unused_scope_block_p): Remove
after_inlining checks.
From-SVN: r154869
Arnaud Charlet [Tue, 1 Dec 2009 09:52:51 +0000 (10:52 +0100)]
[multiple changes]
2009-12-01 Ed Schonberg <schonberg@adacore.com>
* einfo.ads: Clarify use of Is_Private_Primitive.
* sem_ch6.adb (Analyze_Subprogram_Declaration): An operation is a
private primitive operation only if it is declared in the scope of the
private controlling type.
* exp_ch9.adb (Build_Wrapper_Spec): Build wrappers for private
protected operations as well.
2009-12-01 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Disable front-end
optimizations in CodePeer mode, to keep the tree as close to the source
code as possible, and also to avoid inconsistencies between trees when
using different optimization switches.
2009-12-01 Thomas Quinot <quinot@adacore.com>
* scos.ads: Updated specification of source coverage obligation
information.
2009-12-01 Thomas Quinot <quinot@adacore.com>
* g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
a-ststio.adb, s-commun.adb, s-commun.ads, g-socket.adb,
g-socket.ads (System.Communications.Last_Index): For the case where no
element has been transferred and Item'First =
Stream_Element_Offset'First, raise CONSTRAINT_ERROR.
2009-12-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Install_Siblings): A private with_clause on some child
unit U in an ancestor of the current unit must be ignored if the
current unit has a regular with_clause on U.
From-SVN: r154868
Paolo Carlini [Tue, 1 Dec 2009 09:19:47 +0000 (09:19 +0000)]
re PR c++/42057 (ICE with invalid parameter of virtual function)
2009-12-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/42057
* g++.dg/parse/crash54.C: New.
From-SVN: r154865
Chao-ying Fu [Tue, 1 Dec 2009 01:40:28 +0000 (01:40 +0000)]
dsp-lhx.c: New test.
2009-11-30 Chao-ying Fu <fu@mips.com>
* gcc.target/mips/dsp-lhx.c: New test.
* gcc.target/mips/dsp-no-lhx.c: New test.
From-SVN: r154862
Chao-ying Fu [Tue, 1 Dec 2009 01:37:52 +0000 (01:37 +0000)]
mips-dsp.md (mips_lhx_<mode>): Use sign_extend.
2009-11-30 Chao-ying Fu <fu@mips.com>
* config/mips/mips-dsp.md (mips_lhx_<mode>): Use sign_extend.
From-SVN: r154861
GCC Administrator [Tue, 1 Dec 2009 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r154859
Dave Korn [Tue, 1 Dec 2009 00:09:30 +0000 (00:09 +0000)]
libstdc++.exp (libstdc++_init): Add host-dependent settings for LC_ALL and LANG.
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* testsuite/lib/libstdc++.exp (libstdc++_init): Add host-dependent
settings for LC_ALL and LANG.
From-SVN: r154856
David Edelsohn [Mon, 30 Nov 2009 23:34:33 +0000 (23:34 +0000)]
re PR libffi/35484 (libffi doesn't support AIX 64bit)
2009-11-30 David Edelsohn <edelsohn@gnu.org>
PR target/35484
* src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
AIX64.
* src/powerpc/aix.S: Implement AIX64 version.
* src/powerpc/aix_closure.S: Implement AIX64 version.
(ffi_closure_ASM): Use extsb, lha and displament addresses.
* src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
support.
(ffi_prep_cif_machdep): Same.
(ffi_call): Same.
(ffi_closure_helper_DARWIN): Same.
From-SVN: r154855
Dave Korn [Mon, 30 Nov 2009 23:30:57 +0000 (23:30 +0000)]
libgomp.exp (libgomp_init): Add host-dependent settings for LC_ALL and LANG.
libgomp/ChangeLog
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
settings for LC_ALL and LANG.
gcc/testsuite/ChangeLog
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* lib/g++.exp (g++_init): Add host-dependent settings for
LC_ALL and LANG.
* lib/gcc-dg.exp: Likewise.
* lib/options.exp: Likewise.
* lib/objc.exp (objc_init): Likewise.
* lib/gfortran.exp (gfortran_init): Likewise.
libjava/ChangeLog
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* testsuite/lib/libjava.exp (libjava_init): Add host-dependent
settings for LC_ALL and LANG.
From-SVN: r154854
Dave Korn [Mon, 30 Nov 2009 23:22:04 +0000 (23:22 +0000)]
configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers.
gcc/ChangeLog:
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect
status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Define list of --wrap
options for Cygwin DLL libstdc++ support wrappers.
(CXX_WRAP_SPEC_OPT): Define spec to use wrappers or not by default
according to defined value of USE_CYGWIN_LIBSTDCXX_WRAPPERS.
(CXX_WRAP_SPEC): Define entire wrapper spec in or out according to
whether USE_CYGWIN_LIBSTDCXX_WRAPPERS is even defined or not.
(LINK_SPEC): Include CXX_WRAP_SPEC.
* gcc/config/i386/winnt.c (wrapper_strcmp): New qsort helper function.
(i386_find_on_wrapper_list): Check if a function is found on the list
of libstdc++ wrapper options.
(i386_pe_file_end): If we are importing a wrapped function, also emit
an external declaration for the real version.
* config/i386/cygming.opt (muse-libstdc-wrappers): New option for
Cygwin targets. Update copyright year.
libstdc++-v3/ChangeLog:
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* libstdc++-v3/acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Don't disable
on PE targets.
* libstdc++-v3/configure: Regenerate.
* libstdc++-v3/configure.host: Add libtool DLL options for Cygwin
and MinGW platforms.
* libstdc++-v3/include/bits/c++config (_GLIBCXX_VISIBILITY_ATTR): On
platforms that don't support visibility, allow them to declare a macro
_GLIBCXX_PSEUDO_VISIBILITY that is applied in place of visibility.
(_GLIBCXX_PSEUDO_VISIBILITY): Supply empty default if not declared by
CPU- or OS-specific headers.
* libstdc++-v3/config/os/newlib/os_defines.h
(_GLIBCXX_PSEUDO_VISIBILITY_default): New macro for dllimport.
(_GLIBCXX_PSEUDO_VISIBILITY_hidden): New empty macro.
(_GLIBCXX_PSEUDO_VISIBILITY): Evaluate to one of the above.
* libstdc++-v3/config/os/mingw32/os_defines.h
(_GLIBCXX_PSEUDO_VISIBILITY_default,
_GLIBCXX_PSEUDO_VISIBILITY_hidden,
_GLIBCXX_PSEUDO_VISIBILITY): Likewise.
From-SVN: r154853
Paolo Carlini [Mon, 30 Nov 2009 22:45:06 +0000 (22:45 +0000)]
re PR c++/40371 (ICE with template operator)
cp/
2009-11-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/40371
* call.c (add_template_candidate_real): Early return NULL if
the arglist length is smaller than skip_without_in_chrg; tidy.
testsuite/
2009-11-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/40371
* g++.dg/template/crash93.C: New.
From-SVN: r154852
Alexander Monakov [Mon, 30 Nov 2009 22:08:35 +0000 (01:08 +0300)]
Correct testcase
2009-11-29 Alexander Monakov <amonakov@gcc.gnu.org>
* testsuite/g++.dg/graphite/pr42130.C: Correct testcase.
From-SVN: r154851
Tobias Grosser [Mon, 30 Nov 2009 22:08:16 +0000 (22:08 +0000)]
Fix comments.
2009-11-24 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-clast-to-gimple.c (try_mark_loop_parallel,
graphite_create_new_loop_guard, translate_clast_for): Fix comments.
From-SVN: r154850
Tobias Grosser [Mon, 30 Nov 2009 22:07:59 +0000 (22:07 +0000)]
Protect loops that might be executed zero times.
2009-11-23 Tobias Grosser <grosser@fim.uni-passau.de>
PR middle-end/42130
* graphite-clast-to-gimple.c (graphite_create_new_loop_guard,
translate_clast_for_loop): New.
(translate_clast_for): Add a condition around the loop, to do not
execute loops with zero iterations.
* testsuite/g++.dg/graphite/pr42130.C: New.
* testsuite/gcc.dg/graphite/pr35356-2.c: Adapt.
From-SVN: r154849
Tobias Grosser [Mon, 30 Nov 2009 22:07:38 +0000 (22:07 +0000)]
Remove context_loop and level from translate_clast_* methods.
2009-11-23 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-clast-to-gimple.c (try_mark_loop_parallel): New.
(translate_clast_for, translate_clast_guard, translate_clast, gloog):
Remove context_loop and level.
From-SVN: r154848
Tobias Grosser [Mon, 30 Nov 2009 22:07:18 +0000 (22:07 +0000)]
Simplify translate_clast_* methods
2009-11-23 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-clast-to-gimple.c (translate_clast_user,
translate_clast_for, translate_clast_guard): Simplify and move common
elements to translate_clast().
(translate_clast): Simplify and get common elements.
From-SVN: r154847
Steve Ellcey [Mon, 30 Nov 2009 22:06:58 +0000 (22:06 +0000)]
pr41551.c: New test.
2009-11-30 Steve Ellcey <sje@cup.hp.com>
* gcc.dg/pr41551.c: New test.
From-SVN: r154846
Tobias Grosser [Mon, 30 Nov 2009 22:06:54 +0000 (22:06 +0000)]
split translate_clast into single methods
2009-11-23 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-clast-to-gimple.c (translate_clast_user,
translate_clast_for, translate_clast_guard): Split out of
translate_clast.
From-SVN: r154845
Tobias Grosser [Mon, 30 Nov 2009 22:06:27 +0000 (22:06 +0000)]
Do not abuse sese for codegeneration
CLooG automatically frees the names list, so sharing SESE_PARAMS_NAMES
between gloog() and debug_generated_program() leads to freeing them
twice. As both SESE_PARAM_NAMES and SESE_PARAMS_INDEX are code
generation data structures remove them and the functions working on them
from sese.h and put them in clast-to-gimple.
2009-11-21 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-clast-to-gimple.c (clast_name_index, new_clast_name_index,
clast_name_to_index, save_clast_name_index, debug_clast_name_index,
debug_clast_name_indexes_1, debug_clast_name_indexes,
clast_name_index_elt_info, eq_clast_name_indexes): Moved from sese.h.
(clast_name_to_gcc, clast_to_gcc_expression,
clast_to_gcc_expression_red, gcc_type_for_clast_expr,
gcc_type_for_clast_eq, graphite_translate_clast_equation,
graphite_create_guard_cond_expr, graphite_create_new_loop,
translate_clast): Add params_index.
(initialize_cloog_names): Create parameter strings from scratch, do
not reference other strings.
(create_params_index): New.
(gloog): Initialize params_index.
* graphite-scop-detection (free_scops_1): Removed.
(limit_scops): Use normal free_scops.
* graphite-sese-to-poly.c (save_var_names): Removed.
(parameter_index_in_region): Do not initialize SESE_PARAM_NAMES
and SESE_PARAMS_INDEX.
* sese.c (new_sese, free_sese): Dito.
* sese.h (struct sese): Remove params_index, params_names.
(SESE_PARAMS_INDEX, SESE_PARAMS_NAMES): Removed.
From-SVN: r154844
Steve Ellcey [Mon, 30 Nov 2009 22:06:19 +0000 (22:06 +0000)]
function.c (instantiate_virtual_regs_in_insn): Copy to new reg before forcing mode.
2009-11-30 Steve Ellcey <sje@cup.hp.com>
Jakub Jelinek <jakub@redhat.com>
* function.c (instantiate_virtual_regs_in_insn): Copy to new reg
before forcing mode.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r154843
Anatoly Sokolov [Mon, 30 Nov 2009 21:38:46 +0000 (00:38 +0300)]
sh.c (sh_promote_prototypes): Make static.
* config/sh/sh.c (sh_promote_prototypes): Make static.
(sh_function_value, sh_libcall_value, sh_function_value_regno_p): New
functions.
(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare.
* config/sh/sh.h: (FUNCTION_VALUE_REGNO_P): Redefine, use
sh_function_value_regno_p.
(FUNCTION_VALUE, LIBCALL_VALUE): Remove.
* config/sh/sh-protos.h (sh_function_value_regno_p): Declare.
(sh_promote_prototypes) : Remove.
From-SVN: r154842
Rainer Orth [Mon, 30 Nov 2009 21:12:13 +0000 (21:12 +0000)]
s-oscons-tmplt.c: Only define _XOPEN5, IOV_MAX if _XOPEN_IOV_MAX is defined.
* s-oscons-tmplt.c [__mips && __sgi]: Only define _XOPEN5, IOV_MAX
if _XOPEN_IOV_MAX is defined.
From-SVN: r154841
Janus Weil [Mon, 30 Nov 2009 20:43:06 +0000 (21:43 +0100)]
backport: re PR fortran/42053 ([OOP] SELECT TYPE: reject duplicate CLASS IS blocks)
merge from fortran-dev branch:
gcc/fortran/
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/42053
* resolve.c (resolve_select_type): Check for duplicate CLASS IS blocks.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/41631
* decl.c (gfc_match_derived_decl): Set extension level.
* gfortran.h (symbol_attribute): Expand 'extension' bit field to 8 bit.
* iresolve.c (gfc_resolve_extends_type_of): Return value of
'is_extension_of' has kind=4.
* match.c (select_type_set_tmp,gfc_match_class_is): Create temporary
for CLASS IS blocks.
* module.c (MOD_VERSION): Bump module version.
(ab_attribute,attr_bits): Remove AB_EXTENSION.
(mio_symbol_attribute): Handle expanded 'extension' field.
* resolve.c (resolve_select_type): Implement CLASS IS blocks.
(resolve_fl_variable_derived): Show correct type name.
* symbol.c (gfc_build_class_symbol): Set extension level.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
* intrinsic.h (gfc_resolve_extends_type_of): Add prototype.
* intrinsic.c (add_functions): Use 'gfc_resolve_extends_type_of'.
* iresolve.c (gfc_resolve_extends_type_of): New function, which
replaces the call to EXTENDS_TYPE_OF by the library function
'is_extension_of' and modifies the arguments.
* trans-intrinsic.c (gfc_conv_extends_type_of): Removed.
(gfc_conv_intrinsic_function): FOR EXTENDS_TYPE_OF, don't call
gfc_conv_extends_type_of but gfc_conv_intrinsic_funcall.
2009-11-30 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
* decl.c (encapsulate_class_symbol): Replaced by
'gfc_build_class_symbol'.
(build_sym,build_struct): Call 'gfc_build_class_symbol'.
(gfc_match_derived_decl): Replace vindex by hash_value.
* dump-parse-tree.c (show_symbol): Replace vindex by hash_value.
* gfortran.h (symbol_attribute): Add field 'vtab'.
(gfc_symbol): Replace vindex by hash_value.
(gfc_class_esym_list): Ditto.
(gfc_get_derived_type,gfc_build_class_symbol,gfc_find_derived_vtab):
New prototypes.
* module.c (mio_symbol): Replace vindex by hash_value.
* resolve.c (vindex_expr): Rename to 'hash_value_expr'.
(resolve_class_compcall,resolve_class_typebound_call): Renamed
'vindex_expr'.
(resolve_select_type): Replace $vindex by $vptr->$hash.
* symbol.c (gfc_add_save): Handle vtab symbols.
(gfc_type_compatible): Rewrite.
(gfc_build_class_symbol): New function which replaces
'encapsulate_class_symbol'.
(gfc_find_derived_vtab): New function to set up a vtab symbol for a
derived type.
* trans-decl.c (gfc_create_module_variable): Handle vtab symbols.
* trans-expr.c (select_class_proc): Replace vindex by hash_value.
(gfc_conv_derived_to_class): New function to construct a temporary
CLASS variable from a derived type expression.
(gfc_conv_procedure_call): Call 'gfc_conv_derived_to_class'.
(gfc_conv_structure): Initialize the $extends and $size fields of
vtab symbols.
(gfc_trans_class_assign): Replace $vindex by $vptr. Remove the $size
assignment.
* trans-intrinsic.c (gfc_conv_same_type_as): Replace $vindex by
$vptr->$hash, and replace vindex by hash_value.
* trans-stmt.c (gfc_trans_allocate): Insert $vptr references, replace
$vindex by $vptr. Remove the $size assignment.
* trans-types.c (gfc_get_derived_type): Make it non-static.
gcc/testsuite/
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/42053
* gfortran.dg/select_type_9.f03: New.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/41631
* gfortran.dg/extends_type_of_1.f03: Fix invalid test case.
* gfortran.dg/module_md5_1.f90: Adjusted MD5 sum.
* gfortran.dg/select_type_1.f03: Remove FIXMEs.
* gfortran.dg/select_type_2.f03: Ditto.
* gfortran.dg/select_type_8.f03: New test.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
* gfortran.dg/extends_type_of_1.f03: New test.
* gfortran.dg/same_type_as_1.f03: Extended.
2009-11-30 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/class_4c.f03: Add dg-additional-sources.
* gfortran.dg/class_4d.f03: Rename module. Cleanup modules.
libgfortran/
2009-11-30 Janus Weil <janus@gcc.gnu.org>
* gfortran.map: Add _gfortran_is_extension_of.
* Makefile.am: Add intrinsics/extends_type_of.c.
* Makefile.in: Regenerated.
* intrinsics/extends_type_of.c: New file.
From-SVN: r154840
Thomas Koenig [Mon, 30 Nov 2009 20:35:41 +0000 (20:35 +0000)]
re PR fortran/42131 (Weird translation of DO loops)
2009-11-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/42131
* trans-stmt.c (gfc_trans_do): Calculate loop count
without if statements.
From-SVN: r154839
Julian Brown [Mon, 30 Nov 2009 19:40:28 +0000 (19:40 +0000)]
arm.h (PREFERRED_RELOAD_CLASS): Don't restrict Thumb-2 reloads to LO_REGS.
gcc/
* config/arm/arm.h (PREFERRED_RELOAD_CLASS): Don't restrict Thumb-2
reloads to LO_REGS.
From-SVN: r154838
Janis Johnson [Mon, 30 Nov 2009 19:14:58 +0000 (19:14 +0000)]
re PR testsuite/42212 (ERROR: tcl error sourcing /Users/regress/tbox/svn-gcc/gcc/testsuite/gcc.target/powerpc/powerpc.exp.)
PR testsuite/42212
* gcc.target/powerpc/regnames-1.c: Add missing brace dg-do.
From-SVN: r154837
Richard Henderson [Mon, 30 Nov 2009 18:26:55 +0000 (10:26 -0800)]
Implement vec_perm broadcast, and tidy lots of patterns to help.
From-SVN: r154836
Martin Jambor [Mon, 30 Nov 2009 17:59:57 +0000 (18:59 +0100)]
re PR middle-end/42196 (ICE when SRAing partial assigments to complex number)
2009-11-30 Martin Jambor <mjambor@suse.cz>
PR middle-end/42196
* tree-sra.c (struct access): New field grp_different_types.
(dump_access): Dump grp_different_types.
(compare_access_positions): Prefer scalars and vectors over other
scalar types.
(sort_and_splice_var_accesses): Set grp_different_types if appropriate.
(sra_modify_expr): Use the original also when dealing with a complex
or vector group accessed as multiple types.
* testsuite/gcc.c-torture/compile/pr42196-1.c: New test.
* testsuite/gcc.c-torture/compile/pr42196-2.c: New test.
* testsuite/gcc.c-torture/compile/pr42196-3.c: New test.
From-SVN: r154834
Richard Henderson [Mon, 30 Nov 2009 17:36:07 +0000 (09:36 -0800)]
i386.c (avx_vperm2f128_parallel): New.
* config/i386/i386.c (avx_vperm2f128_parallel): New.
* config/i386/i386-protos.h: Declare it.
* config/i386/predicates.md (avx_vperm2f128_v8sf_operand,
avx_vperm2f128_v8si_operand, avx_vperm2f128_v4df_operand): New.
* config/i386/sse.md (avx_vperm2f128<mode>3): Change to expander.
(*avx_vperm2f128<mode>_full): Renamed from avx_vperm2f128<mode>3.
(*avx_vperm2f128<mode>_nozero): New.
From-SVN: r154832
Richard Henderson [Mon, 30 Nov 2009 16:56:37 +0000 (08:56 -0800)]
i386-builtin-types.def (V4DF_FTYPE_V4DF_V4DF_V4DI): New.
* config/i386/i386-builtin-types.def (V4DF_FTYPE_V4DF_V4DF_V4DI): New.
(V8SF_FTYPE_V8SF_V8SF_V8SI): New.
* config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Support
V4DF and V8SF for AVX; relax constraint on V4SF to SSE1 from SSE2.
(IX86_BUILTIN_VEC_PERM_V4DF, IX86_BUILTIN_VEC_PERM_V8SF): New.
(bdesc_args): Add them.
(ix86_expand_builtin): Expand them.
(expand_vec_perm_pshufb2): Only operate on 16-byte vectors.
From-SVN: r154831
Joseph Myers [Mon, 30 Nov 2009 16:38:14 +0000 (16:38 +0000)]
largefile.m4 (ACX_LARGEFILE): Require AC_CANONICAL_HOST and AC_CANONICAL_TARGET.
* largefile.m4 (ACX_LARGEFILE): Require AC_CANONICAL_HOST and
AC_CANONICAL_TARGET.
From-SVN: r154830
Arnaud Charlet [Mon, 30 Nov 2009 16:31:31 +0000 (17:31 +0100)]
[multiple changes]
2009-11-30 Vasiliy Fofanov <fofanov@adacore.com>
* vms_data.ads: Add new VMS qualifiers,
REVERSE_BIT_ORDER/NOREVERSE_BIT_ORDER, to support warnings on bit order
effects.
2009-11-30 Thomas Quinot <quinot@adacore.com>
* exp_ch9.adb, exp_ch9.ads, sem_util.ads: Minor reformatting.
2009-11-30 Gary Dismukes <dismukes@adacore.com>
* sem_prag.adb: Fix spelling error.
From-SVN: r154829
Arnaud Charlet [Mon, 30 Nov 2009 16:24:37 +0000 (17:24 +0100)]
[multiple changes]
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.ads (Build_Private_Protected_Declaration): For a protected
operation that is only declared in a protected body, create a
corresponding subprogram declaration.
* exp_ch9.adb (Expand_N_Protected_Body): Create protected body of
operation in all cases, including for an operation that is only
declared in the body.
* sem_ch6.adb: Call Build_Private_Protected_Declaration
* exp_ch6.adb (Expand_N_Subprogram_Declaration): For an operation
declared in a protected body, create the declaration for the
corresponding protected version of the operation.
2009-11-30 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Disable specific expansions
for Restrictions pragmas, to avoid tree inconsistencies between
compilations with different pragmas.
2009-11-30 Jerome Lambourg <lambourg@adacore.com>
* sem_prag.adb (Check_Duplicated_Export_Name): Allow entities exported
to CIL to have duplicated export name.
From-SVN: r154828
Arnaud Charlet [Mon, 30 Nov 2009 16:21:19 +0000 (17:21 +0100)]
[multiple changes]
2009-11-30 Robert Dewar <dewar@adacore.com>
* a-tiinio.adb: Remove extraneous pragma Warnings (Off).
2009-11-30 Thomas Quinot <quinot@adacore.com>
* par_sco.adb: Minor reformatting
2009-11-30 Ed Falis <falis@adacore.com>
* s-vxwext.ad[s,b], system-vxworks-ppc.ads, s-stchop-vxworks.adb:
Comment update.
From-SVN: r154827
Arnaud Charlet [Mon, 30 Nov 2009 16:16:55 +0000 (17:16 +0100)]
[multiple changes]
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* par_sco.adb (Traverse_Handled_Statement_Sequence): Do not emit SCO's
for null statements that do not come from source.
* sinfo.ads: Clarify documentation of Comes_From_Source
2009-11-30 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Add_Source): Use Display_Name for both projects when
displaying the paths in error message.
2009-11-30 Emmanuel Briot <briot@adacore.com>
* adaint.h, adaint.c (file_attributes): force the use of unsigned char.
On some platforms, "char" is signed, on others unsigned, so we
explicitly specify the one we expect
From-SVN: r154826
Arnaud Charlet [Mon, 30 Nov 2009 16:08:37 +0000 (17:08 +0100)]
[multiple changes]
2009-11-30 Matthew Heaney <heaney@adacore.com>
* a-coinve.adb (Insert): Move exception handler closer to point where
exception can occur.
Minor reformatting & comment additions.
2009-11-30 Arnaud Charlet <charlet@adacore.com>
* freeze.adb (Freeze_Entity): Disable warning on 'Foreign caller must
pass bounds' for VM targets, not relevant.
2009-11-30 Robert Dewar <dewar@adacore.com>
* sem_util.adb (Wrong_Type): Diagnose additional case of modular
missing parens.
* a-tiinio.adb, a-wtinio.adb, a-ztinio.adb: Minor reformatting
* exp_util.adb (Kill_Dead_Code): Suppress warning for some additional
cases.
* sem_warn.adb (Set_Warning_Flag): Clean up gnatwA list and ensure
completeness.
(Set_Dot_Warning_Flag): Ditto for -gnatw.e
(Set_Dot_Warning_Flag): Implement -gnbatw.v/w.V
* usage.adb: Add lines for -gnatw.v/w.V
2009-11-30 Emmanuel Briot <briot@adacore.com>
* make.adb (Check_Standard_Library): use Full_Source_Name instead of
direct call to Find_File. The former provides caching of the results, so
might be more efficient
(Start_Compile_If_Necessary): Add comment on possible optimization,
not done for now.
From-SVN: r154825
Arnaud Charlet [Mon, 30 Nov 2009 15:56:40 +0000 (16:56 +0100)]
[multiple changes]
2009-11-30 Thomas Quinot <quinot@adacore.com>
* g-sechas.adb: Minor reformatting
2009-11-30 Matthew Heaney <heaney@adacore.com>
* a-crbtgo.adb (Delete_Fixup): Add comments explaining why predicates
were removed.
* a-cdlili.adb (Vet): Remove always-true predicates.
From-SVN: r154823
Thomas Quinot [Mon, 30 Nov 2009 15:51:15 +0000 (15:51 +0000)]
s-sechas.adb, [...]: Rename System.Secure_Hashes to GNAT.Secure_Hashes.
2009-11-30 Thomas Quinot <quinot@adacore.com>
* s-sechas.adb, s-sechas.ads, s-shshco.adb, s-shshco.ads, s-shsh64.adb,
s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, s-shsh32.adb, s-shsh32.ads,
s-sehash.adb, s-sehash.ads, g-sechas.adb, g-sechas.ads, g-shshco.adb,
g-shshco.ads, g-md5.ads, g-sha256.ads, g-shsh64.adb, g-shsh64.ads,
g-sehamd.adb, g-sehamd.ads, g-sha512.ads, g-sha1.ads, Makefile.rtl,
g-sha224.ads, g-shsh32.adb, g-shsh32.ads, g-sha384.ads, g-sehash.adb,
g-sehash.ads: Rename System.Secure_Hashes to GNAT.Secure_Hashes.
From-SVN: r154822
Martin Jambor [Mon, 30 Nov 2009 15:46:00 +0000 (16:46 +0100)]
re PR middle-end/42206 (ipa-prop.c: use of uninitialised local data)
2009-11-30 Martin Jambor <mjambor@suse.cz>
PR middle-end/42206
* ipa-prop.c (ipa_write_node_info): Initialize note_count to zero.
From-SVN: r154820
Arnaud Charlet [Mon, 30 Nov 2009 15:16:49 +0000 (16:16 +0100)]
[multiple changes]
2009-11-30 Robert Dewar <dewar@adacore.com>
* osint.ads: Minor comment update.
2009-11-30 Thomas Quinot <quinot@adacore.com>
* s-sechas.adb: Fix swapping error in previous checkin.
* g-md5.ads, g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads,
g-sha384.ads: Add missing documentation.
From-SVN: r154819
Jakub Jelinek [Mon, 30 Nov 2009 15:16:00 +0000 (16:16 +0100)]
* ipa-reference.c (propagate): Only dump bitmaps if computed.
From-SVN: r154818
Arnaud Charlet [Mon, 30 Nov 2009 15:10:58 +0000 (16:10 +0100)]
[multiple changes]
2009-11-30 Robert Dewar <dewar@adacore.com>
* g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads,
g-sha384.ads: Minor reformatting
2009-11-30 Emmanuel Briot <briot@adacore.com>
* adaint.h (file_attributes): Reduce size of the structure, so that it
is less costly to store in records.
* makeutl.adb:
(Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
call to Find_File, since the former provides caching when appropriate,
which limits the number of system calls in some cases.
* osint.ads, prj.ads (Source_Data): do not store directly the timestamp,
but the file attributes since we also need access to the size of the
ALI file to parse it. This gives an opportunity for saving system calls
on Unix systems.
From-SVN: r154817