Martin Liska [Mon, 1 Jun 2015 12:54:05 +0000 (14:54 +0200)]
Remove old pool allocator.
* alloc-pool.c (create_alloc_pool): Remove.
(empty_alloc_pool): Likewise.
(free_alloc_pool): Likewise.
(free_alloc_pool_if_empty): Likewise.
(pool_alloc): Likewise.
(pool_free): Likewise.
* alloc-pool.h: Remove old declarations.
From-SVN: r223973
Martin Liska [Mon, 1 Jun 2015 12:51:12 +0000 (14:51 +0200)]
Change use to type-based pool allocator in ira-build.c.
* ira-build.c (initiate_allocnos): Use new type-based pool allocator.
(ira_create_object): Likewise.
(ira_create_allocno): Likewise.
(ira_create_live_range): Likewise.
(copy_live_range): Likewise.
(ira_finish_live_range): Likewise.
(ira_free_allocno_costs): Likewise.
(finish_allocno): Likewise.
(finish_allocnos): Likewise.
(initiate_prefs): Likewise.
(ira_create_pref): Likewise.
(finish_pref): Likewise.
(finish_prefs): Likewise.
(initiate_copies): Likewise.
(ira_create_copy): Likewise.
(finish_copy): Likewise.
(finish_copies): Likewise.
(finish_prefs): Likewise.
From-SVN: r223972
Martin Liska [Mon, 1 Jun 2015 12:50:36 +0000 (14:50 +0200)]
Change use to type-based pool allocator in ipa-prop.c
* ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
(allocate_and_init_ipcp_value): Likewise.
(ipcp_lattice::add_value): Likewise.
(merge_agg_lats_step): Likewise.
(ipcp_driver): Likewise.
* ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
(ipa_free_all_structures_after_iinln): Likewise.
* ipa-prop.h: Likewise.
From-SVN: r223971
Martin Liska [Mon, 1 Jun 2015 12:49:51 +0000 (14:49 +0200)]
Change use to type-based pool allocator in
* ipa-inline-analysis.c (edge_set_predicate): Use new type-based pool allocator.
(set_hint_predicate): Likewise.
(inline_summary_alloc): Likewise.
(reset_inline_edge_summary): Likewise.
(reset_inline_summary): Likewise.
(set_cond_stmt_execution_predicate): Likewise.
(set_switch_stmt_execution_predicate): Likewise.
(compute_bb_predicates): Likewise.
(estimate_function_body_sizes): Likewise.
(inline_free_summary): Likewise.
From-SVN: r223970
Martin Liska [Mon, 1 Jun 2015 12:49:17 +0000 (14:49 +0200)]
Change use to type-based pool allocator in ipa-prop.c.
* ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
(ipa_edge_duplication_hook): Likewise.
(ipa_free_all_structures_after_ipa_cp): Likewise.
(ipa_free_all_structures_after_iinln): Likewise.
From-SVN: r223969
Martin Liska [Mon, 1 Jun 2015 12:48:40 +0000 (14:48 +0200)]
Change use to type-based pool allocator in
* ipa-profile.c (account_time_size): Use new type-based pool allocator.
(ipa_profile_generate_summary): Likewise.
(ipa_profile_read_summary): Likewise.
(ipa_profile): Likewise.
From-SVN: r223968
Martin Liska [Mon, 1 Jun 2015 12:48:06 +0000 (14:48 +0200)]
Change use to type-based pool allocator in
* tree-ssa-structalias.c (new_var_info): Use new type-based pool allocator.
(new_constraint): Likewise.
(init_alias_vars): Likewise.
(delete_points_to_sets): Likewise.
From-SVN: r223967
Martin Liska [Mon, 1 Jun 2015 12:47:26 +0000 (14:47 +0200)]
Change use to type-based pool allocator in
* tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
(free_strinfo): Likewise.
(pass_strlen::execute): Likewise.
From-SVN: r223966
Martin Liska [Mon, 1 Jun 2015 12:46:55 +0000 (14:46 +0200)]
Change use to type-based pool allocator in
* tree-ssa-sccvn.c (vn_reference_insert): Use new type-based pool allocator.
(vn_reference_insert_pieces): Likewise.
(vn_phi_insert): Likewise.
(visit_reference_op_call): Likewise.
(copy_phi): Likewise.
(copy_reference): Likewise.
(process_scc): Likewise.
(allocate_vn_table): Likewise.
(free_vn_table): Likewise.
From-SVN: r223965
Martin Liska [Mon, 1 Jun 2015 12:46:24 +0000 (14:46 +0200)]
Change use to type-based pool allocator in
* tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based pool allocator.
(add_repeat_to_ops_vec): Likewise.
(get_ops): Likewise.
(maybe_optimize_range_tests): Likewise.
(init_reassoc): Likewise.
(fini_reassoc): Likewise.
From-SVN: r223964
Martin Liska [Mon, 1 Jun 2015 12:45:55 +0000 (14:45 +0200)]
Change use to type-based pool allocator in
* tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based pool allocator.
(bitmap_set_new): Likewise.
(get_or_alloc_expr_for_constant): Likewise.
(get_or_alloc_expr_for): Likewise.
(phi_translate_1): Likewise.
(compute_avail): Likewise.
(init_pre): Likewise.
(fini_pre): Likewise.
From-SVN: r223963
Martin Liska [Mon, 1 Jun 2015 12:45:14 +0000 (14:45 +0200)]
Change use to type-based pool allocator in
* sched-deps.c (create_dep_node): Use new type-based pool allocator.
(delete_dep_node): Likewise.
(create_deps_list): Likewise.
(free_deps_list): Likewise.
(sched_deps_init): Likewise.
(sched_deps_finish): Likewise.
From-SVN: r223962
Martin Liska [Mon, 1 Jun 2015 12:44:44 +0000 (14:44 +0200)]
Change use to type-based pool allocator in regcprop.c.
* regcprop.c (free_debug_insn_changes): Use new type-based pool allocator.
(replace_oldest_value_reg): Likewise.
(pass_cprop_hardreg::execute): Likewise.
From-SVN: r223961
Martin Liska [Mon, 1 Jun 2015 12:44:17 +0000 (14:44 +0200)]
Change use to type-based pool allocator in ira-build.c.
* ira-build.c (initiate_cost_vectors): Use new type-based pool allocator.
(ira_allocate_cost_vector): Likewise.
(ira_free_cost_vector): Likewise.
(finish_cost_vectors): Likewise.
From-SVN: r223960
Martin Liska [Mon, 1 Jun 2015 12:43:47 +0000 (14:43 +0200)]
Change use to type-based pool allocator in
* sel-sched-ir.c (alloc_sched_pools): Use new type-based pool allocator.
(free_sched_pools): Likewise.
* sel-sched-ir.h (_list_alloc): Likewise.
(_list_remove): Likewise.
From-SVN: r223959
Martin Liska [Mon, 1 Jun 2015 12:43:16 +0000 (14:43 +0200)]
Change use to type-based pool allocator in stmt.c.
* stmt.c (add_case_node): Use new type-based pool allocator.
(expand_case): Likewise.
(expand_sjlj_dispatch_table): Likewise.
From-SVN: r223958
Martin Liska [Mon, 1 Jun 2015 12:42:45 +0000 (14:42 +0200)]
Change use to type-based pool allocator in
* tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
(free_bb): Likewise.
(pass_cse_reciprocals::execute): Likewise.
From-SVN: r223957
Martin Liska [Mon, 1 Jun 2015 12:42:16 +0000 (14:42 +0200)]
Change use to type-based pool allocator in tree-sra.c.
* tree-sra.c (sra_initialize): Use new type-based pool allocator.
(sra_deinitialize) Likewise.
(create_access_1) Likewise.
(build_accesses_from_assign) Likewise.
(create_artificial_child_access) Likewise.
From-SVN: r223956
Martin Liska [Mon, 1 Jun 2015 12:41:48 +0000 (14:41 +0200)]
Change use to type-based pool allocator in dse.c.
* dse.c (get_group_info):Use new type-based pool allocator.
(dse_step0) Likewise.
(free_store_info) Likewise.
(delete_dead_store_insn) Likewise.
(free_read_records) Likewise.
(record_store) Likewise.
(replace_read) Likewise.
(check_mem_read_rtx) Likewise.
(scan_insn) Likewise.
(dse_step1) Likewise.
(dse_step7) Likewise.
From-SVN: r223955
Martin Liska [Mon, 1 Jun 2015 12:41:18 +0000 (14:41 +0200)]
Change use to type-based pool allocator in df-scan.c.
* df-scan.c (struct df_scan_problem_data):Use new type-based pool allocator.
(df_scan_free_internal) Likewise.
(df_scan_alloc) Likewise.
(df_grow_reg_info) Likewise.
(df_free_ref) Likewise.
(df_insn_create_insn_record) Likewise.
(df_mw_hardreg_chain_delete) Likewise.
(df_insn_info_delete) Likewise.
(df_free_collection_rec) Likewise.
(df_mw_hardreg_chain_delete_eq_uses) Likewise.
(df_sort_and_compress_mws) Likewise.
(df_ref_create_structure) Likewise.
(df_ref_record) Likewise.
From-SVN: r223954
Martin Liska [Mon, 1 Jun 2015 12:40:47 +0000 (14:40 +0200)]
Change use to type-based pool allocator in
* df-problems.c (df_chain_create):Use new type-based pool allocator.
(df_chain_unlink_1) Likewise.
(df_chain_unlink) Likewise.
(df_chain_remove_problem) Likewise.
(df_chain_alloc) Likewise.
(df_chain_free) Likewise.
* df.h (struct dataflow) Likewise.
From-SVN: r223953
Martin Liska [Mon, 1 Jun 2015 12:39:32 +0000 (14:39 +0200)]
Change use to type-based pool allocator in cselib.c.
* cselib.c (new_elt_list):Use new type-based pool allocator.
(new_elt_loc_list) Likewise.
(unchain_one_elt_list) Likewise.
(unchain_one_elt_loc_list) Likewise.
(unchain_one_value) Likewise.
(new_cselib_val) Likewise.
(cselib_init) Likewise.
(cselib_finish) Likewise.
From-SVN: r223952
Martin Liska [Mon, 1 Jun 2015 12:38:48 +0000 (14:38 +0200)]
Change use to type-based pool allocator in sh.c.
* config/sh/sh.c (add_constant):Use new type-based pool allocator.
(sh_reorg) Likewise.
From-SVN: r223951
Martin Liska [Mon, 1 Jun 2015 12:38:23 +0000 (14:38 +0200)]
Change use to type-based pool allocator in cfg.c.
* cfg.c (initialize_original_copy_tables):Use new type-based pool allocator.
(free_original_copy_tables) Likewise.
(copy_original_table_clear) Likewise.
(copy_original_table_set) Likewise.
From-SVN: r223950
Martin Liska [Mon, 1 Jun 2015 12:37:49 +0000 (14:37 +0200)]
Change use to type-based pool allocator in c-format.c.
* c-format.c (check_format_arg):Use new type-based pool allocator.
(check_format_info_main) Likewise.
From-SVN: r223949
Martin Liska [Mon, 1 Jun 2015 12:37:26 +0000 (14:37 +0200)]
Change use to type-based pool allocator in asan.c.
* asan.c (asan_mem_ref_get_alloc_pool):Use new type-based pool allocator.
(asan_mem_ref_new) Likewise.
(free_mem_ref_resources) Likewise.
From-SVN: r223948
Martin Liska [Mon, 1 Jun 2015 12:36:49 +0000 (14:36 +0200)]
Change use to type-based pool allocator in
* var-tracking.c (variable_htab_free):Use new type-based pool allocator.
(attrs_list_clear) Likewise.
(attrs_list_insert) Likewise.
(attrs_list_copy) Likewise.
(shared_hash_unshare) Likewise.
(shared_hash_destroy) Likewise.
(unshare_variable) Likewise.
(var_reg_delete_and_set) Likewise.
(var_reg_delete) Likewise.
(var_regno_delete) Likewise.
(drop_overlapping_mem_locs) Likewise.
(variable_union) Likewise.
(insert_into_intersection) Likewise.
(canonicalize_values_star) Likewise.
(variable_merge_over_cur) Likewise.
(dataflow_set_merge) Likewise.
(remove_duplicate_values) Likewise.
(variable_post_merge_new_vals) Likewise.
(dataflow_set_preserve_mem_locs) Likewise.
(dataflow_set_remove_mem_locs) Likewise.
(variable_from_dropped) Likewise.
(variable_was_changed) Likewise.
(set_slot_part) Likewise.
(clobber_slot_part) Likewise.
(delete_slot_part) Likewise.
(loc_exp_insert_dep) Likewise.
(notify_dependents_of_changed_value) Likewise.
(emit_notes_for_differences_1) Likewise.
(vt_emit_notes) Likewise.
(vt_initialize) Likewise.
(vt_finalize) Likewise.
From-SVN: r223947
Martin Liska [Mon, 1 Jun 2015 12:36:01 +0000 (14:36 +0200)]
Change use to type-based pool allocator in ira-color.c.
* ira-color.c (init_update_cost_records):Use new type-based pool allocator.
(get_update_cost_record) Likewise.
(free_update_cost_record_list) Likewise.
(finish_update_cost_records) Likewise.
(initiate_cost_update) Likewise.
From-SVN: r223946
Martin Liska [Mon, 1 Jun 2015 12:35:20 +0000 (14:35 +0200)]
Change use to type-based pool allocator in lra.c.
* lra.c (init_insn_regs): Use new type-based pool allocator.
(new_insn_reg) Likewise.
(free_insn_reg) Likewise.
(free_insn_regs) Likewise.
(finish_insn_regs) Likewise.
(init_insn_recog_data) Likewise.
(init_reg_info) Likewise.
(finish_reg_info) Likewise.
(lra_free_copies) Likewise.
(lra_create_copy) Likewise.
(invalidate_insn_data_regno_info) Likewise.
From-SVN: r223945
Martin Liska [Mon, 1 Jun 2015 12:34:31 +0000 (14:34 +0200)]
Change use to type-based pool allocator in lra-lives.c.
* lra-lives.c (free_live_range): Use new type-based pool allocator.
(free_live_range_list) Likewise.
(create_live_range) Likewise.
(copy_live_range) Likewise.
(lra_merge_live_ranges) Likewise.
(remove_some_program_points_and_update_live_ranges) Likewise.
(lra_live_ranges_init) Likewise.
(lra_live_ranges_finish) Likewise.
From-SVN: r223944
Martin Liska [Mon, 1 Jun 2015 12:33:23 +0000 (14:33 +0200)]
Change use to type-based pool allocator in et-forest.c.
* et-forest.c (et_new_occ): Use new type-based pool allocator.
(et_new_tree): Likewise.
(et_free_tree): Likewise.
(et_free_tree_force): Likewise.
(et_free_pools): Likewise.
(et_split): Likewise.
From-SVN: r223943
Martin Liska [Mon, 1 Jun 2015 12:29:12 +0000 (14:29 +0200)]
Introduce new type-based pool allocator.
* alloc-pool.c (struct alloc_pool_descriptor): Move definition
to header file.
* alloc-pool.h (pool_allocator::pool_allocator): New function.
(pool_allocator::release): Likewise.
(inline pool_allocator::release_if_empty): Likewise.
(inline pool_allocator::~pool_allocator): Likewise.
(pool_allocator::allocate): Likewise.
(pool_allocator::remove): Likewise.
From-SVN: r223942
James Greenhalgh [Mon, 1 Jun 2015 12:00:09 +0000 (12:00 +0000)]
[Patch obvious] Fuseable is not a word -> s/fuseable/fusible/g
gcc/
* sched-deps.c (sched_analyze_2): Replace fuseable with fusible
in comment.
From-SVN: r223940
James Greenhalgh [Mon, 1 Jun 2015 11:59:03 +0000 (11:59 +0000)]
[ARM Obvious] Fuseable is not a word -> s/fuseable/fusible/g
gcc/
* gcc/config/arm/arm-protos.h (tune_params): Rename fuseable_ops
to fusible_ops.
* gcc/config/arm/arm.c (arm_print_tune_info): Likewise.
(arm_macro_fusion_p): Likewise.
(arm_macro_fusion_pair_p): Likewise.
From-SVN: r223939
James Greenhalgh [Mon, 1 Jun 2015 11:57:54 +0000 (11:57 +0000)]
[AArch64 Obvious] "Fuseable" is not a word -> s/fuseable/fusible/g
gcc/
* config/aarch64/aarch64-protos.h (tune_params): Rename
fuseable_ops to fusible_ops.
* config/aarch64/aarch64.c (generic_tunings): Rename
fuseable_ops to fusible_ops.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.
(xgene1_tunings): Likewise.
(aarch64_macro_fusion_p): Likewise.
(aarch64_macro_fusion_pair_p): Likewise.
From-SVN: r223938
Jonathan Wakely [Mon, 1 Jun 2015 11:57:33 +0000 (12:57 +0100)]
libstdc++.exp (libstdc++_init): Unset LANGUAGE environment variable.
* testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
environment variable.
From-SVN: r223937
Dominik Vogt [Mon, 1 Jun 2015 11:38:44 +0000 (11:38 +0000)]
S390: Support -mtune=native and -march=native.
gcc/ChangeLog
2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/driver-native.c: New file.
* config/s390/x-native: New file.
* config.host: Add new files for s390.
* config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
and -march=native
* config.gcc: Likewise.
* config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
* config/s390/s390-opts.h (enum processor_type): Ditto.
* config/s390/s390.c (s390_option_override): Catch unhandled
PROCESSOR_NATIVE
From-SVN: r223934
Jakub Jelinek [Mon, 1 Jun 2015 11:38:04 +0000 (13:38 +0200)]
hotpatch-compile-15.c: Remove dg-prune-output directives.
* gcc.target/s390/hotpatch-compile-15.c: Remove dg-prune-output
directives.
(hp3, hp4): Add inline keyword.
* gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directive.
(hp2): Add inline keyword.
* gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directives.
(hp2): Add inline keyword.
From-SVN: r223933
Ilya Enkovich [Mon, 1 Jun 2015 11:24:07 +0000 (11:24 +0000)]
re PR target/65527 (ICE: in expand_builtin_with_bounds, at builtins.c:7120 with -fcheck-pointer-bounds -mmpx)
gcc/
PR target/65527
* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
redirection for instrumented calls.
* lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
(append_compiler_options): Append -fcheck-pointer-bounds.
* tree-chkp.h (chkp_copy_call_skip_bounds): New.
(chkp_redirect_edge): New.
* tree-chkp.c (chkp_copy_call_skip_bounds): New.
(chkp_redirect_edge): New.
gcc/testsuite/
PR target/65527
* gcc.target/i386/mpx/chkp-fix-calls-1.c: New.
* gcc.target/i386/mpx/chkp-fix-calls-2.c: New.
* gcc.target/i386/mpx/chkp-fix-calls-3.c: New.
* gcc.target/i386/mpx/chkp-fix-calls-4.c: New.
From-SVN: r223929
Alan Lawrence [Mon, 1 Jun 2015 10:56:28 +0000 (10:56 +0000)]
[ARM/AArch64 Testsuite] Cleanup advsimd-intrinsics.exp, removing unnecessary loop
* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: Pass
wildcard to gcc-dg-runtest; remove loop and unnecessary initialization.
From-SVN: r223928
Richard Biener [Mon, 1 Jun 2015 10:37:30 +0000 (10:37 +0000)]
re PR tree-optimization/66280 (ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1472)
2015-06-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/66280
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
def-use walking.
* g++.dg/torture/pr66280.C: New testcase.
* g++.dg/torture/pr66280-2.C: Likewise.
From-SVN: r223927
Eric Botcazou [Mon, 1 Jun 2015 09:16:55 +0000 (09:16 +0000)]
* gcc-interface/Makefile.in: Fix ARM/Darwin configuration.
From-SVN: r223924
Kyrylo Tkachov [Mon, 1 Jun 2015 09:11:34 +0000 (09:11 +0000)]
[AArch64] Fix type of *<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3 pattern
* config/aarch64/aarch64.md
(*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
logic_shift_imm.
From-SVN: r223922
Pierre-Marie de Rodat [Mon, 1 Jun 2015 09:03:34 +0000 (09:03 +0000)]
utils.c (scale_by_factor_of): When handling a function call expression, process the corresponding function body.
* gcc-interface/utils.c (scale_by_factor_of): When handling a function
call expression, process the corresponding function body. Also handle
potential addends.
From-SVN: r223921
Pierre-Marie de Rodat [Mon, 1 Jun 2015 08:49:46 +0000 (08:49 +0000)]
decl.c (gnat_to_gnu_entity): Replace pointer types with references ones for functions that return references.
* gcc-interface/decl.c (gnat_to_gnu_entity): Replace pointer types with
references ones for functions that return references.
From-SVN: r223920
Eric Botcazou [Mon, 1 Jun 2015 08:41:30 +0000 (08:41 +0000)]
decl.c (gnat_to_gnu_entity): For a definition of a type coming from a limited_with...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: For a
definition of a type coming from a limited_with, get to the full view
if it is not in the main code unit.
From-SVN: r223919
Eric Botcazou [Mon, 1 Jun 2015 08:22:14 +0000 (08:22 +0000)]
winnt.c (i386_pe_encode_section_info): Remove obsolete kludge.
* config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
Remove obsolete kludge.
ada/
* gcc-interface/utils.c (create_var_decl_1): If an assembler name is
specified, let the target mangle it before settting.
(create_subprog_decl): Likewise and move this treatment last.
From-SVN: r223918
Eric Botcazou [Mon, 1 Jun 2015 08:08:11 +0000 (08:08 +0000)]
lang-specs.h (TARGET_VXWORKS_RTP): Simplify and add trailing space.
* gcc-interface/lang-specs.h (TARGET_VXWORKS_RTP): Simplify and add
trailing space.
From-SVN: r223917
Eric Botcazou [Mon, 1 Jun 2015 08:06:59 +0000 (08:06 +0000)]
lang-specs.h (TARGET_VXWORKS_RTP): Move substitution to before first -gnatez switch.
* gcc-interface/lang-specs.h (TARGET_VXWORKS_RTP): Move substitution to
before first -gnatez switch.
From-SVN: r223916
Eric Botcazou [Mon, 1 Jun 2015 08:04:16 +0000 (08:04 +0000)]
decl.c (gnat_to_gnu_entity): If the record has a parent field and a representation clause...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the
record has a parent field and a representation clause, make sure that
it is properly aligned.
From-SVN: r223915
Richard Biener [Mon, 1 Jun 2015 07:56:34 +0000 (07:56 +0000)]
tree-ssa-reassoc.c (get_rank): Simplify.
2015-06-01 Richard Biener <rguenther@suse.de>
* tree-ssa-reassoc.c (get_rank): Simplify.
From-SVN: r223914
Eric Botcazou [Mon, 1 Jun 2015 07:51:02 +0000 (07:51 +0000)]
trans.c (lvalue_required_p): Deal with character and enumeration literals as index values.
* gcc-interface/trans.c (lvalue_required_p) <N_Indexed_Component>: Deal
with character and enumeration literals as index values.
From-SVN: r223913
Eric Botcazou [Mon, 1 Jun 2015 07:43:09 +0000 (07:43 +0000)]
gigi.h (build_simple_component_ref): Declare.
* gcc-interface/gigi.h (build_simple_component_ref): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
address clause on aliased object with unconstrained nominal subtype.
Mark the aligning variable as artificial, do not convert the address
expression immediately but mark it as constant instead.
* gcc-interface/utils.c (convert): If the target type contains a
template, be prepared for an empty array.
(maybe_unconstrained_array): Likewise.
* gcc-interface/utils2.c (known_alignment) <POINTER_PLUS_EXPR>: Deal
with the pattern built for aligning types.
<INTEGER_CST>: Do not cap the value at BIGGEST_ALIGNMENT.
(build_simple_component_ref): Make public.
If the base object is a constructor that contains a template, fold the
result field by field.
From-SVN: r223912
GCC Administrator [Mon, 1 Jun 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r223910
Jonathan Wakely [Sun, 31 May 2015 22:42:17 +0000 (23:42 +0100)]
re PR libstdc++/66354 ([UBSAN] stl_algobase.h:708:7: runtime error: null pointer passed as argument)
PR libstdc++/66354
* include/bits/stl_algobase.h (__fill_a): Check length before calling
memset.
From-SVN: r223906
Eric Botcazou [Sun, 31 May 2015 21:47:28 +0000 (21:47 +0000)]
c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
* c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
(has_nontrivial_methods): Likewise.
From-SVN: r223905
Jason Merrill [Sun, 31 May 2015 20:36:26 +0000 (16:36 -0400)]
* constexpr.c (cxx_eval_indirect_ref): Try folding first.
From-SVN: r223902
Jason Merrill [Sun, 31 May 2015 20:36:18 +0000 (16:36 -0400)]
re PR c++/66320 (ICE: in cxx_eval_constant_expression, at cp/constexpr.c:3524)
PR c++/66320
* constexpr.c (cxx_eval_constant_expression): Treat a placeholder
with the wrong type as non-constant.
From-SVN: r223901
Eric Botcazou [Sun, 31 May 2015 16:32:46 +0000 (16:32 +0000)]
* s-oscons-tmplt.c: Add explicit tests for Android alongside Linux.
From-SVN: r223900
H.J. Lu [Sun, 31 May 2015 12:06:06 +0000 (12:06 +0000)]
Check CXXFLAGS, instead of CFLAGS, for NO_PIE_CFLAGS
* configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
* configure: Regenerated.
From-SVN: r223899
Mikhail Maltsev [Sun, 31 May 2015 08:12:55 +0000 (08:12 +0000)]
Fix C++11 compatibility issue
* config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
issue (add space between string literal and macro).
* config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
From-SVN: r223898
GCC Administrator [Sun, 31 May 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r223896
Eric Botcazou [Sat, 30 May 2015 21:23:24 +0000 (21:23 +0000)]
Fix copyright years.
From-SVN: r223891
Eric Botcazou [Sat, 30 May 2015 21:13:59 +0000 (21:13 +0000)]
adaint.c: Test for __linux__ instead of linux and __sun__ instead of sun.
* adaint.c: Test for __linux__ instead of linux and __sun__ instead
of sun. Add missing leading underscore to AIX. Remove #elif 0.
* adaint.h: Likewise.
* cio.c: Likewise.
* cstreams.c: Likewise.
* env.c: Likewise.
* gsocket.h: Likewise.
* init.c: Likewise. Test for __i386__ instead of i386.
* link.c: Likewise.
* s-oscons-tmplt.c: Likewise.
* sysdep.c: Likewise.
* terminals.c: Likewise. Use BSD symbol instead of FREEBSD.
* tracebak.c: Likewise. Test for __sparc__ instead of sparc.
From-SVN: r223890
Andreas Schwab [Sat, 30 May 2015 17:04:15 +0000 (17:04 +0000)]
m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for implict or explicit -fPIE or -fpie.
* config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
implict or explicit -fPIE or -fpie.
From-SVN: r223889
Mike Frysinger [Sat, 30 May 2015 16:39:52 +0000 (16:39 +0000)]
alpha: turn -mcpu=<cpu> into -m<cpu> for the assembler all the time
If you create a toolchain with the target alphaev68-unknown-linux-gnu, gcc
will use the -mcpu=ev67 by default when compiling. Some software packages
(like gmp) will use this target info to decide that it may freely use
assembly code that targets ev67+. The trouble comes in when trying to
compile that pure assembly code.
While gcc will use -mcpu=ev67 just fine, it will invoke gas without an
-mev67 option, so the assembler will default to the lowest common
denominator -- ev4 in this case. Inline assembly in C code is normally
just peachy because gcc's assembler output will start with ".arch <cpu>"
and the assembler will accept that. But if the hand coded assembly code
lacks that .arch, you easily end up with errors like so:
opcode `cttz' not supported for target <all>
While the assembly code could/should be fixed to explicitly output the
.arch directive, I think it's reasonable to expect this to work:
echo 'cttz $20,$21' | gcc -x assembler -c - -o /dev/null -mcpu=ev67
This simple patch implements that, although I guess it is a bit redundant
in the default case where gcc outputs .arch. Perhaps that should all be
punted in favor of a specs-only approach. Considering gas respects .arch
in the code over the command line, it should also make things more natural.
The command line is processed in the standard/expected way -- gcc defaults
the -m option while user's custom -mcpu/-Wa,-m options come after, and the
guy writing the assembly code is free to use .arch to override everything
else.
From-SVN: r223888
H.J. Lu [Sat, 30 May 2015 15:36:59 +0000 (15:36 +0000)]
Fix dg-warning in gcc.dg/alias-8.c
* gcc.dg/alias-8.c: Fix dg-warning.
From-SVN: r223887
Jonathan Wakely [Sat, 30 May 2015 11:44:02 +0000 (12:44 +0100)]
stl_algobase.h (__equal<true>::equal): Check length instead of checking for null pointers.
* include/bits/stl_algobase.h (__equal<true>::equal): Check length
instead of checking for null pointers.
(__lexicographical_compare<true>::__lc): Only check shorter length.
From-SVN: r223886
DJ Delorie [Sat, 30 May 2015 06:05:54 +0000 (02:05 -0400)]
expmed.c (extract_bit_field_1): Avoid clobbering a yet-to-be-used base/index register.
* expmed.c (extract_bit_field_1): Avoid clobbering a
yet-to-be-used base/index register.
From-SVN: r223885
Mikhail Maltsev [Sat, 30 May 2015 05:44:17 +0000 (05:44 +0000)]
Add new script to contrib (GIMPLE syntax highlighting rules for Vim).
contrib/
* gimple.vim: New file.
From-SVN: r223884
Jan Hubicka [Sat, 30 May 2015 00:32:04 +0000 (02:32 +0200)]
alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
* alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
(alias_stats): Add num_universal.
(alias_set_subset_of): Special case pointers; be ready for NULL
children.
(alias_sets_conflict_p): Special case pointers; be ready for NULL
children.
(init_alias_set_entry): Break out from ...
(record_alias_subset): ... here; propagate new fields;
allocate children only when really needed.
(get_alias_set): Do less generous pointer globbing.
(dump_alias_stats_in_alias_c): Update statistics.
* gcc.dg/alias-8.c: Do not xfail.
* gcc.dg/pr62167.c: Prevent FRE.
* gcc.dg/alias-14.c: New testcase.
From-SVN: r223883
GCC Administrator [Sat, 30 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r223882
Alan Modra [Sat, 30 May 2015 00:15:30 +0000 (09:45 +0930)]
rs6000.c (split_stack_arg_pointer_used_p): Scan correct block for use of r12.
* config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
correct block for use of r12.
(rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
From-SVN: r223878
François Dumont [Fri, 29 May 2015 21:29:07 +0000 (21:29 +0000)]
2015-05-29 François Dumont fdumont@gcc.gnu.org>
* include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
_GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
* include/debug/assertions.h: ...here, new.
* include/debug/formatter.h
(_Error_formatter::_Is_iterator_value_type): New.
(_Error_formatter::_Is_instance): New.
(_Error_formatter::_Parameter): Make public and not friend anymore.
(_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
(_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
entry.
(_Error_formatter::_Parameter::_Type): New.
(_Error_formatter::_Parameter::_Instance): New, inherit from
latter.
(union _Error_formatter::_Parameter::_M_variant): Reorganize.
(_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
overloads take iterator through a const reference.
(_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
New.
(_Parameter(const _Type&, const char*, _Is_instance)): New.
(_Error_formatter::_M_print_type): Delete.
(_Error_formatter::_M_iterator_value_type): New.
(_Error_formatter::_M_instance): New.
* include/Makefile.am: Add new above debug file.
* include/Makefile.in: Regenerate.
* include/debug/functions.h
(__check_dereferenceable(const _Safe_iterator<>&),
__valid_range(const _Safe_iterator<>&),
__is_safe_random_iterator<_Safe_iterator<>>): Move...
* include/debug/safe_iterator.h: ... here.
Replace debug.h include with assertions.h.
(__check_singular_aux): Move...
* include/debug/safe_base.h: ... here.
* include/debug/functions.h
(__check_dereferenceable(const _Safe_local_iterator<>&),
__valid_range(const _Safe_local_iterator<>&): Move...
* include/debug/safe_local_iterator.h: ...here.
* include/debug/safe_sequence.h: Replace debug.h with assertions.h.
Remove _Safe_iterator declaration.
* include/debug/safe_unordered_container.h: Replace debug.h with
assertions.h.
* include/debug/array: Replace safe_sequence.h include with
formatter.h and macros.h.
* include/debug/deque: Include functions.tcc.
* include/debug/forward_list: Likewise.
* include/debug/list: Likewise.
* include/debug/string: Likewise.
* include/debug/vector: Likewise.
* include/bits/unique_ptr.h: Replace debug.h include with new
assertions.h.
* include/bits/stl_iterator_base_funcs.h: Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
* src/c++11/debug.cc: Adapt.
From-SVN: r223877
Christophe Lyon [Fri, 29 May 2015 19:46:01 +0000 (19:46 +0000)]
vextp64_1.c: Close comment on final line.
2015-05-29 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/arm/simd/vextp64_1.c: Close comment on final line.
From-SVN: r223876
Joseph Myers [Fri, 29 May 2015 18:03:09 +0000 (19:03 +0100)]
* sv.po: Update.
From-SVN: r223873
Jonathan Wakely [Fri, 29 May 2015 15:18:05 +0000 (16:18 +0100)]
status_cxx2017.xml: Fix duplicate ID attribute.
* doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
* doc/html/manual/*: Regenerate.
From-SVN: r223868
Dominik Vogt [Fri, 29 May 2015 14:26:56 +0000 (14:26 +0000)]
PR 66215: S390: Fix placement of post-label NOPs with -mhotpatch
gcc/ChangeLog:
PR target/66215
* config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
with -mhotpatch=.
gcc/testsuite/ChangeLog:
PR target/66215
* gcc.target/s390/hotpatch-1.c: Remove optimization options from
dg-options.
* gcc.target/s390/hotpatch-10.c: Likewise.
* gcc.target/s390/hotpatch-11.c: Likewise.
* gcc.target/s390/hotpatch-12.c: Likewise.
* gcc.target/s390/hotpatch-17.c: Likewise.
* gcc.target/s390/hotpatch-18.c: Likewise.
* gcc.target/s390/hotpatch-20.c: Likewise.
* gcc.target/s390/hotpatch-21.c: Likewise.
* gcc.target/s390/hotpatch-22.c: Likewise.
* gcc.target/s390/hotpatch-23.c: Likewise.
* gcc.target/s390/hotpatch-24.c: Likewise.
* gcc.target/s390/hotpatch-2.c: Likewise. Adjust scan-assembler
to check for the exact nops too.
* gcc.target/s390/hotpatch-3.c: Likewise.
* gcc.target/s390/hotpatch-4.c: Likewise.
* gcc.target/s390/hotpatch-5.c: Likewise.
* gcc.target/s390/hotpatch-6.c: Likewise.
* gcc.target/s390/hotpatch-7.c: Likewise.
* gcc.target/s390/hotpatch-8.c: Likewise.
* gcc.target/s390/hotpatch-9.c: Likewise.
* gcc.target/s390/hotpatch-14.c: Likewise.
* gcc.target/s390/hotpatch-15.c: Likewise.
* gcc.target/s390/hotpatch-16.c: Likewise.
* gcc.target/s390/hotpatch-19.c: Likewise.
* gcc.target/s390/hotpatch-25.c: Likewise. Remove
scan-assembler-times counting number of .align directives.
* gcc.target/s390/hotpatch-13.c: Remove optimization options from
dg-options. Remove scan-assembler-times counting number of .align
directives.
* gcc.target/s390/hotpatch-26.c: New file.
* gcc.target/s390/hotpatch-27.c: New file.
* gcc.target/s390/hotpatch-28.c: New file.
* gcc.target/s390/s390.exp: Run hotpatch-*.c tests as torture tests
using -Os -O0 -O1 -O2 -O3 options.
From-SVN: r223867
Jonathan Wakely [Fri, 29 May 2015 13:44:52 +0000 (14:44 +0100)]
future (__async_result_of): New alias template.
* include/std/future (__async_result_of): New alias template.
(async): Use __async_result_of to pass decayed types to result_of.
* testsuite/30_threads/async/lwg2021.cc: New.
* doc/xml/manual/intro.xml: Document LWG 2021 status.
From-SVN: r223866
Jonathan Wakely [Fri, 29 May 2015 13:28:54 +0000 (14:28 +0100)]
re PR libstdc++/66327 (-fsanitize=nonnull-attribute errors in stl_algobase.h)
PR libstdc++/66327
* include/bits/stl_algobase.h (__equal<true>::equal): Do not call
memcmp with null pointers.
(__lexicographical_compare<true>::__lc): Do not call memcmp for empty
ranges.
From-SVN: r223865
Kyrylo Tkachov [Fri, 29 May 2015 13:21:32 +0000 (13:21 +0000)]
[obvious] Close comment in aarch64 test
* gcc.target/aarch64/vdup_lane_2.c: Close comment on final line.
From-SVN: r223864
Jakub Jelinek [Fri, 29 May 2015 13:06:23 +0000 (15:06 +0200)]
re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE)
PR tree-optimization/66142
* tree-if-conv.c (if_convertible_phi_p): Don't give up on
virtual phis that feed themselves.
* gcc.dg/vect/pr66142.c: New test.
From-SVN: r223863
Richard Biener [Fri, 29 May 2015 10:50:58 +0000 (10:50 +0000)]
re PR middle-end/66314 (ice in verify_loop_structure)
2015-05-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/66314
* tree-ssa-threadupdate.c (create_block_for_threading): Add
parameter that says which loop the new block belongs to.
(ssa_create_duplicates): Blocks duplicated for the threaded
path belong to the loop of the thread destination.
* gcc.dg/asan/pr66314.c: New testcase.
From-SVN: r223861
Nick Clifton [Fri, 29 May 2015 10:18:23 +0000 (10:18 +0000)]
t-msp430 (MULTILIB_OPTIONS): Add multilibs for the different types of hardware multiply available on the MSP430.
* config/msp430/t-msp430 (MULTILIB_OPTIONS): Add multilibs for the
different types of hardware multiply available on the MSP430.
(MULTILIB_DIRNAMES): Likewise.
(MULTILIB_EXCEPTIONS): Add exceptions for incompatible cpus and
hardware multiply types.
(MULTILIB_MATCHES): Add matches for known MCU names and hardware
multiply types.
From-SVN: r223860
Tristan Gingold [Fri, 29 May 2015 08:40:20 +0000 (08:40 +0000)]
libbacktrace: add support of PE/COFF
libbacktrace/
2015-05-29 Tristan Gingold <gingold@adacore.com>
* pecoff.c: New file.
* Makefile.am (FORMAT_FILES): Add pecoff.c and dependencies.
* Makefile.in: Regenerate.
* filetype.awk: Detect pecoff.
* configure.ac: Define BACKTRACE_SUPPORTS_DATA on elf platforms.
Add pecoff.
* btest.c (test5): Test enabled only if BACKTRACE_SUPPORTS_DATA is
true.
* backtrace-supported.h.in (BACKTRACE_SUPPORTS_DATA): Define.
* configure: Regenerate.
* pecoff.c: New file.
From-SVN: r223859
Bernhard Reutner-Fischer [Fri, 29 May 2015 08:20:29 +0000 (10:20 +0200)]
testsuite: auto-wipe dump files
gcc/testsuite/ChangeLog
2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* lib/gcc-dg.exp (cleanup-ipa-dump, cleanup-rtl-dump,
cleanup-tree-dump, cleanup-dump, cleanup-saved-temps): Remove.
Adjust all callers.
(schedule-cleanups, dg-keep-saved-temps): New proc.
(gcc-dg-test-1): Schedule cleanups.
* lib/profopt.exp (profopt-execute): Likewise.
* g++.dg/cdce3.C: Adjust expected line numbers.
* gcc.dg/cdce1.c: Likewise.
* gcc.dg/cdce2.c: Likewise.
* gcc.dg/strlenopt-22.c: Fix comment delimiter.
* gcc.dg/strlenopt-24.c: Likewise.
* gcc.dg/tree-ssa/vrp26.c: Likewise.
* gcc.dg/tree-ssa/vrp28.c: Likewise.
* obj-c++.dg/encode-2.mm: Likewise.
libgomp/ChangeLog
2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* testsuite/libgomp.graphite/bounds.c: Adjust for
cleanup-tree-dump removal.
* testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
* testsuite/libgomp.graphite/pr41118.c: Likewise.
gcc/ChangeLog
2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
to cleanup-saved-temps.
* doc/sourcebuild.texi (Clean up generated test files): Expand
introduction.
(dg-keep-saved-temps): Document new proc.
(cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
cleanup-saved-temps): Remove.
From-SVN: r223858
GCC Administrator [Fri, 29 May 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r223856
DJ Delorie [Thu, 28 May 2015 21:35:58 +0000 (17:35 -0400)]
* gcc.c-torture/execute/pr65369.c: Don't assume int is 32 bits.
From-SVN: r223851
Andreas Tobler [Thu, 28 May 2015 20:37:05 +0000 (22:37 +0200)]
configure.ac: Move the atoll check from AC_CHECK_FUNCS to gcc_AC_CHECK_DECLS.
2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
* configure.ac: Move the atoll check from AC_CHECK_FUNCS to
gcc_AC_CHECK_DECLS.
* configure: Regenerate.
From-SVN: r223847
Andreas Tobler [Thu, 28 May 2015 18:13:55 +0000 (20:13 +0200)]
configure.host: Add bits for FreeBSD amd64 and i386.
2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
* configure.host: Add bits for FreeBSD amd64 and i386.
* configure.ac: Add signal handler for FreeBSD (amd64/i386)
* configure: Regenerate.
* include/freebsd-signal.h: New file.
From-SVN: r223845
Uros Bizjak [Thu, 28 May 2015 17:36:47 +0000 (19:36 +0200)]
futex_bits.h (sys_futex0): Change operands "op" and "val" to int.
* config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
operands "op" and "val" to int.
* config/linux/sh/futex_bits.h (sys_futex0) Change operands
"op" and "val" to int.
* config/linux/alpha/futex_bits.h (sys_futex0) Change operands
"op" and "val" to int.
* config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
Declare as static int.
(FUTEX_PRIVATE_FLAG): Remove L suffix.
* config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.
Revert:
* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]:
Change operand "op" to long.
From-SVN: r223844
Jonathan Wakely [Thu, 28 May 2015 16:00:09 +0000 (17:00 +0100)]
re PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and breaks on clang+ubsan)
PR libstdc++/65352
* include/profile/array (array::data): Use _S_ptr.
* include/debug/array (array::data): Likewise.
From-SVN: r223838
Eric Botcazou [Thu, 28 May 2015 15:45:08 +0000 (15:45 +0000)]
utils.c (max_size): Add special code to deal with the subtraction of a "negative" value in an...
* gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to
deal with the subtraction of a "negative" value in an unsigned type.
From-SVN: r223837
Eric Botcazou [Thu, 28 May 2015 15:37:57 +0000 (15:37 +0000)]
decl.c (gnat_to_gnu_entity): Do not error out on a return type which has a size that overflows if...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Do
not error out on a return type which has a size that overflows if the
return is done by invisible reference.
From-SVN: r223836
Eric Botcazou [Thu, 28 May 2015 15:33:00 +0000 (15:33 +0000)]
utils.c (gnat_pushdecl): Reunify the handling of array and pointer types wrt DECL_ORIGINAL_TYPE and...
* gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array
and pointer types wrt DECL_ORIGINAL_TYPE and adjust left and right.
From-SVN: r223835
Eric Botcazou [Thu, 28 May 2015 15:24:12 +0000 (15:24 +0000)]
gigi.h (gnat_stabilize_reference): Adjust.
* gcc-interface/gigi.h (gnat_stabilize_reference): Adjust.
(rewrite_fn): Remove third parameter.
(type_is_padding_self_referential): New inline predicate.
(return_type_with_variable_size_p): Likewise.
* gcc-interface/decl.c (allocatable_size_p): More around.
(cannot_be_superflat_p): Rename into...
(cannot_be_superflat ): ...this.
(initial_value_needs_conversion): New predicate.
(gnat_to_gnu_entity): Invoke type_is_padding_self_referential,
initial_value_needs_conversion and adjust to above renaming.
For a renaming, force the materialization if the inner expression
is compound. Adjust calls to elaborate_reference and build a
compound expression if needed.
(struct er_dat): Add N field.
(elaborate_reference_1): Remove N parameter and adjust.
(elaborate_reference): Add INIT parameter and pass it in the call to
gnat_rewrite_reference. Adjust initial expression.
* gcc-interface/trans.c (Call_to_gnu): Treat renamings the same way as
regular object declarations when it comes to creating a temporary.
Adjust call to gnat_stabilize_reference and build a compound expression
if needed. Invoke return_type_with_variable_size_p.
(gnat_to_gnu): Invoke type_is_padding_self_referential. In case #4,
return a call to a function unmodified if it returns with variable size
and is also the initial expression in an object declaration.
* gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: Use the RHS'
type if it is a call to a function that returns with variable size.
(build_unary_op): Invoke type_is_padding_self_referential.
(gnat_stabilize_reference_1): Remove N parameter and adjust.
(gnat_stabilize_reference): Add INIT parameter and pass it in the call
to gnat_rewrite_reference.
(gnat_rewrite_reference): Remove N, add INIT parameter and adjust.
<COMPOUND_EXPR>: New case.
From-SVN: r223834
Mike Frysinger [Thu, 28 May 2015 14:27:35 +0000 (14:27 +0000)]
configure: fix vtable help
Spacing is off causing --help to not line up. Use the standard
AS_HELP_STRING like all the other options.
From-SVN: r223833
Mike Frysinger [Thu, 28 May 2015 13:59:58 +0000 (13:59 +0000)]
nios2-linux: add missing cpp specs
Define CPP_SPEC for nios2 linux targets so that -posix & -pthread work
like on all other linux targets.
Discovered via Gentoo bug https://bugs.gentoo.org/543114
From-SVN: r223823
Mike Frysinger [Thu, 28 May 2015 13:59:32 +0000 (13:59 +0000)]
microblaze-linux: add missing cpp specs
Define CPP_SPEC for microblaze linux targets so that -posix & -pthread
work like on all other linux targets.
Discovered via Gentoo bug https://bugs.gentoo.org/543114
From-SVN: r223822
Uros Bizjak [Thu, 28 May 2015 13:59:17 +0000 (15:59 +0200)]
futex.h (sys_futex0): Remove function.
* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
(futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
(futex_wake) [!__x86_64__]: Ditto.
From-SVN: r223821