gcc.git
9 years agoChange use to type-based pool allocator in ipa-prop.c.
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in regcprop.c.
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

9 years agoChange use to type-based pool allocator in ira-build.c.
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in stmt.c.
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in tree-sra.c.
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

9 years agoChange use to type-based pool allocator in dse.c.
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

9 years agoChange use to type-based pool allocator in df-scan.c.
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in cselib.c.
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

9 years agoChange use to type-based pool allocator in sh.c.
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

9 years agoChange use to type-based pool allocator in cfg.c.
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

9 years agoChange use to type-based pool allocator in c-format.c.
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

9 years agoChange use to type-based pool allocator in asan.c.
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

9 years agoChange use to type-based pool allocator in
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

9 years agoChange use to type-based pool allocator in ira-color.c.
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

9 years agoChange use to type-based pool allocator in lra.c.
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

9 years agoChange use to type-based pool allocator in lra-lives.c.
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

9 years agoChange use to type-based pool allocator in et-forest.c.
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

9 years agoIntroduce new type-based pool allocator.
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

9 years ago[Patch obvious] Fuseable is not a word -> s/fuseable/fusible/g
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

9 years ago[ARM Obvious] Fuseable is not a word -> s/fuseable/fusible/g
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

9 years ago[AArch64 Obvious] "Fuseable" is not a word -> s/fuseable/fusible/g
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

9 years agolibstdc++.exp (libstdc++_init): Unset LANGUAGE environment variable.
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

9 years agoS390: Support -mtune=native and -march=native.
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

9 years agohotpatch-compile-15.c: Remove dg-prune-output directives.
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

