iains [Sat, 17 Jul 2010 14:51:20 +0000 (14:51 +0000)]
PR testsuite/44418
* gcc.target/powerpc/recip-1.c: Do not run for powerpc*-apple-darwin*
* gcc.target/powerpc/recip-2.c: Ditto.
* gcc.target/powerpc/recip-3.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162277
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Sat, 17 Jul 2010 09:57:19 +0000 (09:57 +0000)]
2010-07-17 Mikael Morin <mikael@gcc.gnu.org>
* trans-array.c (gfc_free_ss): Don't free beyond ss rank.
Access subscript through the "dim" field index.
(gfc_trans_create_temp_array): Access ss info through the "dim" field
index.
(gfc_conv_array_index_offset): Ditto.
(gfc_conv_loop_setup): Ditto.
(gfc_conv_expr_descriptor): Ditto.
(gfc_conv_ss_startstride): Ditto. Update call to
gfc_conv_section_startstride.
(gfc_conv_section_startstride): Set values along the array dimension.
Get array dimension directly from the argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162276
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Sat, 17 Jul 2010 08:22:09 +0000 (08:22 +0000)]
2010-07-17 Jack Howarth <howarth@bromo.med.uc.edu>
PR target/44862
* Makefile.tpl (POSTSTAGE1_CXX_EXPORT):
Provide -B option to allow for link spec %s substitutions for
libstdc++.a on darwin.
* Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162275
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 17 Jul 2010 00:17:13 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162274
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 16 Jul 2010 23:47:46 +0000 (23:47 +0000)]
PR target/42235
* postreload.c (reload_cse_move2add): Return bool, true if anything.
changed. All callers changed.
(move2add_use_add2_insn): Likewise.
(move2add_use_add3_insn): Likewise.
(reload_cse_regs): If reload_cse_move2add changed anything, rerun
reload_combine.
(RELOAD_COMBINE_MAX_USES): Bump to 16.
(last_jump_ruid): New static variable.
(struct reg_use): New members CONTAINING_MEM and RUID.
(reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
(reload_combine_split_one_ruid, reload_combine_split_ruids,
reload_combine_purge_insn_uses, reload_combine_closest_single_use
reload_combine_purge_reg_uses_after_ruid,
reload_combine_recognize_const_pattern): New static functions.
(reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
is true for our reg and that we have available index regs.
(reload_combine_note_use): New args RUID and CONTAINING_MEM. All
callers changed. Use them to initialize fields in struct reg_use.
(reload_combine): Initialize last_jump_ruid. Be careful when to
take PREV_INSN of the scanned insn. Update REAL_STORE_RUID fields.
Call reload_combine_recognize_const_pattern.
(reload_combine_note_store): Update REAL_STORE_RUID field.
* gcc.target/arm/pr42235.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162270
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 16 Jul 2010 21:05:16 +0000 (21:05 +0000)]
PR c++/32505
* pt.c (process_partial_specialization): Diagnose partial
specialization after instantiation.
(most_specialized_class): Add complain parm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162269
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 16 Jul 2010 21:05:07 +0000 (21:05 +0000)]
* ptree.c (cxx_print_xnode): Handle TEMPLATE_INFO.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162268
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 16 Jul 2010 21:04:55 +0000 (21:04 +0000)]
* Makefile.in (opts-common.o): Depend on options.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162267
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 16 Jul 2010 20:35:16 +0000 (20:35 +0000)]
* gcc.dg/guality/guality.exp: Run also c-c++-common/guality/ tests.
* gcc.dg/guality/guality.h: Include unistd.h. Make the header usable
in C++.
(gualcvt): New overloaded inline.
(GUALCVT): Use it for C++.
* g++.dg/guality/guality.exp: New.
* g++.dg/guality/guality.h: New.
* g++.dg/guality/redeclaration1.C: New test.
* g++.dg/dg.exp: Prune also guality/* tests.
* gcc.dg/guality/pr43141.c: Moved to...
* c-c++-common/guality/pr43141.c: ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162266
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 16 Jul 2010 17:51:56 +0000 (17:51 +0000)]
* tree.c (build_common_builtin_nodes): Use build_function_type_list
instead of build_function_type.
* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162264
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 16 Jul 2010 15:25:43 +0000 (15:25 +0000)]
* config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove
do all the work.
(rs6000_emit_int_cmove): Use function pointers for insn generation.
Don't force values into registers unnecessarily.
(output_isel): Assert that we're not given conditions we can't handle.
Delete corresponding code.
* config/rs6000/rs6000.md (isel_signed_<mode>): Use
scc_comparison_operator constraint. Permit 0 for the consequent
operand. Permit any GPR for the alternative operand.
(isel_unsigned_<mode>): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162263
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 16 Jul 2010 14:21:10 +0000 (14:21 +0000)]
2010-07-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37077
* gfortran.dg/char4_iunit_2.f03: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162261
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 16 Jul 2010 14:16:04 +0000 (14:16 +0000)]
2010-07-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37077
* io/read.c (read_default_char4): Add support for reading into a
kind-4 character variable from a character(kind=4) internal unit.
* io/io.h (read_block_form4): Add prototype.
* io/unit.c (get_internal_unit): Add call to fbuf_init.
(free_internal_unit): Add call to fbuf_destroy. (get_unit): Fix
whitespace.
* io/transfer.c (read_sf_internal): Use fbuf_alloc to allocate a string
to recieve the wide characters translated to single byte chracters.
(read_block_form): Fix whitespace. (read_block_form4): New function to
read from a character(kind=4) internal unit into a character(kind=4)
variable. (read_block_direct): Fix whitespace. (write_block): Fix
whitespace. (formatted_transfer_scalar_read): Likewise.
(formatted_transfer_scalar_write): Likewise.
* io/write.c (write_character): Add support for list directed write of
a kind=1 character string to a character(kind=4) internal unit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162260
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 16 Jul 2010 10:41:36 +0000 (10:41 +0000)]
* lib/plugin-support.exp (plugin-test-execute):
Add ${gcc_objdir}/intl to includes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162259
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 16 Jul 2010 09:06:02 +0000 (09:06 +0000)]
PR target/44942
* config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
argument to const_tree.
* config/i386/i386.c (function_arg_advance): If padding needs to be
inserted before argument, increment cum->words by number of padding
words as well.
(contains_aligned_value_p): Change argument to const_tree.
(ix86_function_arg_boundary): Change second argument to const_tree.
* gcc.c-torture/execute/pr44942.c: New test.
* gcc.target/i386/pr44942.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162255
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 16 Jul 2010 08:39:37 +0000 (08:39 +0000)]
2010-07-16 Jack Howarth <howarth@bromo.med.uc.edu>
PR testsuite/42843
* gcc.dg/plugin/selfassign.c: Include diagnostic.h.
* gcc.dg/plugin/ggcplug.c: Likewise.
* g++.dg/plugin/selfassign.c: Likewise.
* g++.dg/plugin/attribute_plugin.c: Likewise.
* g++.dg/plugin/dumb_plugin.c: Likewise.
* g++.dg/plugin/pragma_plugin.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162254
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 16 Jul 2010 02:37:10 +0000 (02:37 +0000)]
* init.c (build_new_1): Use cp_build_function_call_nary instead of
cp_build_function_call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162241
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 16 Jul 2010 02:09:03 +0000 (02:09 +0000)]
PR target/42235
* function.c (record_hard_reg_sets): New static function.
(assign_parm_setup_reg): If an optab for extending exists and the
generated code clobbbers no hard regs, emit the insn directly and
create a REG_EQUIV note.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162240
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 16 Jul 2010 01:30:32 +0000 (01:30 +0000)]
* c-decl.c (detect_field_duplicates): Use DECL_CHAIN insted of
TREE_CHAIN.
* c-typeck.c (push_init_level): Likewise.
(process_init_element): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162239
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 16 Jul 2010 00:17:09 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162238
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 15 Jul 2010 20:45:35 +0000 (20:45 +0000)]
PR c++/44909
* call.c (add_function_candidate): If we're working on an implicit
declaration, don't consider candidates that won't match.
* typeck.c (same_type_ignoring_top_level_qualifiers_p): Now a fn.
* cp-tree.h (same_type_ignoring_top_level_qualifiers_p): Adjust.
Revert:
* cp-tree.h (struct lang_type_class): Add has_user_opeq.
(TYPE_HAS_USER_OPEQ): New.
* decl.c (grok_special_member_properties): Set it.
* class.c (add_implicitly_declared_members): Don't lazily declare
constructors/operator= if a base or member has a user-declared one.
(check_bases_and_members, check_bases): Adjust.
(check_field_decls, check_field_decl): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162233
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 15 Jul 2010 19:32:37 +0000 (19:32 +0000)]
Disable float tests for __SPU__ targets due to lack of signed zero:
* c-c++-common/torture/complex-sign-add.c (check_add_float).
* c-c++-common/torture/complex-sign-sub.c (check_sub_float).
* c-c++-common/torture/complex-sign-mul.c (check_mul_float).
* c-c++-common/torture/complex-sign-mul-one.c (check_mul_float).
* c-c++-common/torture/complex-sign-mul-minus-one.c (check_mul_float).
* c-c++-common/torture/complex-sign-mixed-add.c (check_add_float).
* c-c++-common/torture/complex-sign-mixed-sub.c (check_sub_float).
* c-c++-common/torture/complex-sign-mixed-mul.c (check_mul_float).
* c-c++-common/torture/complex-sign-mixed-div.c (check_div_float).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162232
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Thu, 15 Jul 2010 18:47:23 +0000 (18:47 +0000)]
* tree.h (enum tree_index): Add TI_INTEGER_THREE.
(integer_three_node): Add.
* tree.c (build_common_tree_nodes_2): Use integer_type_node insead of
NULL_TREE in build_int_cst calls. Initialize the integer_three_node.
* builtins.c (expand_builtin_prefetch): Use common tree nodes instead
of call build_int_cst.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ditto.
* tree-ssa-loop-ivopts.c (idx_find_step): Ditto.
(find_interesting_uses_address): Ditto.
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Ditto.
* tree-eh.c (lower_eh_constructs_2): Ditto.
* tree-vect-loop.c (get_initial_def_for_induction): Ditto.
* c-typeck.c (really_start_incremental_init, push_init_level): Ditto.
* expmed.c (expand_divmod): Ditto.
* tree-mudflap.c (mx_register_decls): Ditto.
* varasm.c (array_size_for_constructor): Ditto.
* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
* c-parser.c (c_parser_postfix_expression): Ditto.
/cp
* decl.c (integer_three_node): Remove.
(cxx_init_decl_processing): Do not initialize the integer_three_node.
* cp-tree.h (integer_three_node): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162230
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 15 Jul 2010 17:07:17 +0000 (17:07 +0000)]
* postreload.c (last_label_ruid, first_index_reg, last_index_reg):
New static variables.
(reload_combine_recognize_pattern): New static function, broken out
of reload_combine.
(reload_combine): Use it. Only initialize first_index_reg and
last_index_reg once.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162228
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 15 Jul 2010 16:38:16 +0000 (16:38 +0000)]
Finish zeroing out the current function status after building cdtor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162227
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 15 Jul 2010 16:09:48 +0000 (16:09 +0000)]
* trans.h (gfc_string_to_single_character): New prototype.
* trans-expr.c (string_to_single_character): Renamed to ...
(gfc_string_to_single_character): ... this. No longer static.
(gfc_conv_scalar_char_value, gfc_build_compare_string,
gfc_trans_string_copy): Adjust callers.
* config-lang.in (gtfiles): Add fortran/trans-stmt.c.
* trans-stmt.c: Include ggc.h and gt-fortran-trans-stmt.h.
(select_struct): Move to toplevel, add GTY(()).
(gfc_trans_character_select): Optimize SELECT CASE
with character length 1.
* gfortran.dg/select_char_2.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162226
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 15 Jul 2010 16:01:33 +0000 (16:01 +0000)]
* lto-symtab.c (lto_symtab_resolve_symbols): Remove hack handling comdats
for broken gold.
(lto_sy mtab_merge_decls_1): Set used_from_object_file correctly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162225
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Thu, 15 Jul 2010 15:57:23 +0000 (15:57 +0000)]
* tree.h (TREE_RTL_OPERAND_CHECK): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162224
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Thu, 15 Jul 2010 14:31:28 +0000 (14:31 +0000)]
gcc/
* tree.h (DECL_CHAIN): Define.
* alias.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
* c-decl.c: Likewise.
* c-parser.c: Likewise.
* c-typeck.c: Likewise.
* cfgexpand.c: Likewise.
* cgraph.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arm/arm.c: Likewise.
* config/frv/frv.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/winnt-cxx.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mips/mips.c: Likewise.
* config/pa/som.h: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/symbian-cxx.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/vxworks.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
* coverage.c: Likewise.
* dbxout.c: Likewise.
* dwarf2out.c: Likewise.
* emit-rtl.c: Likewise.
* expr.c: Likewise.
* function.c: Likewise.
* gimple-low.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimplify.c: Likewise.
* integrate.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-split.c: Likewise.
* ipa-struct-reorg.c: Likewise.
* ipa-type-escape.c: Likewise.
* langhooks.c: Likewise.
* lto-cgraph.c: Likewise.
* omp-low.c: Likewise.
* stor-layout.c: Likewise.
* tree-cfg.c: Likewise.
* tree-complex.c: Likewise.
* tree-dfa.c: Likewise.
* tree-dump.c: Likewise.
* tree-inline.c: Likewise.
* tree-mudflap.c: Likewise.
* tree-nested.c: Likewise.
* tree-object-size.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
gcc/ada/
* gcc-interface/decl.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.
* gcc-interface/utils2.c: Likewise.
gcc/c-family/
* c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
* c-format.c: Likewise.
gcc/cp/
* cp-tree.h: Carefully replace TREE_CHAIN with DECL_CHAIN.
* call.c: Likewise.
* class.c: Likewise.
* cp-gimplify.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* init.c: Likewise.
* mangle.c: Likewise.
* name-lookup.c: Likewise.
* optimize.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.
* semantics.c: Likewise.
* typeck.c: Likewise.
* typeck2.c: Likewise.
gcc/fortran/
* f95-lang.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
* trans-common.c: Likewise.
* trans-decl.c: Likewise.
* trans-types.c: Likewise.
* trans.c: Likewise.
gcc/java/
* java-tree.h: Carefully replace TREE_CHAIN with DECL_CHAIN.
* boehm.c: Likewise.
* class.c: Likewise.
* decl.c: Likewise.
* expr.c: Likewise.
* jcf-parse.c: Likewise.
* typeck.c: Likewise.
* verify-glue.c: Likewise.
gcc/objc/
* objc-act.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
gcc/testsuite/
* g++.dg/plugin/attribute_plugin.c: Carefully replace TREE_CHAIN
with DECL_CHAIN.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162223
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Thu, 15 Jul 2010 13:39:11 +0000 (13:39 +0000)]
Fix ChangeLog to mention last commit to transfer.c
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162222
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Thu, 15 Jul 2010 13:36:28 +0000 (13:36 +0000)]
2010-07-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/44936
* resolve.c (resolve_typebound_generic_call): Resolve generic
non-polymorphic type-bound procedure calls to the correct specific
procedure.
(resolve_typebound_subroutine): Remove superfluous code.
2010-07-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/44936
* gfortran.dg/typebound_generic_9.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162221
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 15 Jul 2010 12:37:03 +0000 (12:37 +0000)]
PR target/44877
* config/spu/spu.c (spu_expand_builtin_1): Allow references
(as well as pointers) as argument to mask_for_load builtins.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162220
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Thu, 15 Jul 2010 12:23:47 +0000 (12:23 +0000)]
2010-07-15 Daniel Kraft <d@domob.eu>
PR fortran/44709
* trans.h (struct gfc_wrapped_block): New struct.
(gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods.
(gfc_finish_wrapped_block): New method.
(gfc_init_default_dt): Add new init code to block rather than
returning it.
* trans-array.h (gfc_trans_auto_array_allocation): Use gfc_wrapped_block
(gfc_trans_dummy_array_bias): Ditto.
(gfc_trans_g77_array): Ditto.
(gfc_trans_deferred_array): Ditto.
* trans.c (gfc_add_expr_to_block): Call add_expr_to_chain.
(add_expr_to_chain): New method based on old gfc_add_expr_to_block.
(gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods.
(gfc_finish_wrapped_block): New method.
* trans-array.c (gfc_trans_auto_array_allocation): use gfc_wrapped_block
(gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto.
(gfc_trans_deferred_array): Ditto.
* trans-decl.c (gfc_trans_dummy_character): Ditto.
(gfc_trans_auto_character_variable), (gfc_trans_assign_aux_var): Ditto.
(init_intent_out_dt): Ditto.
(gfc_init_default_dt): Add new init code to block rather than
returning it.
(gfc_trans_deferred_vars): Use gfc_wrapped_block to collect all init
and cleanup code and put it all together.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162219
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 15 Jul 2010 12:03:54 +0000 (12:03 +0000)]
* include/sparc-signal.h: Renamed to ...
* include/solaris-signal.h: ... this.
* configure.ac: Use it on any *-*-solaris2* target.
* configure: Regenerate.
* configure.host (i?86-*-solaris2*): Set can_unwind_signal=yes.
* Makefile.am (prims.lo): Add -fno-omit-frame-pointer to AM_CXXFLAGS.
* Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162217
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 15 Jul 2010 11:17:37 +0000 (11:17 +0000)]
2010-07-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44946
* tree-ssa-structalias.c (get_constraint_for_component_ref): Deal
with accessing only padding properly.
* gcc.c-torture/compile/pr44946.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162216
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 15 Jul 2010 11:03:03 +0000 (11:03 +0000)]
* ipa.c (function_and_variable_visibility): Variables marked as used should
not be localized.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162215
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 15 Jul 2010 10:01:07 +0000 (10:01 +0000)]
* cgraph.c: Include lto-streamer.h
(change_decl_assembler_name): Work when assembler name hash is at place.
(cgraph_make_decl_local): When localizing COMDAT symbol at WPA stage, be
sure to rename it to avoid name clash.
* ipa.c (cgraph_externally_visible_p, function_and_variable_visibility):
Localize hidden symbols only when locally defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162211
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 15 Jul 2010 07:52:51 +0000 (07:52 +0000)]
PR fortran/40206
* trans-stmt.c (gfc_trans_character_select): Always use NULL for high
in CASE_LABEL_EXPR and use NULL for low for the default case.
* gfortran.dg/select_char_3.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162209
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 15 Jul 2010 07:50:04 +0000 (07:50 +0000)]
* trans.h (gfc_build_compare_string): Add CODE argument.
* trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Pass OP to
gfc_build_compare_string.
* trans-expr.c (gfc_conv_expr_op): Pass CODE to
gfc_build_compare_string.
(string_to_single_character): Rename len variable to length.
(gfc_optimize_len_trim): New function.
(gfc_build_compare_string): Add CODE argument. If it is EQ_EXPR
or NE_EXPR and one of the strings is string literal with LEN_TRIM
bigger than the length of the other string, they compare unequal.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162208
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 15 Jul 2010 06:09:38 +0000 (06:09 +0000)]
* config/i386/i386.h (SHIFT_COUNT_TRUNCATED): Expand comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162206
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Thu, 15 Jul 2010 05:46:36 +0000 (05:46 +0000)]
2010-07-15 Magnus Granberg <zorry@gentoo.org>
Kevin F. Quinn <kevquinn@gentoo.org>
* builtins.c (expand_builtin_init_trampoline): If
-Wtrampolines make a warning.
* common.opt: Add -Wtrampolines.
* doc/invoke.texi: Add -Wtrampolines.
testsuite/
* gcc.dg/Wtrampolines.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162205
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Thu, 15 Jul 2010 03:42:29 +0000 (03:42 +0000)]
2010-07-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/44934
* gfortran.dg/endfile_2.f90: Fix to unformatted file type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162204
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Thu, 15 Jul 2010 03:40:56 +0000 (03:40 +0000)]
2010-07-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/44934
* io/file_pos.c (st_endfile): Correctly set unit flags for form.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162203
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Thu, 15 Jul 2010 02:07:53 +0000 (02:07 +0000)]
* config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve
cortex_a8_issue_ls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162201
138bc75d-0d04-0410-961f-
82ee72b054a4
davek [Thu, 15 Jul 2010 01:45:51 +0000 (01:45 +0000)]
* config/i386/cygwin.h (LIBGCJ_SONAME): Update.
* config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162200
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 15 Jul 2010 00:16:58 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162199
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 14 Jul 2010 20:11:09 +0000 (20:11 +0000)]
2010-07-14 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/xml/manual/shared_ptr.xml: Update.
* doc/html/*: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162193
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Wed, 14 Jul 2010 19:19:57 +0000 (19:19 +0000)]
2010-07-14 Mikael Morin <mikael@gcc.gnu.org>
* trans-array.c (gfc_conv_section_upper_bound): Remove
(gfc_conv_section_startstride): Don't set the upper bound in the
vector subscript case.
(gfc_conv_loop_setup): Don't use gfc_conv_section_upper_bound
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162191
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Wed, 14 Jul 2010 18:17:13 +0000 (18:17 +0000)]
* config/spu/spu.c (reg_names): Remove prototype.
(call_used_regs): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162190
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 14 Jul 2010 17:01:15 +0000 (17:01 +0000)]
PR c++/44810
* g++.dg/torture/pr36745.C: Avoid undefined behavior.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162189
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 14 Jul 2010 17:01:03 +0000 (17:01 +0000)]
* init.c (sort_mem_initializers): Rename "field_type" to "ctx".
(build_field_list): Cache field type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162188
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 14 Jul 2010 17:00:51 +0000 (17:00 +0000)]
Implement C++0x unrestricted unions (N2544)
* class.c (check_field_decl): Loosen union handling in C++0x.
* method.c (walk_field_subobs): Split out from...
(synthesized_method_walk): ...here. Set msg before loops.
(process_subob_fn): Check for triviality in union members.
* init.c (sort_mem_initializers): Splice out uninitialized
anonymous unions and union members.
(push_base_cleanups): Don't automatically destroy anonymous unions
and union members.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162187
138bc75d-0d04-0410-961f-
82ee72b054a4
davek [Wed, 14 Jul 2010 16:54:14 +0000 (16:54 +0000)]
* config/i386/cygming-crtend.c (__FRAME_END__): Replace attribute
"unused" with attribute "used".
(__JCR_END__): Likewise.
* config/i386/cygming-crtbegin.c (__EH_FRAME_BEGIN__): Add missing
"used" attribute.
(__JCR_LIST__): Replace attribute "unused" with attribute "used".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162186
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 14 Jul 2010 16:29:22 +0000 (16:29 +0000)]
2010-07-14 Richard Guenther <rguenther@suse.de>
* lto-streamer-in.c (maybe_fixup_handled_component): Remove.
(maybe_fixup_decls): Likewise.
(input_gimple_stmt): Do not fixup anything.
* lto-streamer-out.c (output_gimple_stmt): Make sure all
non-automatic variable uses are wrapped inside a MEM_REF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162185
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 14 Jul 2010 16:22:06 +0000 (16:22 +0000)]
* passes.c (rest_of_decl_compilation): Do not call
* assemble_variable for functions.
* varasm.c (assemble_variable): Remove early exit for functions;
assert that we're given a variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162184
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Wed, 14 Jul 2010 15:37:44 +0000 (15:37 +0000)]
* config/arm/cortex-a8.md (cortex_a8_alu): Don't use
cortex_a8_default when neon_type is not none.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162182
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 14 Jul 2010 15:17:28 +0000 (15:17 +0000)]
* lower-subreg.c (subreg_context): New static bitmap.
(decompose_multiword_subregs): Allocate and free it.
(find_decomposable_subregs): Set a bit in it for a register that
occurs in a subreg that changes mode but not size.
(can_decompose_p): Test it instead of non_decomposable_context.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162181
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 14 Jul 2010 12:19:16 +0000 (12:19 +0000)]
2010-07-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44824
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Use
is_gimple_mem_ref_addr.
(tree_ssa_forward_propagate_single_use_vars): Do not propagate
non-decl_address_invariant_p addresses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162177
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 14 Jul 2010 11:07:17 +0000 (11:07 +0000)]
* reload.c (find_reloads): Revert code to penalize small register
classes that was brought in with the IRA merge.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162176
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 14 Jul 2010 09:52:01 +0000 (09:52 +0000)]
2010-07-14 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (fold_const_aggregate_ref): Handle MEM_REF
as base of ARRAY_REFs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162175
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 14 Jul 2010 09:06:34 +0000 (09:06 +0000)]
2010-07-14 Richard Guenther <rguenther@suse.de>
PR middle-end/44930
* tree-pretty-print.c (do_niy): Do not print a newline.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162174
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Wed, 14 Jul 2010 08:09:05 +0000 (08:09 +0000)]
2010-07-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/44925
* gfortran.h (gfc_is_data_pointer): Remove prototype.
* dependency.c (gfc_is_data_pointer): Make it static.
* intrinsic.texi: Update documentation on C_LOC.
* resolve.c (gfc_iso_c_func_interface): Fix pointer and target checks
and add a check for polymorphic variables.
2010-07-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/44925
* gfortran.dg/c_loc_tests_15.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162169
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 14 Jul 2010 01:56:32 +0000 (01:56 +0000)]
* ira-int.h (ira_object_conflict_iterator): Rename from
ira_allocno_conflict_iterator.
(ira_object_conflict_iter_init): Rename from
ira_allocno_conflict_iter_init, second arg changed to
* ira.c (check_allocation): Use FOR_EACH_OBJECT_CONFLICT rather than
FOR_EACH_ALLOCNO_CONFLICT.
* ira-color.c (assign_hard_reg, push_allocno_to_stack)
setup_allocno_left_conflicts_size, coalesced_allocno_conflict_p,
ira_reassign_conflict_allocnos, ira_reassign_pseudos): Likewise.
* ira-conflicts.c (print_allocno_conflicts): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162168
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 14 Jul 2010 01:55:02 +0000 (01:55 +0000)]
* ira-int.h (struct live_range): Rename allocno member to object and change
type to ira_object_t.
(struct ira_object): New member live_ranges.
(struct ira_allocno): Remove member live_ranges.
(ALLOCNO_LIVE_RANGES): Remove.
(OBJECT_LIVE_RANGES): New macro.
(ira_create_live_range, ira_copy_live_range_list,
ira_merge_live_range_list, ira_live_ranges_intersect_p,
ira_finish_live_range, ira_finish_live_range_list): Adjust declarations.
* ira-build.c (ira_create_object): Initialize live ranges here.
(ira_create_allocno): Not here.
(ira_create_live_range): Rename from ira_create_allocno_live_range, arg
changed to ira_object_t, all callers changed.
(copy_live_range): Rename from copy_allocno_live_range, all callers
changed.
(ira_copy_live_range_list): Rename from ira_copy_allocno_live_range_list,
all callers changed.
(ira_merge_live_ranges): Rename from ira_merge_allocno_live_range_list,
all callers changed.
(ira_live_ranges_intersect_p): Rename from
ira_allocno_live_ranges_intersect_p, all callers changed.
(ira_finish_live_range): Rename from ira_finish_allocno_live_range, all
callers changed.
(ira_finish_live_range_list): Rename from
ira_finish_allocno_live_range_list, all callers changed.
(change_object_in_range_list): Rename from change_allocno_in_range_list,
last arg changed to ira_object_t, all callers changed.
(finish_allocno): Changed to expect live ranges in the allocno's object.
(move_allocno_live_ranges, copy_allocno_live_ranges,
update_bad_spill_attribute, setup_min_max_allocno_live_range_point,
ira_flattening, ira_build): Likewise.
* ira-color.c (allocnos_have_intersected_live_ranges_p,
slot_coalesced_allocno_live_ranges_intersect,
setup_slot_coalesced_allocno_live_ranges, fast_allocation): Likewise.
* ira-conflicts.c (build_conflict_bit_table): Likewise.
* ira-emit.c (add_range_and_copies_from_move_list): Likewise.
* ira-lives.c (make_allocno_born, update_allocno_pressure_excess_length,
make_allocno_dead, create_start_finish_chains,
remove_some_program_points_and_update_live_ranges,
ira_debug_live_range_list): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162167
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 14 Jul 2010 01:53:35 +0000 (01:53 +0000)]
* ira-int.h (struct ira_object): New.
(ira_object_t): New typedef. Add DEF_VEC_P and DEF_VEC_ALLOC_P
for it.
(struct ira_allocno): Remove members min, max,
conflict_allocno_array, conflict_id, conflict_allocno_array_size,
conflict_allocnos_num and conflict_vec_p. Add new member object.
(OBJECT_CONFLICT_ARRAY, OBJECT_CONFLICT_VEC_P,
OBJECT_NUM_CONFLICTS, OBJECT_CONFLICT_ARRAY_SIZE,
OBJECT_CONFLICT_HARD_REGS, OBJECT_TOTAL_CONFLICT_HARD_REGS,
OBJECT_MIN, OBJECT_MAX, OBJECT_CONFLICT_ID): Renamed from
ALLOCNO_CONFLICT_ALLOCNO_ARRAY, ALLOCNO_CONFLICT_VEC_P,
ALLOCNO_CONFLICT_ALLOCNOS_NUM, ALLOCNO_CONFLICT_ALLOCNO_ARRAY_SIZE,
ALLOCNO_CONFLICT_HARD_REGS, ALLOCNO_TOTAL_CONFLICT_HARD_REGS)
ALLOCNO_MIN, ALLOCNO_MAX, and ALLOCNO_CONFLICT_ID; now operate on
an ira_object_t rather than ira_allocno_t. All uses changed.
(ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
contains a vector of ira_object_t; all uses changed.
(ira_objects_num): Declare variable.
(ira_create_allocno_object): Declare function.
(ira_conflict_vector_profitable_p): Adjust prototype.
(ira_allocate_conflict_vec): Renamed from
ira_allocate_allocno_conflict_vec; first arg now ira_object_t.
(ira_allocate_object_conflicts): Renamed from
ira_allocate_allocno_conflicts; first arg now ira_object_t.
(struct ira_object_iterator): New.
(ira_object_iter_init, ira_object_iter_cond, FOR_EACH_OBJECT): New.
(ira_allocno_conflict_iterator): Renamed member allocno_conflict_vec_p
to conflict_vec_p. All uses changed.
(ira_allocno_conflict_iter_init, ira_allocno_conflict_iter_cond):
Changed to take into account that conflicts are now tracked for
objects.
* ira-conflicts.c (OBJECTS_CONFLICT_P): Renamed from
CONFLICT_ALLOCNO_P. Args changed to accept ira_object_t. All
uses changed.
(allocnos_conflict_p): New static function.
(collected_conflict_objects): Renamed from collected_allocno_objects;
now a vector of ira_object_t. All uses changed.
(build_conflict_bit_table): Changed to take into account that
conflicts are now tracked for objects.
(process_regs_for_copy, propagate_copies, build_allocno_conflicts)
(print_allocno_conflicts, ira_build_conflicts): Likewise.
* ira-color.c (assign_hard_reg, setup_allocno_available_regs_num)
setup_allocno_left_conflicts_size, allocno_reload_assign,
fast_allocation): Likewise.
* ira-lives.c (make_hard_regno_born, make_allocno_born)
process_single_reg_class_operands, process_bb_node_lives): Likewise.
* ira-emit.c (modify_move_list, add_range_and_copies_from_move_list):
Likewise.
* ira-build.c (ira_objects_num): New variable.
(ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
contains a vector of ira_object_t; all uses changed.
(ira_object_id_map_vec): Corresponding change.
(object_pool): New static variable.
(initiate_allocnos): Initialize it.
(finish_allocnos): Free it.
(ira_create_object, ira_create_allocno_object, create_allocno_objects):
New functions.
(ira_create_allocno): Don't set members that were removed.
(ira_set_allocno_cover_class): Don't change conflict hard regs.
(merge_hard_reg_conflicts): Changed to take into account that
conflicts are now tracked for objects.
(ira_conflict_vector_profitable_p, ira_allocate_conflict_vec,
allocate_conflict_bit_vec, ira_allocate_object_conflicts,
compress_conflict_vecs, remove_low_level_allocnos, ira_flattening,
setup_min_max_allocno_live_range_point, allocno_range_compare_func,
setup_min_max_conflict_allocno_ids, ): Likewise.
((add_to_conflicts): Renamed from add_to_allocno_conflicts, args changed
to ira_object_t; all callers changed.
(ira_add_conflict): Renamed from ira_add_allocno_conflict, args changed
to ira_object_t, all callers changed.
(clear_conflicts): Renamed from clear_allocno_conflicts, arg changed
to ira_object_t, all callers changed.
(conflict_check, curr_conflict_check_tick): Renamed from
allocno_conflict_check and curr_allocno_conflict_check_tick; all uses
changed.
(compress_conflict_vec): Renamed from compress_allocno_conflict_vec,
arg changed to ira_object_t, all callers changed.
(create_cap_allocno): Call ira_create_allocno_object.
(finish_allocno): Free the corresponding object.
(sort_conflict_id_map): Renamed from sort_conflict_id_allocno_map; all
callers changed. Adjusted for dealing with objects.
(ira_build): Call create_allocno_objects after ira_costs. Adjusted for
dealing with objects.
* ira.c (ira_bad_reload_regno_1): Adjusted for dealing with objects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162166
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 14 Jul 2010 00:17:57 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162165
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 13 Jul 2010 22:56:29 +0000 (22:56 +0000)]
* trans-expr.c (string_to_single_character): Also optimize
string literals containing a single char followed only by spaces.
(gfc_trans_string_copy): Remove redundant string_to_single_character
calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162161
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 13 Jul 2010 22:55:20 +0000 (22:55 +0000)]
* trans-decl.c (gfc_build_intrinsic_function_decls,
gfc_build_builtin_function_decls): Mark functions as
DECL_PURE_P or TREE_READONLY.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162160
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 13 Jul 2010 22:23:49 +0000 (22:23 +0000)]
PR c++/44909
* cp-tree.h (struct lang_type_class): Add has_user_opeq.
(TYPE_HAS_USER_OPEQ): New.
* decl.c (grok_special_member_properties): Set it.
* class.c (add_implicitly_declared_members): Don't lazily declare
constructors/operator= if a base or member has a user-declared one.
(check_bases_and_members, check_bases): Adjust.
(check_field_decls, check_field_decl): Adjust.
* method.c (synthesized_method_walk): Initialize check_vdtor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162159
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 13 Jul 2010 22:23:38 +0000 (22:23 +0000)]
PR c++/44540
* mangle.c (write_type): Canonicalize.
(canonicalize_for_substitution): Retain cv-quals on FUNCTION_TYPE.
(write_CV_qualifiers_for_type): Ignore them in abi>=5.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162158
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Tue, 13 Jul 2010 21:56:28 +0000 (21:56 +0000)]
Fix date.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162157
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Tue, 13 Jul 2010 21:55:57 +0000 (21:55 +0000)]
gcc:
PR other/44874
* tree-dump.c (dump_options): Add enumerate_locals entry.
Add TDF_NOID exclusion to all entry.
* tree-dump.h (dump_enumerated_decls): Declare.
* tree-pretty-print.c (dump_generic_node): For TDF_NOID,
Don't display type uid.
(print_declaration): Don't crash on TREE_TYPE (t) == 0.
* tree-pass.h (TDF_ENUMERATE_LOCALS): Define.
* tree-ssa-live.c: Include gimple.h.
(numbered_tree_d): New struct.
(numbered_tree): New typedef.
(DEF_VEC_O (numbered_tree): New.
(DEF_VEC_ALLOC_O (numbered_tree, heap)): Likewise.
(compare_decls_by_uid, dump_enumerated_decls_push): New functions.
(dump_enumerated_decls): Likewise.
* tree-optimize.c (execute_cleanup_cfg_post_optimizing): If comparing
debug info and flag_dump_final_insns, call dump_enumerated_decls.
* tree-cfg.c (dump_function_to_file): Call dump_enumerated_decls.
* Makefile.in (tree-ssa-live.o): Depend on $(GIMPLE_H).
gcc/testsuite:
PR other/44874
PR debug/44832
* c-c++-common/pr44832.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162156
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Tue, 13 Jul 2010 20:19:38 +0000 (20:19 +0000)]
2010-07-13 Benjamin Kosnik <bkoz@redhat.com>
* doc/Makefile.am: Edit pdf rules.
(doc-man, doc-pdf, doc-html): Expand default rules.
* doc/Makefile.in: Regenerate.
* doc/doxygen/user.cfg.in: Update to Doxygen 1.7.1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162151
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 13 Jul 2010 19:48:58 +0000 (19:48 +0000)]
gcc/
* expmed.h (MAX_BITS_PER_WORD): Move to...
* defaults.h (MAX_BITS_PER_WORD): ...here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162150
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Tue, 13 Jul 2010 19:43:30 +0000 (19:43 +0000)]
* config/h8300/h8300.c (h8300_init_once): Default to
-fstrict_volatile_bitfields.
* config/sh/sh.c (sh_override_options): Default to
-fstrict_volatile_bitfields.
* config/rx/rx.c (rx_option_override): New.
* config/m32c/m32c.c (m32c_override_options): Default to
-fstrict_volatile_bitfields.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162149
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Tue, 13 Jul 2010 18:46:25 +0000 (18:46 +0000)]
gcc/
* tree.h (build_function_call_expr): Delete.
(build_call_expr_loc_array): New function.
(build_call_expr_loc_vec): New function.
* tree-flow.h (struct omp_region): Change type of ws_args field
to a VEC.
* builtins.c (build_function_call_expr): Delete.
(build_call_expr_loc_array): New function.
(build_call_expr_loc): Call it. Use XALLOCAVEC.
(build_call_expr): Likewise.
(build_call_expr_loc_vec): New function.
* cgraphunit.c (build_cdtor): Call build_call_expr instead of
build_function_call_expr.
* expr.c (emutls_var_address): Likewise.
* varasm.c (emutls_common_1): Likewise.
* omp-low.c (expand_omp_atomic_mutex): Likewise.
(expand_omp_taskreg): Adjust for new type of region->ws_args.
(get_ws_args_for): Return a VEC instead of a tree.
(expand_parallel_call): Call build_call_expr_loc_vec instead of
build_function_call_expr.
* stor-layout.c (self_referential_size): Likewise.
gcc/fortran/
* trans-decl.c (build_entry_thunks): Call build_call_expr_loc_vec
instead of build_function_call_expr.
* trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162148
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 13 Jul 2010 17:26:02 +0000 (17:26 +0000)]
2010-07-13 Tobias Burnus <burnus@net-b.de>
Daniel Franke <franke.daniel@gmail.com>
PR fortran/43665
* trans.h (gfc_build_library_function_decl_with_spec): New
prototype.
* trans-decl.c (gfc_build_library_function_decl_with_spec):
Removed static.
* trans-io (gfc_build_io_library_fndecls): Add "fn spec"
annotations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162147
138bc75d-0d04-0410-961f-
82ee72b054a4
guerby [Tue, 13 Jul 2010 15:59:20 +0000 (15:59 +0000)]
2010-07-13 Laurent GUERBY <laurent@guerby.net>
PR bootstrap/44458
* gcc-interface/targtyps.c: Include tm_p.h.
* gcc-interface/Make-lang.in: Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162146
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 13 Jul 2010 15:20:21 +0000 (15:20 +0000)]
PR objc/44488
* lib/objc-torture.exp (objc-set-runtime-options): Base runtime list
on the target. Make sure that we can assemble the emitted asm when
the test type is 'compile'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162144
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 13 Jul 2010 14:03:49 +0000 (14:03 +0000)]
PR testsuite/44701
* recog.c (constrain_operands): Allow side-effects in memory
operands if either < or > constraint is used, rather than if
both < and > is used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162142
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 13 Jul 2010 13:31:26 +0000 (13:31 +0000)]
2010-07-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36960
* g++.dg/torture/pr36960.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162141
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 13 Jul 2010 13:20:52 +0000 (13:20 +0000)]
2010-07-13 Daniel Franke <franke.daniel@gmail.com>
Tobias Burnus <burnus@net-b.de>
PR fortran/43665
* trans-decl.c (gfc_build_intrinsic_function_decls): Add
noclobber/noescape annotations to function calls.
(gfc_build_builtin_function_decls): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162140
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 13 Jul 2010 11:47:58 +0000 (11:47 +0000)]
cp/
2010-07-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44908
* call.c (convert_like_real): Adjust convert_ptrmem call, pass
complain argument.
* typeck.c (get_delta_difference): Update prototype, add a
tsubst_flags_t parameter; update get_delta_difference_1 calls and
add checks for error_mark_node.
(get_delta_difference_1): Update prototype, add a tsubst_flags_t
parameter; update lookup_base call.
(build_ptrmemfunc): Update prototype, add a tsubst_flags_t
parameter; update get_delta_difference call and add check for
error_mark_node.
(convert_ptrmem): Update prototype, add a tsubst_flags_t
parameter; update get_delta_difference call and add check for
error_mark_node; update build_ptrmemfunc call.
(build_static_cast_1): Adjust convert_ptrmem call.
(expand_ptrmemfunc_cst): Adjust get_delta_difference call.
(cp_build_unary_op): Adjust build_ptrmemfunc call.
* cvt.c (cp_convert_to_pointer, convert_force): Adjust convert_ptrmem
and build_ptrmemfunc calls.
* cp-tree.h: Update build_ptrmemfunc and convert_ptrmem prototypes.
testsuite/
2010-07-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44908
* g++.dg/template/sfinae21.C: New.
* g++.dg/template/sfinae22.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162138
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 13 Jul 2010 11:18:50 +0000 (11:18 +0000)]
2010-07-13 Richard Guenther <rguenther@suse.de>
PR middle-end/44911
* tree-pretty-print.c (dump_generic_node): Use TDF_SLIM for
MEM_REF pointer type dumping. Avoid recursing for TYPE_DECLs
without name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162137
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Tue, 13 Jul 2010 10:43:52 +0000 (10:43 +0000)]
* gcc.c-torture/execute/pr44683.x: New.
* gcc.dg/torture/builtin-cproj-1.c: Add dg-add-options ieee.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162136
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Tue, 13 Jul 2010 10:41:15 +0000 (10:41 +0000)]
PR target/44761
* mode-switching.c (optimize_mode_switching): Add ATTRIBUTE_UNUSED
to variable emited.
* config/sh/sh.c (sh_expand_epilogue): Remove unused variable.
* config/sh/sh.md (symGOT_load): Likewise.
(symDTPOFF2reg): Likewise.
(symTPOFF2reg): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162135
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Tue, 13 Jul 2010 09:48:58 +0000 (09:48 +0000)]
2010-07-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* expmed.c (MAX_BITS_PER_WORD): Moved to expmed.h.
* expmed.h (MAX_BITS_PER_WORD): Moved from expmed.c
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162133
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Tue, 13 Jul 2010 09:10:09 +0000 (09:10 +0000)]
* config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
explanation.
Find ucontext_t * on Solaris 11.
(x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
Handle new Solaris 11 __sighndlr patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162129
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 13 Jul 2010 06:59:56 +0000 (06:59 +0000)]
PR debug/44901
* vec.h (VEC_block_remove): Fix comment.
* tree-ssa-live.c (remove_unused_locals): Don't use
VEC_unordered_remove on local_decls, instead replace a single
vector element in each iteration if at least one element had
to be removed and VEC_truncate at the end.
* omp-low.c (expand_omp_taskreg): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162126
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Tue, 13 Jul 2010 06:57:17 +0000 (06:57 +0000)]
2010-07-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/44434
PR fortran/44565
PR fortran/43945
PR fortran/44869
* gfortran.h (gfc_find_derived_vtab): Modified prototype.
* class.c (gfc_build_class_symbol): Modified call to
'gfc_find_derived_vtab'.
(add_proc_component): Removed, moved code into 'add_proc_comp'.
(add_proc_comps): Renamed to 'add_proc_comp', removed treatment of
generics.
(add_procs_to_declared_vtab1): Removed unnecessary argument 'resolved'.
Removed treatment of generics.
(copy_vtab_proc_comps): Removed unnecessary argument 'resolved'.
Call 'add_proc_comp' instead of duplicating code.
(add_procs_to_declared_vtab): Removed unnecessary arguments 'resolved'
and 'declared'.
(add_generic_specifics,add_generics_to_declared_vtab): Removed.
(gfc_find_derived_vtab): Removed unnecessary argument 'resolved'.
Removed treatment of generics.
* iresolve.c (gfc_resolve_extends_type_of): Modified call to
'gfc_find_derived_vtab'.
* resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
Removed treatment of generics.
(resolve_select_type,resolve_fl_derived): Modified call to
'gfc_find_derived_vtab'.
* trans-decl.c (gfc_get_symbol_decl): Ditto.
* trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
Ditto.
* trans-stmt.c (gfc_trans_allocate): Ditto.
2010-07-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/44434
PR fortran/44565
PR fortran/43945
PR fortran/44869
* gfortran.dg/dynamic_dispatch_1.f03: Fixed invalid test case.
* gfortran.dg/dynamic_dispatch_2.f03: Ditto.
* gfortran.dg/dynamic_dispatch_3.f03: Ditto.
* gfortran.dh/typebound_call_16.f03: New.
* gfortran.dg/typebound_generic_6.f03: New.
* gfortran.dg/typebound_generic_7.f03: New.
* gfortran.dg/typebound_generic_8.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162125
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Tue, 13 Jul 2010 02:16:29 +0000 (02:16 +0000)]
2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37077
* gfortran.dg/char4_iunit_1.f03: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162124
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Tue, 13 Jul 2010 02:12:08 +0000 (02:12 +0000)]
2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37077
* io/read.c: Fix comment.
* io/io.h (is_char4_unit): New macro.
* io/unit.c (get_internal_unit): Call new function open_internal4.
* io/unix.c (mem_alloc_r4): New function. (mem_alloc_w4): New function.
(mem_read4): New function, temporary stub. (mem_write4): New function.
(open_internal4): New function to set stream pointers to use the new
mem functions.
* io/transfer.c (write_block): Use new mem_alloc_w4 to access internal
units of kind=4.
* io/unix.h: Add prototypes for open_internal4, mem_alloc_w4, and
mem_alloc_r4.
* io/write.c (memset4): New helper function. (memcpy4): New helper
function. (write_default_char4): Use new helper functions.
(write_a): Likewise. (write_l): Likewise. (write_boz): Likewise.
(write_decimal): Likewise. (write_x): Likewise.
(write_integer): Likewise.
* io/write_float.def (output_float): Add code blocks to handle internal
unit kind=4 output utilizing gfc_char4_t pointers. (write_infnan): Use
new helper functions. (OUTPUT_FLOAT_FMT_G): Update this macro likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162123
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Tue, 13 Jul 2010 02:07:48 +0000 (02:07 +0000)]
2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/37077
* trans-io.c (build_dt): Set common.unit to flag chracter(kind=4)
internal unit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162122
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Tue, 13 Jul 2010 01:40:22 +0000 (01:40 +0000)]
2010-07-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c-decl.c (finish_function): Fix typo in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162121
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 13 Jul 2010 00:51:43 +0000 (00:51 +0000)]
Silence gcc warning on min_regno.
2010-07-12 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/44921
* postreload.c (move2add_use_add3_insn): Silence gcc warning
on min_regno.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162120
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 13 Jul 2010 00:17:03 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162119
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 12 Jul 2010 22:11:27 +0000 (22:11 +0000)]
* tree-vrp.c (simplify_bit_ops_using_ranges): New function.
(simplify_stmt_using_ranges): Use it.
* gcc.dg/tree-ssa/vrp53.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162115
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Mon, 12 Jul 2010 21:06:06 +0000 (21:06 +0000)]
* config/spu/spu.h (struct spu_builtin_description): Remove FNDECL
member. Do not mark as GTY(()).
* config/spu/spu.c (spu_builtins): Remove FNDECL initializer elements.
(spu_builtin_decls): New static variable.
(spu_builtin_decl): Use it instead of spu_builtins[].fndecl.
(spu_init_builtins): Likewise.
(spu_builtin_mul_widen_even): Likewise.
(spu_builtin_mul_widen_odd): Likewise.
(spu_builtin_mask_for_load): Likewise.
(spu_builtin_vec_perm): Likewise.
* config/spu/spu-c.c: Include "target.h".
(spu_resolve_overloaded_builtin): Call targetm.builtin_decl instead
of using spu_builtins[].fndecl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162114
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 12 Jul 2010 19:59:31 +0000 (19:59 +0000)]
/cp
2010-07-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44907
* call.c (build_temp): Add tsubst_flags_t complain parameter;
adjust build_special_member_call call, pass complain.
(convert_like_real): Adjust build_temp call, pass complain.
/testsuite
2010-07-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44907
* g++.dg/template/sfinae19.C: New.
* g++.dg/template/sfinae20.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162113
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 12 Jul 2010 19:09:35 +0000 (19:09 +0000)]
gcc/
* config/mips/mips.c (mips_override_options): Make -mflip-mips16
imply -minterlink-mips16.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162112
138bc75d-0d04-0410-961f-
82ee72b054a4