kargl [Sun, 26 Apr 2009 19:27:50 +0000 (19:27 +0000)]
2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/39893
* gfortran.dg/assumed_charlen_dummy.f90: New Test.
2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/39893
fortran/data.c (gfc_assign_data_value): If the lvalue is an
assumed character length entity in a data statement, then
return FAILURE to prevent segmentation fault.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146816
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Sun, 26 Apr 2009 19:24:16 +0000 (19:24 +0000)]
* tree-ssa-copyrename.c (rename_ssa_copies): Don't iterate
beyond num_ssa_names.
* tree-ssa-ter.c (free_temp_expr_table): Likewise.
* tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146815
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sun, 26 Apr 2009 18:56:14 +0000 (18:56 +0000)]
PR inline-asm/39543
* fwprop.c (forward_propagate_asm): New function.
(forward_propagate_and_simplify): Propagate also into __asm, if it
doesn't increase the number of referenced registers.
* gcc.target/i386/pr39543-1.c: New test.
* gcc.target/i386/pr39543-2.c: New test.
* gcc.target/i386/pr39543-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146813
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sun, 26 Apr 2009 18:51:07 +0000 (18:51 +0000)]
PR c/39889
* stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR.
* gcc.dg/Wunused-value-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146811
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sun, 26 Apr 2009 18:47:54 +0000 (18:47 +0000)]
* tree-nested.c (get_nonlocal_vla_type): If not optimizing, call
note_nonlocal_vla_type for nonlocal VLAs.
(note_nonlocal_vla_type, note_nonlocal_block_vlas,
contains_remapped_vars, remap_vla_decls): New functions.
(convert_nonlocal_reference_stmt): If not optimizing, call
note_nonlocal_block_vlas on GIMPLE_BIND block vars.
(nesting_copy_decl): Return {VAR,PARM,RESULT}_DECL unmodified
if it wasn't found in var_map.
(finalize_nesting_tree_1): Call remap_vla_decls. If outermost
GIMPLE_BIND doesn't have gimple_bind_block, chain debug_var_chain
to BLOCK_VARS (DECL_INITIAL (root->context)) instead of calling
declare_vars.
* gimplify.c (nonlocal_vlas): New variable.
(gimplify_var_or_parm_decl): Add debug VAR_DECLs for non-local
referenced VLAs.
(gimplify_body): Create and destroy nonlocal_vlas.
* trans-decl.c: Include pointer-set.h.
(nonlocal_dummy_decl_pset, tree nonlocal_dummy_decls): New variables.
(gfc_nonlocal_dummy_array_decl): New function.
(gfc_get_symbol_decl): Call it for non-local dummy args with saved
descriptor.
(gfc_get_symbol_decl): Set DECL_BY_REFERENCE when needed.
(gfc_generate_function_code): Initialize nonlocal_dummy_decl{s,_pset},
chain it to outermost block's vars, destroy it afterwards.
* Make-lang.in (trans-decl.o): Depend on pointer-set.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146810
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sun, 26 Apr 2009 18:45:41 +0000 (18:45 +0000)]
* dwarf2out.c (loc_descr_plus_const): New function.
(build_cfa_aligned_loc, tls_mem_loc_descriptor,
mem_loc_descriptor, loc_descriptor_from_tree_1,
descr_info_loc, gen_variable_die): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146809
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sun, 26 Apr 2009 18:44:59 +0000 (18:44 +0000)]
* tree.h (DECL_BY_REFERENCE): Note that it is also valid for
!TREE_STATIC VAR_DECLs.
* dwarf2out.c (loc_by_reference, gen_decl_die): Handle
DECL_BY_REFERENCE on !TREE_STATIC VAR_DECLs.
(gen_variable_die): Likewise. Don't look at TREE_PRIVATE if
DECL_BY_REFERENCE is valid.
* dbxout.c (DECL_ACCESSIBILITY_CHAR): Don't look at TREE_PRIVATE
for PARM_DECLs, RESULT_DECLs or !TREE_STATIC VAR_DECLs.
* tree-nested.c (get_nonlocal_debug_decl, get_local_debug_decl):
Copy DECL_BY_REFERENCE.
(struct nesting_copy_body_data): New type.
(nesting_copy_decl): New function.
(finalize_nesting_tree_1): Remap types of debug_var_chain variables,
if they have variable length.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146808
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Sun, 26 Apr 2009 17:11:22 +0000 (17:11 +0000)]
* tree-sra.c (sra_build_assignment): Don't use into_ssa mode,
mark new temporaries for renaming
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146807
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 26 Apr 2009 17:00:04 +0000 (17:00 +0000)]
PR c/39581
* c-decl.c (global_bindings_p): Return negative value.
(c_variable_size): New. Based on variable_size from
stor-layout.c.
(grokdeclarator): Call c_variable_size not variable_size.
testsuite:
* gcc.dg/c99-const-expr-14.c, gcc.dg/gnu99-const-expr-4.c,
gcc.dg/vla-21.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146806
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 26 Apr 2009 16:50:24 +0000 (16:50 +0000)]
* config/i386/i386.c (print_operand) ['z']: Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146804
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Sun, 26 Apr 2009 14:11:58 +0000 (14:11 +0000)]
2009-04-26 Matthias Klose <doko@ubuntu.com>
* contrib/aot-compile.in: Print diagnostics for malformed or invalid
class files.
* contrib/generate-cacerts.pl.in: New.
* configure.ac (AC_CONFIG_FILES): Add generate-cacerts.pl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146802
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Sun, 26 Apr 2009 13:50:12 +0000 (13:50 +0000)]
2009-04-26 Kai Tietz <kai.tietz@onevision.com>
* config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR):
Redefine it to just use mingw/include.
(ASM_SPEC): Rules for -m32 and -m64.
(LINK_SPEC): Use Likewise.
(SPEC_32): New define.
(SPEC_64): Likewise.
(SUB_LINK_SPEC): Likewise.
(MULTILIB_DEFAULTS): New define.
* config/i386/t-mingw-w64 (MULTILIB_OPTIONS):
Add multilib options.
(MULTILIB_DIRNAMES): Likewise.
(MULTILIB_OSDIRNAMES): Likewise.
(LIBGCC): Likewise.
(INSTALL_LIBGCC): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146801
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 26 Apr 2009 13:40:19 +0000 (13:40 +0000)]
PR c/39556
* c-tree.h (enum c_inline_static_type): New.
(record_inline_static): Declare.
* c-decl.c (struct c_inline_static, c_inline_statics,
record_inline_static, check_inline_statics): New.
(pop_file_scope): Call check_inline_statics.
(start_decl): Call record_inline_static instead of pedwarning
directly for static in inline function.
* c-typeck.c (build_external_ref): Call record_inline_static
instead of pedwarning directly for static referenced in inline
function.
testsuite:
* gcc.dg/inline-34.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146800
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Sun, 26 Apr 2009 12:28:53 +0000 (12:28 +0000)]
* df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is
not new but only being rescanned.
* gcse.c (uid_cuid, max_uid, INSN_CUID, max_cuid, struct reg_set,
reg_set_table, REG_SET_TABLE_SLOP, reg_set_in_block,
alloc_reg_set_mem, free_reg_set_mem, record_one_set,
record_set_info, compute_set, grealloc): Remove.
(recompute_all_luids): New function.
(gcse_main): Don't compute sets, and don't do related memory
allocations/free-ing. If something changed before the end of the
pass, update LUIDs using recompute_all_luids.
(alloc_gcse_mem): Don't compute LUIDs. Don't allocate reg_set memory.
(free_gcse_mem): Don't free it either.
(oprs_unchanged_p, load_killed_in_block, record_last_reg_set_info):
Use the df insn LUIDs.
(load_killed_in_block): Likewise.
(compute_hash_table_work): Don't compute reg_set_in_block.
(compute_transp): Use DF_REG_DEF_CHAINs.
(local_cprop_pass): Don't use compute_sets and related functions.
(one_cprop_pass, pre_gcse, one_pre_gcse_pass, one_code_hoisting_pass):
Use get_max_uid() instead of max_cuid.
(insert_insn_end_basic_block, pre_insert_copy_insn,
update_ld_motion_stores): Don't try to
keep reg_set tables up to date.
(pre_insert_copies): Use df insn LUIDs.
(sbitmap pre_redundant_insns): Replace with uses of INSN_DELETED_P.
(reg_set_info): Don't use extra bitmap argument.
(compute_store_table): Don't compute reg_set_in_block. Use DF scan
information to compute regs_set_in_block.
(free_store_memory, store_motion): Don't nullify reg_set_in_block.
(bypass_jumps): Don't use compute_sets and friends.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146799
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 26 Apr 2009 10:12:08 +0000 (10:12 +0000)]
2009-04-26 Paolo Carlini <paolo.carlini@oracle.com>
Revert the last commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146796
138bc75d-0d04-0410-961f-
82ee72b054a4
rwild [Sun, 26 Apr 2009 08:18:48 +0000 (08:18 +0000)]
gcc/
PR testsuite/39710
* opts.c (undocumented_msg): Do not leave blank even with
ENABLE_CHECKING.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146795
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sun, 26 Apr 2009 03:51:54 +0000 (03:51 +0000)]
Update copyright year. Committed without a ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146794
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Sun, 26 Apr 2009 02:23:29 +0000 (02:23 +0000)]
* Makefile.in (needed-list): Target removed (not used in GCC
3.0 and later). All references deleted.
(mostlyclean): Remove references to needed.awk and needed2.awk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146793
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 26 Apr 2009 00:17:14 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146792
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 25 Apr 2009 23:30:10 +0000 (23:30 +0000)]
* c-decl.c (build_enumerator): Allow values folding to integer
constants but not integer constant expressions with a pedwarn if
pedantic.
testsuite:
* gcc.dg/enum-const-1.c, gcc.dg/enum-const-2.c,
gcc.dg/enum-const-3.c: New tests.
* gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu99-const-expr-1.c: Use
-pedantic-errors. Update expected diagnostics.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146789
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 25 Apr 2009 21:19:09 +0000 (21:19 +0000)]
PR c/39582
* c-typeck.c (c_expr_sizeof_type): Create a C_MAYBE_CONST_EXPR
with non-null C_MAYBE_CONST_EXPR_PRE if size of a variable-length
type is an integer constant.
testsuite:
* gcc.dg/vla-20.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146787
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sat, 25 Apr 2009 20:14:27 +0000 (20:14 +0000)]
2009-04-25 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/mutex (__get_once_functor_lock, __get_once_mutex):
Replace global lock object with local locks on global mutex.
* src/mutex.cc: Likewise.
* config/abi/pre/gnu.ver: Adjust.
* testsuite/30_threads/call_once/call_once2.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146785
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 25 Apr 2009 20:11:01 +0000 (20:11 +0000)]
PR target/39897
* config/i386/i386.c (print_operand) ['z']: Revert handling of
HImode operands.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146784
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Sat, 25 Apr 2009 20:03:12 +0000 (20:03 +0000)]
* test_summary: Only include LAST_UPDATED if it exists.
Complete copyright years.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146783
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 25 Apr 2009 19:02:17 +0000 (19:02 +0000)]
2009-04-25 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/39880
PR libstdc++/39881
PR libstdc++/39882
* include/std/system_error (is_error_code_enum<errc>): Remove.
(error_condition<>::error_condition(_ErrorCodeEnum,)
error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
(error_code<>::error_code(_ErrorCodeEnum,),
error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
* testsuite/19_diagnostics/system_error/39880.cc: New.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
Adjust.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
Likewise.
* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
Likewise.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146781
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 25 Apr 2009 19:00:52 +0000 (19:00 +0000)]
2009-04-25 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/39880
PR libstdc++/39881
PR libstdc++/39882
* include/std/system_error (is_error_code_enum<errc>): Remove.
(error_condition<>::error_condition(_ErrorCodeEnum,)
error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
(error_code<>::error_code(_ErrorCodeEnum,),
error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
* testsuite/19_diagnostics/system_error/39880.cc: New.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
Adjust.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
Likewise.
* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
Likewise.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146780
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 25 Apr 2009 18:59:20 +0000 (18:59 +0000)]
Fix typo in comment in previous commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146779
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 25 Apr 2009 18:55:50 +0000 (18:55 +0000)]
PR c/39564
* c-decl.c (grokdeclarator): Diagnose declarations of functions
with variably modified return type and no storage class
specifiers, except for the case of nested functions. Distinguish
extern declarations of functions with variably modified return
types from those of objects with variably modified types.
testsuite:
* gcc.dg/vla-19.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146778
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 25 Apr 2009 18:46:03 +0000 (18:46 +0000)]
libcpp:
PR preprocessor/39559
* expr.c (cpp_interpret_integer): Use a pedwarn for decimal
constants larger than intmax_t in C99 mode.
gcc/testsuite:
* gcc.dg/c99-intconst-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146777
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 25 Apr 2009 18:27:19 +0000 (18:27 +0000)]
* tree.c (list_equal_p): New function.
* tree.h (list_equal_p): Declare.
* coretypes.h (edge_def, edge, const_edge, basic_block_def
basic_block_def, basic_block, const_basic_block): New.
* tree-eh.c (make_eh_edge): EH edges are not abnormal.
(redirect_eh_edge): New function.
(make_eh_edge_update_phi): EH edges are not abnormal.
* except.c: Include tree-flow.h.
(list_match): New function.
(eh_region_replaceable_by_p): New function.
(replace_region): New function.
(hash_type_list): New function.
(hash_eh_region): New function.
(eh_regions_equal_p): New function.
(merge_peers): New function.
(remove_unreachable_regions): Verify EH tree when checking;
merge peers.
(copy_eh_region_1): New function.
(copy_eh_region): New function.
(push_reachable_handler): New function.
(build_post_landing_pads, dw2_build_landing_pads): Be ready for
regions without label but with live RESX.
* except.h (redirect_eh_edge_to_label): New.
* tree-flow.h (redirect_eh_edge): New.
* coretypes.h (edge_def, edge, const_edge, basic_block_def
basic_block_def, basic_block, const_basic_block): Remove.
* Makefile.in (except.o): Add dependency on tree-flow.h
* tree-cfg.c (gimple_redirect_edge_and_branch): Handle EH edges.
* basic-block.h (edge, const_edge, basic_block, const_basic_block):
Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146776
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 25 Apr 2009 13:32:43 +0000 (13:32 +0000)]
PR bootstrap/39645
* config/sparc/sparc.c (sparc_gimplify_va_arg): Set TREE_ADDRESSABLE
on the destination of memcpy.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146772
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 25 Apr 2009 12:24:08 +0000 (12:24 +0000)]
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND.
(POSTSTAGE1_FLAGS_TO_PASS): Pick up exported value for GNATBIND.
* Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146769
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 25 Apr 2009 10:38:24 +0000 (10:38 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
back kludge.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146766
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sat, 25 Apr 2009 10:20:58 +0000 (10:20 +0000)]
2009-04-25 Paolo Bonzini <bonzini@gnu.org>
* doc/tm.texi (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
REGNO_MODE_OK_FOR_REG_BASE_P, REGNO_MODE_CODE_OK_FOR_BASE_P,
REGNO_OK_FOR_INDEX_P): Mention strict/nonstrict difference.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146765
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 25 Apr 2009 09:02:05 +0000 (09:02 +0000)]
* tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels.
(tree_empty_eh_handler_p): Allow non-EH predecestors; allow region
to be reached by different label than left.
(update_eh_edges): Update comment; remove edge_to_remove if possible
and return true if suceeded.
(cleanup_empty_eh): Accept sharing map; handle shared regions.
(cleanup_eh): Compute sharing map.
* except.c (remove_eh_handler_and_replace): Add argument if we should
update regions.
(remove_unreachable_regions): Update for label sharing.
(label_to_region_map): Likewise.
(get_next_region_sharing_label): New function.
(remove_eh_handler_and_replace): Add update_catch_try parameter; update
prev_try pointers.
(remove_eh_handler): Update.
(remove_eh_region_and_replace_by_outer_of): New function.
* except.h (struct eh_region): Add next_region_sharing_label.
(remove_eh_region_and_replace_by_outer_of,
get_next_region_sharing_label): Declare.
* tree-cfgcleanup.c (tree_forwarder_block_p): Simplify.
* tree-cfg.c (split_critical_edges): Split also edges where we can't
insert code even if they are not critical.
* tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
(gimple_can_remove_branch_p): EH edges won't remove branch by
redirection.
* tree-inline.c (update_ssa_across_abnormal_edges): Do handle
updating of non-abnormal EH edges.
* tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
(gimple_can_remove_branch_p): EH edges are unremovable by redirection.
(split_critical_edges): Split also edges where emitting code on them
will lead to splitting later.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146763
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sat, 25 Apr 2009 08:11:48 +0000 (08:11 +0000)]
2009-04-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/39688
* decl.c (gfc_match_import): Use 'sym->name' instead of 'name'.
They differ if the symbol has been use-renamed.
2009-04-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/39688
* gfortran.dg/import7.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146762
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 25 Apr 2009 08:10:51 +0000 (08:10 +0000)]
PR target/39590
* configure.ac (HAVE_AS_IX86_FILDQ): On x86 targets check whether
the configured assembler supports fildq and fistpq mnemonics.
(HAVE_AS_IX86_FILDS): Rename from HAVE_GAS_FILDS_FISTS.
* configure: Regenerated.
* config.in: Ditto.
* config/i386/i386.c (print_operand): Handle 'Z'.
['z']: Remove handling of special fild/fist suffixes.
(output_fix_trunc): Use '%Z' to output suffix of fist{,p,tp} insn.
* config/i386/i386.md (*floathi<mode>2_i387): Use '%Z' to output
suffix of fild insn.
(*floatsi<mode>2_vector_mixed): Ditto.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Ditto.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Ditto.
(*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto.
(*float<SSEMODEI24:mode><X87MODEF:mode>2_i387): Ditto.
* config/i386/gas.h (GAS_MNEMONICS): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146761
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Sat, 25 Apr 2009 08:04:38 +0000 (08:04 +0000)]
2009-04-24 Matthias Klose <doko@ubuntu.com>
* configure.ac: Create missing directory gnu/java/security/jce/prng.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146759
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Sat, 25 Apr 2009 04:51:34 +0000 (04:51 +0000)]
* genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as
the source of a set operation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146757
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Sat, 25 Apr 2009 04:34:27 +0000 (04:34 +0000)]
* target.h (struct gcc_target): Add case_values_threshold field.
* target-def.h (TARGET_CASE_VALUES_THRESHOLD): New.
(TARGET_INITIALIZER): Use TARGET_CASE_VALUES_THRESHOLD.
* targhooks.c (default_case_values_threshold): New function.
* targhooks.h (default_case_values_threshold): Declare function.
* stmt.c (expand_case): Use case_values_threshold target hook.
* expr.h (case_values_threshold): Remove declartation.
* expr.c (case_values_threshold): Remove function.
* doc/tm.texi (CASE_VALUES_THRESHOLD): Revise documentation.
* config/avr/avr.h (CASE_VALUES_THRESHOLD): Remove macro.
* config/avr/avr.c (TARGET_CASE_VALUES_THRESHOLD): Define macro.
(avr_case_values_threshold): Declare as static.
* config/avr/avr-protos.h (avr_case_values_threshold): Remove.
* config/avr/mn10300.h (CASE_VALUES_THRESHOLD): Remove macro.
* config/avr/mn10300.c (TARGET_CASE_VALUES_THRESHOLD): Define macro.
(mn10300_case_values_threshold): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146756
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sat, 25 Apr 2009 03:24:17 +0000 (03:24 +0000)]
PR bootstrap/39739
* configure.ac (extra_mpfr_configure_flags): Set and AC_SUBST.
* Makefile.def (module=mpfr): Use extra_mpfr_configure_flags.
* configure, Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146754
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Sat, 25 Apr 2009 00:55:51 +0000 (00:55 +0000)]
2009-04-24 H.J. Lu <hongjiu.lu@intel.com>
* ira.c (setup_cover_and_important_classes): Add enum cast.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146753
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 25 Apr 2009 00:16:53 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146752
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Fri, 24 Apr 2009 23:35:16 +0000 (23:35 +0000)]
2009-04-24 Vladimir Makarov <vmakarov@redhat.com>
* genpreds.c (write_enum_constraint_num): Output definition of
CONSTRAINT_NUM_DEFINED_P macro.
* ira.c (setup_cover_and_important_classes): Use
CONSTRAINT_NUM_DEFINED_P instead of CONSTRAINT__LIMIT in #ifdef.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146748
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Fri, 24 Apr 2009 23:06:14 +0000 (23:06 +0000)]
* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Test
__SH2A_SINGLE_ONLY__ also.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146747
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Fri, 24 Apr 2009 20:39:16 +0000 (20:39 +0000)]
2009-04-24 Benjamin Kosnik <bkoz@redhat.com>
* xml/authors.xml: Add space.
* xml/faq.xml: Update links.
* xml/manual/intro.xml: Same.
* xml/manual/abi.xml: Update.
* xml/manual/appendix_contributing.xml: Fix typo.
* xml/manual/status_cxxtr1.xml: Update links.
* xml/manual/status_cxx1998.xml: Same.
* xml/manual/status_cxx200x.xml: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146746
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 24 Apr 2009 20:29:06 +0000 (20:29 +0000)]
2009-04-24 Richard Guenther <rguenther@suse.de>
* gcc.dg/tree-ssa/vrp48.c: Fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146745
138bc75d-0d04-0410-961f-
82ee72b054a4
dougkwan [Fri, 24 Apr 2009 20:25:02 +0000 (20:25 +0000)]
2008-04-24 Doug Kwan <dougkwan@google.com>
* g++.dg/init/copy7.C: Only abort in memcpy if source and
destination are the same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146744
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Fri, 24 Apr 2009 19:35:52 +0000 (19:35 +0000)]
* config/ia64/ia64.md (movfs_internal): Allow flt constants.
(movdf_internal): Ditto.
* config/ia64/ia64.c (ia64_legitimate_constant_p): Allow
SFmode and DFmode constants.
(ia64_print_operand): Add 'G' format for printing
floating point constants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146743
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 24 Apr 2009 19:10:55 +0000 (19:10 +0000)]
2009-04-24 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (extract_range_from_binary_expr): Handle overflow
from unsigned additions.
* gcc.dg/tree-ssa/vrp48.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146742
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 24 Apr 2009 17:24:32 +0000 (17:24 +0000)]
* c-typeck.c (set_init_index): Allow array designators that are
not integer constant expressions with a pedwarn if pedantic.
testsuite:
* gcc.dg/array-const-1.c, gcc.dg/array-const-2.c,
gcc.dg/array-const-3.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146741
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 24 Apr 2009 16:47:20 +0000 (16:47 +0000)]
Correct filenames.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146740
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 24 Apr 2009 16:46:13 +0000 (16:46 +0000)]
Add missing ChangeLog entries for revision 146607.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146739
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 24 Apr 2009 16:19:36 +0000 (16:19 +0000)]
* simplify-rtx.c (simplify_binary_operation_1, case AND): Result is
zero if no overlap in nonzero bits between the operands.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146738
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 24 Apr 2009 16:12:48 +0000 (16:12 +0000)]
Fix typo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146737
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 24 Apr 2009 15:31:38 +0000 (15:31 +0000)]
gcc/:
* combine.c (record_value_for_reg): Change 0 to VOIDmode, twice.
(record_dead_and_set_regs): Likewise.
* df.h (struct df_mw_hardreg): Change flags field to int.
(struct df_base_ref): Likewise.
(struct df): Change changeable_flags field to int.
* df-scan.c (df_defs_record): Change clobber_flags to int.
* dwarf2.h (enum dwarf_tag): Make lo_user and hi_user values enum
constants rather than #define macros.
(enum dwarf_attribute, enum dwarf_location_atom): Likewise.
(enum dwarf_type, enum dwarf_endianity_encoding): Likewise.
(enum dwarf_calling_convention): Likewise.
(enum dwarf_line_number_x_ops): Likewise.
(enum dwarf_call_frame_info): Likewise.
(enum dwarf_source_language): Likewise.
* dwarf2out.c (int_loc_descriptor): Add cast to enum type.
(add_calling_convention_attribute): Likewise.
* fold-const.c (fold_undefer_overflow_warnings): Add cast to enum
type.
(combine_comparisons): Change compcode to int. Add cast to enum
type.
* genrecog.c (maybe_both_true_2): Change c to int.
(write_switch): Likewise. Add cast to enum type.
* gimplify.c (gimplify_omp_for): Handle return values from
gimplify_expr using MIN rather than bitwise or.
(gimplify_expr): Add cast to enum type.
* ipa-prop.c (update_jump_functions_after_inlining): Change
IPA_BOTTOM to IPA_JF_UNKNOWN.
* ira.c (setup_class_subset_and_memory_move_costs): Change mode to
int. Add casts to enum type.
(setup_cover_and_important_classes): Change cl to int. Add casts
to enum type.
(setup_class_translate): Change cl and mode to int.
(ira_init_once): Change mode to int.
(free_register_move_costs): Likewise.
(setup_prohibited_mode_move_regs): Add casts to enum type.
* langhooks.c (add_builtin_function_common): Rework assertion that
value fits bitfield.
* mcf.c (add_fixup_edge): Change type parameter to edge_type.
* omega.c (omega_do_elimination): Avoid math on enum types.
* optabs.c (expand_vec_shift_expr): Remove casts to int.
* opts.c (set_debug_level): Change 2 to enum constant. Use new
int local to handle integral_argment value.
* regmove.c (try_auto_increment): Change PUT_MODE to
PUT_REG_NOTE_KIND.
* reload.c (push_secondary_reload): Add casts to enum type.
(secondary_reload_class, find_valid_class): Likewise.
* reload1.c (emit_input_reload_insns): Likewise.
* rtl.h (NOTE_VAR_LOCATION_STATUS): Likewise.
* sel-sched.c (init_hard_regs_data): Change cur_mode to int.
* sel-sched-ir.c (hash_with_unspec_callback): Change 0 to enum
constant.
* tree.c (build_common_builtin_nodes): Add casts to enum type.
* tree-complex.c (complex_lattice_t): Typedef to int rather than
enum type.
(expand_complex_libcall): Add casts to enum type.
* tree-into-ssa.c (get_ssa_name_ann): Change 0 to enum constant.
* tree-vect-loop.c (vect_model_reduction_cost): Compare reduc_code
with ERROR_MARK, not NUM_TREE_CODES.
(vect_create_epilog_for_reduction): Likewise.
(vectorizable_reduction): Don't initialize epiloc_reduc_code.
When not using it, set it to ERROR_MARK rather than
NUM_TREE_CODES.
* tree-vect-patterns.c (vect_pattern_recog_1): Change vec_mode to
enum machine_mode.
* tree-vect-stmts.c (new_stmt_vec_info): Change 0 to
vect_unused_in_loop. Change 0 to loop_vect.
* tree-vectorizer.c (vect_set_verbosity_level): Add casts to enum
type.
* var-tracking.c (get_init_value): Change return type to enum
var_init_status.
* vec.h (DEF_VEC_FUNC_P) [iterate]: Cast 0 to type T.
* config/arm/arm.c (fp_model_for_fpu): Change to array to enum
arm_fp_model.
(arm_override_options): Add casts to enum type.
(arm_emit_tls_decoration): Likewise.
* config/i386/i386.c (ix86_function_specific_restore): Add casts
to enum type.
* config/i386/i386-c.c (ix86_pragma_target_parse): Likewise.
* config/ia64/ia64.c (ia64_expand_compare): Change magic to int.
* config/rs6000/rs6000.c (rs6000_override_options): Add casts to
enum type.
* config/s390/s390.c (code_for_builtin_64): Change to array of
enum insn_code.
(code_for_builtin_31): Likewise.
(s390_expand_builtin): Change code_for_builtin to enum insn_code
const *.
* config/sparc/sparc.c (sparc_override_options): Change value
field in struct code_model to enum cmodel. In initializer change
0 to NULL and add cast to enum type.
* c-typeck.c (build_modify_expr): Add lhs_origtype parameter.
Change all callers. Issue a -Wc++-compat warning using
lhs_origtype if necessary.
(convert_for_assignment): Issue -Wc++-compat warnings about
invalid conversions to enum type on assignment.
* c-common.h (build_modify_expr): Update declaration.
gcc/cp/:
* call.c (build_temp): Change 0 to enum constant.
* cp-tree.h (cp_lvalue_kind): Typedef to int rather than enum
type.
* cp-gimplify.c (cp_gimplify_expr): Add cast to enum type.
* decl2.c (constrain_visibility): Likewise.
* parser.c (cp_lexer_get_preprocessor_token): Likewise.
(cp_parser_flags): Typedef to int rather than enum type.
(cp_parser_expression_stack_entry): Change prec field to enum
cp_parser_prec.
* typeck.c (build_modify_expr): Add lhs_origtype parameter.
Change all callers.
gcc/fortran/:
* gfortran.h (enum gfc_symbol_type): New named enum type, broken
out of struct gfc_symbol.
(struct gfc_symbol): Use enum gfc_symbol_type.
(enum gfc_array_ref_dimen_type): New named enum type, broken out
of struct gfc_array_ref).
(struct gfc_array_ref): Use enum gfc_array_ref_dimen_type.
(mod_pointee_as): Update declaration.
* decl.c (add_global_entry): Change type to enum gfc_symbol_type.
(gfc_mod_pointee_as): Change return type to "match".
* module.c (mio_array_ref): Add cast to enum type.
(mio_symbol): Likewise.
* resolve.c (resolve_global_procedure): Change type to enum
gfc_symbol_type.
* trans-io.c (gfc_build_st_parameter): Change type to unsigned
int.
gcc/java/:
* jcf-parse.c (handle_constant): Add cast to enum type.
gcc/objc/:
* objc-act.c (get_super_receiver): Update calls to
build_modify_expr to pass new argument.
gcc/testsuite/:
* gcc.dg/Wcxx-compat-4.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146735
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Fri, 24 Apr 2009 15:25:40 +0000 (15:25 +0000)]
* config/iq2000/iq2000.c (function_arg): Handle TImode values.
(function_arg_advance): Likewise.
* config/iq2000/iq2000.md (movsi_internal2): Fix the length of the
5th alternative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146734
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Fri, 24 Apr 2009 15:20:23 +0000 (15:20 +0000)]
2009-04-24 Daniel Kraft <d@domob.eu>
* gfortran.h (gfc_get_typebound_proc): Removed as macro, now a function.
(struct gfc_symtree): Moved `typebound' member inside union.
(struct gfc_namespace): Add `tb_sym_root' as new symtree to sort out
type-bound procedures there.
(gfc_get_tbp_symtree): New procedure.
* symbol.c (tentative_tbp_list): New global.
(gfc_get_namespace): NULL new `tb_sym_root' member.
(gfc_new_symtree): Removed initialization of `typebound' member.
(gfc_undo_symbols): Process list of tentative tbp's.
(gfc_commit_symbols): Ditto.
(free_tb_tree): New method.
(gfc_free_namespace): Call it.
(gfc_get_typebound_proc): New method.
(gfc_get_tbp_symtree): New method.
(gfc_find_typebound_proc): Adapt to structural changes of gfc_symtree
and gfc_namespace with regards to tbp's.
* dump-parse-tree.c (show_typebound): Ditto.
* primary.c (gfc_match_varspec): Ditto. Don't reference tbp-symbol
as it isn't a symbol any longer.
* module.c (mio_typebound_symtree): Adapt to changes.
(mio_typebound_proc): Ditto, create symtrees using `gfc_get_tbp_symtree'
rather than `gfc_get_sym_tree'.
(mio_f2k_derived): Ditto.
* decl.c (match_procedure_in_type): Ditto.
(gfc_match_generic): Ditto. Don't reference tbp-symbol.
* resolve.c (check_typebound_override): Adapt to changes.
(resolve_typebound_generic): Ditto.
(resolve_typebound_procedures): Ditto.
(ensure_not_abstract_walker): Ditto.
(ensure_not_abstract): Ditto.
(resolve_typebound_procedure): Ditto, ignore erraneous symbols (for
instance, through removed tentative ones).
* gfc-internals.texi (Type-bound procedures): Document changes.
2009-04-24 Daniel Kraft <d@domob.eu>
* gfortran.dg/typebound_generic_1.f03: Change so that no error is
expected on already erraneous symbol (renamed to fresh one).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146733
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 14:56:55 +0000 (14:56 +0000)]
2009-04-24 Robert Dewar <dewar@adacore.com>
* mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
clean.adb: Minor reformatting.
Minor code reorganization and message improvement.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146732
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 14:53:19 +0000 (14:53 +0000)]
2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
(Alternate_Languages): now implemented as a malloc-ed list rather
than through a table.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146731
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 24 Apr 2009 14:47:33 +0000 (14:47 +0000)]
2009-04-24 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/constraints.md ('I', 'J'): Fix condition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146729
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 14:47:29 +0000 (14:47 +0000)]
2009-04-24 Thomas Quinot <quinot@adacore.com>
* sem_res.adb (Static_Concatenation): Simplify predicate to make it
accurately handle cases such as "lit" & "lit" and
"lit" & static_string_constant
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146728
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 14:35:21 +0000 (14:35 +0000)]
2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
removed. Lists of projects are now implemented via standard malloc
rather than through the table.
2009-04-24 Thomas Quinot <quinot@adacore.com>
* sem_ch12.adb: Minor reformatting
* g-trasym.adb: Minor reformatting
* exp_ch6.adb: Minor reformatting
2009-04-24 Robert Dewar <dewar@adacore.com>
* layout.adb (Layout_Type): For packed array type, copy unset
size/alignment fields from the referenced Packed_Array_Type.
2009-04-24 Bob Duff <duff@adacore.com>
* lib-load.adb (Make_Instance_Unit): Revert previous change, no
longer needed after sem_ch12 changes.
* sem.adb (Walk_Library_Items): Include with's in some debugging
printouts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146727
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 14:30:39 +0000 (14:30 +0000)]
Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146726
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 14:30:06 +0000 (14:30 +0000)]
2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
only ever using the Project field.
2009-04-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
Body_Required on the generated compilation node. The new node is linked
to its body, but both share the same file, so we do not set this flag
on the new unit so as not to create a spurious dependency on a
non-existent body in the ali file for the instance.
2009-04-24 Robert Dewar <dewar@adacore.com>
* make.adb: Minor reformatting
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146725
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 13:59:23 +0000 (13:59 +0000)]
2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
Add_Source): merge some code between those. In particular change where
file normalization is done to avoid a few extra calls to
Canonicalize_File_Name. This also removes the need for passing
Current_Dir in a number of subprograms.
2009-04-24 Bob Duff <duff@adacore.com>
* lib-load.adb (Make_Instance_Unit): In the case where In_Main is
False, assign the correct unit to the Cunit field of the new table
entry. We want the spec unit, not the body unit.
* rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
interface for these.
(Maybe_Add_With): Check whether we're trying to a with on the current
unit, and avoid creating such directly self-referential with clauses.
(Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
[[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
and matches existing comments in the spec.
* sem.adb (Walk_Library_Items): Add various special cases to make the
assertions pass.
* sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
instead of Parent (N), for uniformity.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146724
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 13:49:15 +0000 (13:49 +0000)]
(pragma Source_File_Name): add missing documentation for the Index
argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146723
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 13:48:25 +0000 (13:48 +0000)]
2009-04-24 Robert Dewar <dewar@adacore.com>
* errout.ads: Minor reformatting
2009-04-24 Emmanuel Briot <briot@adacore.com>
* gnat_ugn.texi (Library Projects): add documentation on gnatmake's
behavior when the project includes sources from multiple languages
2009-04-24 Vincent Celier <celier@adacore.com>
* prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
is a language other than Ada declared.
* makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
Imported_First set to True.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146722
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Fri, 24 Apr 2009 13:46:47 +0000 (13:46 +0000)]
* gengtype-parse.c (parse_error): Add newline after message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146721
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 13:31:46 +0000 (13:31 +0000)]
2009-04-24 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb: additional optimization to inhibit creation of
redundant transient scopes.
2009-04-24 Bob Duff <duff@adacore.com>
* rtsfind.ads: Minor comment fix
2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
Get_Path_Name_And_Record_Ada_Sources): merged, since these were
basically doing the same work (for explicit or implicit sources).
(Find_Explicit_Sources): renamed to Find_Sources to better reflect its
role. Rewritten to share some code (testing that all explicit sources
have been found) between ada_only and multi_language modes.
2009-04-24 Jerome Lambourg <lambourg@adacore.com>
* sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
for CLI imported types.
(Analyze_Pragma): Allow CIL or Java imported functions returning
access-to-subprogram types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146720
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 13:25:35 +0000 (13:25 +0000)]
2009-04-24 Emmanuel Briot <briot@adacore.com>
* make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
(Project_Data.Dir_Path): field removed, since it can be computed
directly from .Directory, and is needed only once when processing the
project is buildgpr.adb or make.adb
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146719
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 13:23:31 +0000 (13:23 +0000)]
Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146718
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 13:22:53 +0000 (13:22 +0000)]
2009-04-24 Robert Dewar <dewar@adacore.com>
* prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
rtsfind.adb: Minor reformatting.
Minor code reorganization
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146717
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 24 Apr 2009 13:22:20 +0000 (13:22 +0000)]
2009-04-24 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/sse.md (avxmodesuffixs): Removed.
(*avx_pinsr<avxmodesuffixs>): Renamed to ...
(*avx_pinsr<ssevecsize>): This.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146716
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 13:15:23 +0000 (13:15 +0000)]
2009-04-24 Arnaud Charlet <charlet@adacore.com>
* mlib-prj.adb: Use friendlier english identifier.
* gnatcmd.adb, make.adb: Use better english identifiers.
2009-04-24 Robert Dewar <dewar@adacore.com>
* clean.adb: Minor reformatting
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146715
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 13:14:22 +0000 (13:14 +0000)]
2009-04-24 Robert Dewar <dewar@adacore.com>
* einfo.adb (OK_To_Rename): New flag
* einfo.ads (OK_To_Rename): New flag
* exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
OK_To_Rename set.
* exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
* sem_ch7.adb (Uninstall_Declarations): Allow for renames from
OK_To_Rename.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146714
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 24 Apr 2009 11:05:59 +0000 (11:05 +0000)]
* loop-iv.c (simple_rhs_p): Allow expressions that are
function_invariant_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146701
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 24 Apr 2009 11:01:57 +0000 (11:01 +0000)]
* loop-iv.c (replace_single_def_regs): Look for REG_EQUAL notes;
follow chains of regs with a single definition, and allow expressions
that are function_invariant_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146700
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:42:30 +0000 (10:42 +0000)]
2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
field removed. This is not a property of the
project, just a boolean used to traverse the project tree, and storing
it in the structure prevents doing multiple traversal in parallel.
(Project_Data.Checked): also removed, since it was playing the same role
as Seen when we had two nested loops, and this is no longer necessary
(For_All_Imported_Projects): removed, since in fact there was already
the equivalent in For_Every_Project_Imported. The latter was rewritten
to use a local hash table instead of Project_Data.Seen
Various loops were rewritten to use For_Every_Project_Imported, thus
removing the need for Project_Data.Seen. This avoids a lot of code
duplication
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146699
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:37:20 +0000 (10:37 +0000)]
2009-04-24 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Actuals): Do not create blocks around code
statements, even though the actual of the call is a concatenation,
because the argument is static, and we want to preserve warning
messages about sequences of code statements that are not marked
volatile.
* sem_warn.adb: remove obsolete comment about warning being obsolete
* s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
requeued and the delay has expired while within the accept statement
that executes the requeue, do not perform the requeue and indicate that
the timed call has been aborted.
2009-04-24 Emmanuel Briot <briot@adacore.com>
* mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
(Has_Ada_Sources, Has_Foreign_Sources): new subprograms
(Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
since they can be computed from the above.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146698
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:33:02 +0000 (10:33 +0000)]
Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146697
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:31:57 +0000 (10:31 +0000)]
2009-04-24 Vincent Celier <celier@adacore.com>
* gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
* prj-env.adb: Move all global variables to the private part of the
project tree data.
Access these new components instead of the global variables no longer
in existence.
(Add_To_Path): New Project_Tree_Ref parameter, to access the new
components that were previously global variables.
* prj-env.ads (Initialize): New Project_Tree_Ref parameter
(Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
parameter.
* prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
be able to call Set_Mapping_File_Initial_State_To_Empty with it.
* prj.adb (Initialize): Do not call Prj.Env.Initialize
(Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
components in the private part of the project tree data.
* prj.ads (Private_Project_Tree_Data): new components moved from
Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
Ada_Prj_Objects_File_Set, Fill_Mapping_File.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146696
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Fri, 24 Apr 2009 10:29:18 +0000 (10:29 +0000)]
2009-04-24 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/39867
* fold-const.c (fold_cond_expr_with_comparison): When folding
> and >= to MAX, make sure the MAX uses the same type as the
comparison operands.
testsuite:
2009-04-24 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/39867
* gcc.dg/pr39867.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146695
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Fri, 24 Apr 2009 10:27:06 +0000 (10:27 +0000)]
* config/frv/frv.c (frv_frame_access): Do not use reg+reg
addressing for DImode accesses.
(frv_print_operand_address): Handle PLUS case.
* config/frv/frv.h (FIXED_REGISTERS): Mark link register as
fixed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146694
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:25:20 +0000 (10:25 +0000)]
2009-04-24 Vincent Celier <celier@adacore.com>
* opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
* prj-nmsc.adb (Check_Library): No error for imports by shared library
projects, when --unchecked-shared-lib-imports is used.
2009-04-24 Robert Dewar <dewar@adacore.com>
* sem_ch7.adb: Minor reformatting
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146693
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:22:43 +0000 (10:22 +0000)]
2009-04-24 Tristan Gingold <gingold@adacore.com>
* s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
mach thread id.
2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
(For_All_Imported_Projects): new procedure
(For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
above rather than duplicating code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146692
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:18:20 +0000 (10:18 +0000)]
2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
(Source_Id, Source_Data): use a real list to store sources rather than
using an external table to store the elements. This makes code more
efficient and more readable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146691
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:13:43 +0000 (10:13 +0000)]
2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
(Source_Iterator): new type.
This removes the need for having the sources on three different
lists at the project tree, project and language level. They are now
on a single list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146689
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:10:09 +0000 (10:10 +0000)]
2009-04-24 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146688
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:06:35 +0000 (10:06 +0000)]
2009-04-24 Ed Schonberg <schonberg@adacore.com>
* sem_warn.adb: Add comment on obsolete warning
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146687
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:05:56 +0000 (10:05 +0000)]
* prj.ads (Language_Ptr): Make a general access type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146686
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:02:16 +0000 (10:02 +0000)]
2009-04-24 Arnaud Charlet <charlet@adacore.com>
* s-tassta.adb (Create_Task): Fix violation of locking rule.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146685
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 24 Apr 2009 10:01:21 +0000 (10:01 +0000)]
2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
to Language_Ptr to better reflect its new implementation.
(Project_Data.First_Languages_Processing): renamed to Languages now
that the field with that name is no longer used
(Project_Data.Languages): removed, no longer used, and duplicates
information already available through First_Language_Processing.
(Prj.Language_Index): now an actual pointer, instead of an index into
a table. This makes the list somewhat more obvious, but more importantly
removes the need to pass a pointer to the project_tree_data in a few
places, and makes accessing the attributes of a languages more
efficient.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146684
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 24 Apr 2009 09:35:19 +0000 (09:35 +0000)]
* include/tr1_impl/array (at): Do not use builtin_expect.
* include/ext/throw_allocator.h (allocate): Likewise.
* include/ext/pool_allocator.h (allocate): Likweise.
* include/ext/bitmap_allocator.h (allocate): Likewise.
* include/ext/rc_string_base.h (_S_construct): Likewise.
* include/ext/malloc_allocator.h (allocate): Likewise.
* include/ext/mt_allocator.h (allocate): Likewise.
* include/ext/sso_string_base.h (_M_construct): Likewise.
* include/bits/basic_string.tcc (_S_construct): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146681
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 24 Apr 2009 08:41:00 +0000 (08:41 +0000)]
Fix nit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146679
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 24 Apr 2009 08:37:17 +0000 (08:37 +0000)]
* fe.h (Set_Identifier_Casing): Add const to second parameter.
* gcc-interface/misc.c (internal_error_function): Make copy of retur
from pp_formatted_text before assigning BUFFER to it.
(gnat_init): Likewise for main_input_filename and gnat_argv.
(gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146678
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Fri, 24 Apr 2009 08:34:14 +0000 (08:34 +0000)]
2009-04-24 Janus Weil <janus@gcc.gnu.org>
PR fortran/39861
PR fortran/39864
* symbol.c (gfc_copy_formal_args_intr): Set attr.flavor and attr.dummy
for the formal arguments.
2009-04-24 Janus Weil <janus@gcc.gnu.org>
PR fortran/39861
PR fortran/39864
* gfortran.dg/intrinsic_1.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146677
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 24 Apr 2009 08:24:38 +0000 (08:24 +0000)]
Fix nits
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146676
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 24 Apr 2009 08:04:38 +0000 (08:04 +0000)]
* ttypes.ads (Target_Double_Float_Alignment): New variable.
(Target_Double_Scalar_Alignment): Likewise.
* get_targ.ads (Get_Strict_Alignment): Adjust external name.
(Get_Double_Float_Alignment): New imported function.
(Get_Double_Scalar_Alignment): Likewise.
* layout.adb (Set_Elem_Alignment): Take into account specific caps for
the alignment of "double" floating-point types and "double" or larger
scalar types, as parameterized by Target_Double_Float_Alignment and
Target_Double_Scalar_Alignment respectively.
* gcc-interface/gigi.h (double_float_alignment): Declare.
(double_scalar_alignment): Likewise.
(is_double_float_or_array): Likewise.
(is_double_scalar_or_array): Likewise.
(get_target_double_float_alignment): Likewise.
(get_target_double_scalar_alignment): Likewise.
* gcc-interface/targtyps.c (get_strict_alignment): Rename into...
(get_target_strict_alignment): ...this.
(get_target_double_float_alignment): New function.
(get_target_double_scalar_alignment): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
Test the presence of an alignment clause for under-aligned integer
types. Take into account specific caps for the alignment of "double"
floating-point types and "double" or larger scalar types, as
parameterized by Target_Double_Float_Alignment and
Target_Double_Scalar_Alignment respectively.
(validate_alignment): Likewise.
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
(gigi): Initialize double_float_alignment and double_scalar_alignment.
* gcc-interface/utils.c (double_float_alignment): New global variable.
(double_scalar_alignment): Likewise.
(is_double_float_or_array): New predicate.
(is_double_scalar_or_array): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146675
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 24 Apr 2009 07:20:19 +0000 (07:20 +0000)]
* gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
the conditional expression only if it is common to both arms.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146673
138bc75d-0d04-0410-961f-
82ee72b054a4