9 years agore PR target/65527 (ICE: in expand_builtin_with_bounds, at builtins.c:7120 with ...
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

9 years ago[ARM/AArch64 Testsuite] Cleanup advsimd-intrinsics.exp, removing unnecessary loop
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

9 years agore PR tree-optimization/66280 (ICE: in vect_get_vec_def_for_operand, at tree-vect...
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

9 years ago* gcc-interface/Makefile.in: Fix ARM/Darwin configuration.
Eric Botcazou [Mon, 1 Jun 2015 09:16:55 +0000 (09:16 +0000)]
* gcc-interface/Makefile.in: Fix ARM/Darwin configuration.

From-SVN: r223924

9 years ago[AArch64] Fix type of *<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3 pattern
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

9 years agoutils.c (scale_by_factor_of): When handling a function call expression, process the...
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

9 years agodecl.c (gnat_to_gnu_entity): Replace pointer types with references ones for functions...
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

9 years agodecl.c (gnat_to_gnu_entity): For a definition of a type coming from a limited_with...
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

9 years agowinnt.c (i386_pe_encode_section_info): Remove obsolete kludge.
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

9 years agolang-specs.h (TARGET_VXWORKS_RTP): Simplify and add trailing space.
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

9 years agolang-specs.h (TARGET_VXWORKS_RTP): Move substitution to before first -gnatez switch.
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

9 years agodecl.c (gnat_to_gnu_entity): If the record has a parent field and a representation...
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

9 years agotree-ssa-reassoc.c (get_rank): Simplify.
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

9 years agotrans.c (lvalue_required_p): Deal with character and enumeration literals as index...
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

9 years agogigi.h (build_simple_component_ref): Declare.
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

9 years agoDaily bump.
GCC Administrator [Mon, 1 Jun 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223910

9 years agore PR libstdc++/66354 ([UBSAN] stl_algobase.h:708:7: runtime error: null pointer...
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

9 years agoc-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
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

9 years ago* constexpr.c (cxx_eval_indirect_ref): Try folding first.
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

9 years agore PR c++/66320 (ICE: in cxx_eval_constant_expression, at cp/constexpr.c:3524)
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

9 years ago* s-oscons-tmplt.c: Add explicit tests for Android alongside Linux.
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

9 years agoCheck CXXFLAGS, instead of CFLAGS, for NO_PIE_CFLAGS
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

9 years agoFix C++11 compatibility issue
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

9 years agoDaily bump.
GCC Administrator [Sun, 31 May 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223896

9 years agoFix copyright years.
Eric Botcazou [Sat, 30 May 2015 21:23:24 +0000 (21:23 +0000)]
Fix copyright years.

From-SVN: r223891

9 years agoadaint.c: Test for __linux__ instead of linux and __sun__ instead of sun.
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

9 years agom68k.h (ASM_PCREL_SPEC): Pass --pcrel also for implict or explicit -fPIE or -fpie.
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

9 years agoalpha: turn -mcpu=<cpu> into -m<cpu> for the assembler all the time
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

9 years agoFix dg-warning in gcc.dg/alias-8.c
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

9 years agostl_algobase.h (__equal<true>::equal): Check length instead of checking for null...
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

9 years agoexpmed.c (extract_bit_field_1): Avoid clobbering a yet-to-be-used base/index register.
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

9 years agoAdd new script to contrib (GIMPLE syntax highlighting rules for Vim).
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

9 years agoalias.c (alias_set_entry_d): Add is_pointer and has_pointer.
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

9 years agoDaily bump.
GCC Administrator [Sat, 30 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223882

9 years agors6000.c (split_stack_arg_pointer_used_p): Scan correct block for use of r12.
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

9 years ago2015-05-29 François Dumont fdumont@gcc.gnu.org>
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

9 years agovextp64_1.c: Close comment on final line.
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

9 years ago* sv.po: Update.
Joseph Myers [Fri, 29 May 2015 18:03:09 +0000 (19:03 +0100)]
* sv.po: Update.

From-SVN: r223873

9 years agostatus_cxx2017.xml: Fix duplicate ID attribute.
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

9 years agoPR 66215: S390: Fix placement of post-label NOPs with -mhotpatch
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

9 years agofuture (__async_result_of): New alias template.
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

9 years agore PR libstdc++/66327 (-fsanitize=nonnull-attribute errors in stl_algobase.h)
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

9 years ago[obvious] Close comment in aarch64 test
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

9 years agore PR tree-optimization/66142 (Loop is not vectorized because not sufficient support...
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

9 years agore PR middle-end/66314 (ice in verify_loop_structure)
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

9 years agot-msp430 (MULTILIB_OPTIONS): Add multilibs for the different types of hardware multip...
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

9 years agolibbacktrace: add support of PE/COFF
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

9 years agotestsuite: auto-wipe dump files
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

9 years agoDaily bump.
GCC Administrator [Fri, 29 May 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223856

9 years ago* gcc.c-torture/execute/pr65369.c: Don't assume int is 32 bits.
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

9 years agoconfigure.ac: Move the atoll check from AC_CHECK_FUNCS to gcc_AC_CHECK_DECLS.
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

9 years agoconfigure.host: Add bits for FreeBSD amd64 and i386.
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

9 years agofutex_bits.h (sys_futex0): Change operands "op" and "val" to int.
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

9 years agore PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and...
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

9 years agoutils.c (max_size): Add special code to deal with the subtraction of a "negative...
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

9 years agodecl.c (gnat_to_gnu_entity): Do not error out on a return type which has a size that...
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

9 years agoutils.c (gnat_pushdecl): Reunify the handling of array and pointer types wrt DECL_ORI...
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

9 years agogigi.h (gnat_stabilize_reference): Adjust.
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

9 years agoconfigure: fix vtable help
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

9 years agonios2-linux: add missing cpp specs
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

9 years agomicroblaze-linux: add missing cpp specs
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

9 years agofutex.h (sys_futex0): Remove function.
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

9 years agohppa-linux: add missing cpp specs
Mike Frysinger [Thu, 28 May 2015 13:59:09 +0000 (13:59 +0000)]
hppa-linux: add missing cpp specs

Define CPP_SPEC for parisc linux targets so that -posix & -pthread work
like on all other linux targets.

Discovered via Gentoo bug https://bugs.gentoo.org/543114

From-SVN: r223820

9 years agotree-vect-loop.c (vect_fixup_reduc_chain): New function.
Richard Biener [Thu, 28 May 2015 13:29:41 +0000 (13:29 +0000)]
tree-vect-loop.c (vect_fixup_reduc_chain): New function.

2015-05-28  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_fixup_reduc_chain): New function.
(vect_fixup_scalar_cycles_with_patterns): Likewise.
(vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
after pattern recog.
(vect_create_epilog_for_reduction): Properly handle reductions
with patterns.
(vectorizable_reduction): Likewise.
* tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
reduction chains.
(vect_get_constant_vectors): Create the correct number of
initial values for reductions.
(vect_schedule_slp_instance): Handle reduction chains that are
type changing properly.
* tree-vect-stmts.c (vect_analyze_stmt): Adjust.

* gcc.dg/vect/slp-reduc-sad.c: New testcase.

From-SVN: r223818

9 years ago[multiple changes]
Arnaud Charlet [Thu, 28 May 2015 13:27:16 +0000 (15:27 +0200)]
[multiple changes]

2015-05-28  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Is_Visible_Component): Component is visible
in a derived type if inherited through an ancestor that has a
partial view of the original type holding the component, if the
full view of that original type is in scope.
* sem_util.ads (Get_Body_From_Stub): Works for all kinds of stubs.

2015-05-28  Bob Duff  <duff@adacore.com>

* sem_util.adb (Requires_Transient_Scope): For definite untagged
subtypes, we should never have to use the secondary stack. This moves
toward that goal. But there are still cases that don't work.
Here, we move the check for Is_Definite first, but add a
special-purpose check for Has_Discrim_Dep_Array.

From-SVN: r223817

9 years agore PR tree-optimization/66142 (Loop is not vectorized because not sufficient support...
Richard Biener [Thu, 28 May 2015 13:24:53 +0000 (13:24 +0000)]
re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE)

2015-05-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66142
* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
values better in memcpy destination handling.  Handle non-aliasing
we discover here.

* gcc.dg/tree-ssa/ssa-fre-44.c: Fixup.

From-SVN: r223816