platform/upstream/gcc.git
11 years agoAdd extensive commentary to sparc's "U" constraint.
David S. Miller [Thu, 8 Nov 2012 03:26:49 +0000 (03:26 +0000)]
Add extensive commentary to sparc's "U" constraint.

* config/sparc/constraints.md ("U"): Document, in detail,
which this constraint is necessary.

From-SVN: r193322

11 years agoDaily bump.
GCC Administrator [Thu, 8 Nov 2012 00:17:51 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r193321

11 years agoUse -Wl,-undefined,dynamic_lookup on darwin
Jack Howarth [Wed, 7 Nov 2012 23:12:27 +0000 (23:12 +0000)]
Use -Wl,-undefined,dynamic_lookup on darwin

* testsuite/libgomp.c++/pr24455.C: Use
-Wl,-undefined,dynamic_lookup on darwin.

From-SVN: r193318

11 years agore PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with...
Vladimir Makarov [Wed, 7 Nov 2012 22:43:30 +0000 (22:43 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)

2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55151
* gcc.dg/pr55151.c: Use ia32 instead of x86_64.

From-SVN: r193317

11 years agocunroll-1.c: Scan cunrolli dump.
Uros Bizjak [Wed, 7 Nov 2012 22:41:39 +0000 (23:41 +0100)]
cunroll-1.c: Scan cunrolli dump.

* gcc.dg/tree-ssa/cunroll-1.c: Scan cunrolli dump.

From-SVN: r193316

11 years agore PR middle-end/55235 (FAIL: gcc.target/i386/pr44948-2a.c)
Uros Bizjak [Wed, 7 Nov 2012 22:34:48 +0000 (23:34 +0100)]
re PR middle-end/55235 (FAIL: gcc.target/i386/pr44948-2a.c)

PR middle-end/55235
* expr.c (store_expr): Do not call emit_block_move for
non-BLKmode values.

From-SVN: r193314

11 years agore PR middle-end/55219 (memory explosion on nested conditional expressions)
Eric Botcazou [Wed, 7 Nov 2012 22:26:02 +0000 (22:26 +0000)]
re PR middle-end/55219 (memory explosion on nested conditional expressions)

PR middle-end/55219
* fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
the argument is itself a conditional expression.

From-SVN: r193312

11 years agore PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with...
Vladimir Makarov [Wed, 7 Nov 2012 22:20:15 +0000 (22:20 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)

2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55151
* gcc.dg/pr55151.c: Compile it only for x86_64.

From-SVN: r193311

11 years agore PR rtl-optimization/55122 (ICE: maximum number of LRA constraint passes is achieve...
Vladimir Makarov [Wed, 7 Nov 2012 22:11:08 +0000 (22:11 +0000)]
re PR rtl-optimization/55122 (ICE: maximum number of LRA constraint passes is achieved (15))

2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55122
* lra-constraints.c (match_reload): Sync values for dead input
pseudos.

2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55122
* gcc.dg/pr55122.c: New test.

From-SVN: r193310

11 years agopr46728-[1234578].c: Tighten regex to ignore word powerpc.
David Edelsohn [Wed, 7 Nov 2012 21:03:08 +0000 (21:03 +0000)]
pr46728-[1234578].c: Tighten regex to ignore word powerpc.

        * gcc.target/powerpc/pr46728-[1234578].c: Tighten regex to ignore
        word powerpc.
        * gcc.target/powerpc/vsx-mass-1.c: Escape [ and ] in regex.
        * gcc.target/powerpc/loop_align.c: Skip on AIX.
        * gcc.target/powerpc/ppc-pow.c: Allow dot symbols in branch.
        * gcc.target/powerpc/tfmode_off.c: Skip on AIX.

From-SVN: r193309

11 years ago* trans-mem.c (pass_ipa_tm): Don't use TODO_update_ssa.
Richard Henderson [Wed, 7 Nov 2012 20:20:32 +0000 (12:20 -0800)]
* trans-mem.c (pass_ipa_tm): Don't use TODO_update_ssa.

From-SVN: r193308

11 years agoinvoke.texi (-mcpu=power8): Document.
Peter Bergner [Wed, 7 Nov 2012 19:49:51 +0000 (13:49 -0600)]
invoke.texi (-mcpu=power8): Document.

* doc/invoke.texi (-mcpu=power8): Document.
* config.in (HAVE_AS_POWER8): New.
* config.gcc: Add cpu_type power8.
* configure.ac: (HAVE_AS_POWER8): Check for assembler support for
the POWER8 instructions.
* configure: Regenerate.
* config/rs6000/rs6000.h: (ASM_CPU_POWER8_SPEC): Define.
(ASM_CPU_SPEC): Pass %(asm_cpu_power8) for -mcpu=power8.
(EXTRA_SPECS): Add asm_cpu_power8 spec string.
* config/rs6000/rs6000-cpus.def (processor_target_table): Alias
POWER8 to POWER7.
* config/rs6000/rs6000-tables.opt: Regenerate.
* config/rs6000/driver-rs6000.c (ASM_CPU_SPEC): For -mcpu=power8,
pass %(asm_cpu_power8)/-mpwr8.
* config/rs6000/aix53.h: Likewise.
* config/rs6000/aix61.h: Likewise.

From-SVN: r193307

11 years agore PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)
Uros Bizjak [Wed, 7 Nov 2012 19:35:25 +0000 (20:35 +0100)]
re PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)

PR target/55224
* config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
to make a sibcall if one of the functions has void return type.

From-SVN: r193306

11 years agore PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)
Uros Bizjak [Wed, 7 Nov 2012 19:30:48 +0000 (20:30 +0100)]
re PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)

PR target/55224
* config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
to make a sibcall if one of the functions has void return type.

From-SVN: r193305

11 years agore PR c/53063 (encode group options in the .opt files)
Manuel López-Ibáñez [Wed, 7 Nov 2012 18:27:14 +0000 (18:27 +0000)]
re PR c/53063 (encode group options in the .opt files)

gcc/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* doc/invoke.texi (Wformat): Update.
c-family/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* c.opt (Wformat): Make it Alias Wformat=1.
(Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
Wformat-security,Wformat-y2k,Wformat-zero-length): Use
LangEnabledBy.
(Wformat=): RejectNegative. Use LangEnabledBy.
(Wnonnull): Use LangEnabledBy.
* c-opts.c (c_common_handle_option): Do not handle Wformat here.
* c-format.c (set_Wformat): Delete.
(decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
        (maybe_read_dollar_number):  Likewise.
        (avoid_dollar_number):  Likewise.
        (finish_dollar_format_checking):  Likewise.
        (check_format_info):  Likewise.
        (check_format_info_main):  Likewise.
        (check_format_types):  Likewise.
        (format_type_warning):  Likewise.
        * c-common.c (int):  Likewise.
        (check_function_sentinel):  Likewise.
        * c-common.h (warn_format,set_Wformat): Do not declare here.
testsuite/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* gcc.dg/warn-nsstring.c: Use -Wformat explicitly.

From-SVN: r193304

11 years agooptc-gen.awk: Factor code out to...
Manuel López-Ibáñez [Wed, 7 Nov 2012 18:11:01 +0000 (18:11 +0000)]
optc-gen.awk: Factor code out to...

2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* optc-gen.awk: Factor code out to...
* opt-functions.awk (lang_enabled_by): ... this new function.

From-SVN: r193303

11 years agore PR c/53063 (encode group options in the .opt files)
Manuel López-Ibáñez [Wed, 7 Nov 2012 17:54:11 +0000 (17:54 +0000)]
re PR c/53063 (encode group options in the .opt files)

c-family/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
Use LangEnabledBy.
(Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
common.opt.
(Wvariadic-macros): Init(1).
* c-opts.c (c_common_handle_option): Do not handle them
explicitly.
(c_common_post_options): Likewise.
(sanitize_cpp_opts): warn_unused_macros is now
cpp_warn_unused_macros.
(push_command_line_include): Likewise.
* c-common.c (warn_unknown_pragmas): Do not define.
* c-common.h (warn_unknown_pragmas): Do not declare.
gcc/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* common.opt (Wswitch,Wswitch-default,Wswitch-enum): Move to c.opt.
fortran/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* options.c (set_Wall): Do not set warn_switch here.

From-SVN: r193302

11 years agore PR c/51294 (spurious warning from -Wconversion in C and C++ in conditional express...
Manuel López-Ibáñez [Wed, 7 Nov 2012 16:58:03 +0000 (16:58 +0000)]
re PR c/51294 (spurious warning from -Wconversion in C and C++ in conditional expressions)

2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/51294
c-family/
* c-common.c (conversion_warning): Handle conditional expressions.
testsuite/
* c-c++-common/pr51294.c: New.

From-SVN: r193301

11 years agoaarch64.c (aarch64_expand_prologue): add the missing argument 'Pmode' to the 'plus_co...
Yufeng Zhang [Wed, 7 Nov 2012 16:13:27 +0000 (16:13 +0000)]
aarch64.c (aarch64_expand_prologue): add the missing argument 'Pmode' to the 'plus_constant' call.

gcc/ChangeLog

2012-11-07  Yufeng Zhang  <yufeng.zhang@arm.com>

* config/aarch64/aarch64.c (aarch64_expand_prologue): add the missing
argument 'Pmode' to the 'plus_constant' call.

From-SVN: r193299

11 years agore PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement)
Martin Jambor [Wed, 7 Nov 2012 15:55:54 +0000 (16:55 +0100)]
re PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement)

2012-11-07  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/53787
* ipa-cp.c (ipcp_value_source): New field offset.
(ipcp_agg_lattice): New type.
(ipcp_param_lattices): Likewise, move virt_call from ipcp_lattice here.
(ipcp_agg_lattice_pool): New variable.
(ipa_get_parm_lattices): New function.
(ipa_get_lattice): Turned into ipa_get_scalar_lat, use the above.
Adjusted all callers.
(print_lattice): New function.
(print_all_lattices): Use the above, also print aggregate lattices.
(set_agg_lats_to_bottom): New function.
(set_agg_lats_contain_variable): Likewise.
(set_all_contains_variable): Likewise.
(initialize_node_lattices): Also handle aggregate lattices, set
virt_call in ipcp_param_lattices.
(add_value_source): Handle offsets.
(add_value_to_lattice): Likewise.
(add_scalar_value_to_lattice): New function.
(propagate_vals_accross_pass_through): Use add_scalar_value_to_lattice.
(propagate_vals_accross_ancestor): Likewise.
(propagate_accross_jump_function): Renamed to
propagate_scalar_accross_jump_function, use
add_scalar_value_to_lattice.
(set_check_aggs_by_ref): New function.
(merge_agg_lats_step): Likewise.
(set_chain_of_aglats_contains_variable): Likewise.
(merge_aggregate_lattices): Likewise.
(propagate_constants_accross_call): Also handle aggregate lattices.
(hint_time_bonus): New function.
(context_independent_aggregate_values): Likewise.
(gather_context_independent_values): Also handle agggregate values.
(agg_jmp_p_vec_for_t_vec): New function.
(estimate_local_effects): Also handle agggregate values.
(add_all_node_vals_to_toposort): Likewise.
(ipcp_propagate_stage): Use struct ipcp_param_lattices.
(get_clone_agg_value): New function.
(cgraph_edge_brings_value_p): Also handle agggregate values.
(create_specialized_node): Likewise.
(find_more_values_for_callers_subset): Rename to
find_more_scalar_values_for_callers_subset.  Modify dump.
(copy_plats_to_inter): New function.
(intersect_with_plats): Likewise.
(agg_replacements_to_vector): Likewise.
(intersect_with_agg_replacements): Likewise.
(find_aggregate_values_for_callers_subset): Likewise.
(known_aggs_to_agg_replacement_list): Likewise.
(cgraph_edge_brings_all_scalars_for_node): Likewise.
(cgraph_edge_brings_all_agg_vals_for_node): Likewise.
(perhaps_add_new_callers): Old functionality moved to
cgraph_edge_brings_all_scalars_for_node, call it and
cgraph_edge_brings_all_agg_vals_for_node.
(ipcp_val_in_agg_replacements_p): New function.
(decide_about_value): New function.
(decide_whether_version_node): A lot of functionality moved to
decide_about_value.  Also handle agggregate values.
(ipcp_driver): Also allocate ipcp_agg_lattice_pool.
(pass_ipa_cp): Fill in new entries.
* ipa-prop.c (ipa_node_agg_replacements): New variable.
(free_parms_ainfo): New function.
(ipa_analyze_node): Use free_parms_ainfo to free stuff.
(ipa_find_agg_cst_for_param): Do not rely on offset ordering.
(ipa_set_node_agg_value_chain): New function.
(ipa_node_removal_hook): Also handle ipa_node_agg_replacements.
(ipa_node_duplication_hook): Likewise.
(ipa_free_all_structures_after_ipa_cp): Also free ipcp_agg_lattice_pool.
(ipa_free_all_structures_after_iinln): Likewise.
(ipa_dump_agg_replacement_values): New function.
(write_agg_replacement_chain): Likewise.
(read_agg_replacement_chain): Likewise.
(ipa_prop_write_all_agg_replacement): Likewise.
(read_replacements_section): Likewise.
(ipa_prop_read_all_agg_replacement): Likewise.
(adjust_agg_replacement_values): Likewise.
(ipcp_transform_function): Likewise.
* ipa-prop.h: Also define heap vector of ipa_agg_jf_item_t and of
ipa_agg_jump_function_t.
(ipa_node_params): Make lattices an array of ipcp_param_lattices.
(ipa_agg_replacement_value): New type and its vector.
(ipa_set_node_agg_value_chain) Declare.
(ipa_node_agg_replacements): Likewise.
(ipa_get_agg_replacements_for_node): New function.
(ipcp_agg_lattice_pool): Declare.
(ipa_dump_agg_replacement_values): Likewise.
(ipa_prop_write_all_agg_replacement): Likewise.
(ipa_prop_read_all_agg_replacement): Likewise.
(ipcp_transform_function): Likewise.
* ipa-inline-analysis.c (estimate_ipcp_clone_size_and_time): Pass around
known aggregates and hints.
* ipa-inline.h: include ipa-prop.h.
(estimate_ipcp_clone_size_and_time): Adjust declaration.
* lto-streamer.h (lto_section_type): New item
LTO_section_ipcp_transform.
* lto-section-in.c (lto_section_name): New element ipcp_trans.
* params.def (PARAM_IPA_CP_LOOP_HINT_BONUS): New parameter.
* Makefile.in (IPA_INLINE_H): New.  Use everywhee instead of
ipa-inline.h.

* testsuite/gcc.dg/ipa/ipa-5.c: Adjust.
* testsuite/gcc.dg/ipa/ipcp-agg-1.c: New test.
* testsuite/gcc.dg/ipa/ipcp-agg-2.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-3.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-4.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-5.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-6.c: Likewise.
* testsuite/gfortran.dg/pr48636.f90: Add -fno-ipa-cp.
* testsuite/gfortran.dg/pr48636-2.f90: New test.
* testsuite/gfortran.dg/pr53787.f90: Likewise.

From-SVN: r193298

11 years ago* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
David Edelsohn [Wed, 7 Nov 2012 14:16:04 +0000 (14:16 +0000)]
* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.

From-SVN: r193296

11 years agoarray (_GLIBCXX_THROW_OR_ABORT): Move...
Paolo Carlini [Wed, 7 Nov 2012 13:20:33 +0000 (13:20 +0000)]
array (_GLIBCXX_THROW_OR_ABORT): Move...

2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

* include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move...
* include/bits/c++config: ... here.
* include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it.
* include/ext/pb_ds/exception.hpp: Likewise.
* include/ext/throw_allocator.h (__throw_forced_error): Likewise.
* include/ext/concurrence.h (__throw_concurrence_lock_error,
__throw_concurrence_unlock_error, __throw_concurrence_broadcast_error,
__throw_concurrence_wait_error): Likewise.
* include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise.
* include/tr1/functional (function<_Res(_ArgTypes...)>::operator()
(_ArgTypes...)): Likewise.
* libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast,
__cxxabiv1::__cxa_bad_typeid): Likewise.
* libsupc++/vec.cc (compute_size): Likewise.
* libsupc++/new_op.cc (operator new (std::size_t)): Likewise.
* src/c++11/functexcept.cc: Likewise.
* testsuite/util/io/illegal_input_error.hpp
(__throw_illegal_input_error): Likewise.
* libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
numbers.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.

From-SVN: r193295

11 years agoi386.c (enum upper_128bits_state): Remove.
Uros Bizjak [Wed, 7 Nov 2012 12:15:59 +0000 (13:15 +0100)]
i386.c (enum upper_128bits_state): Remove.

* config/i386/i386.c (enum upper_128bits_state): Remove.
(check_avx256_store): Use bool pointer argument.
(ix86_avx_u128_mode_needed): Use note_stores also for CALL insns.
* config/i386/predicates.md (vzeroupper_operation): Use match_test.

From-SVN: r193294

11 years agore PR c++/55226 (ICE regression in regard to anonymous unions and constexpr)
Paolo Carlini [Wed, 7 Nov 2012 11:15:40 +0000 (11:15 +0000)]
re PR c++/55226 (ICE regression in regard to anonymous unions and constexpr)

/cp
2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55226
Revert:
2012-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54922
* semantics.c (cx_check_missing_mem_inits): Handle anonymous union
members.

/testsuite
2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55226
Revert:
2012-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54922
* g++.dg/cpp0x/constexpr-union4.C: New.

From-SVN: r193292

11 years agoaarch64.c (aarch64_expand_prologue): For the load-pair with writeback instruction...
Yufeng Zhang [Wed, 7 Nov 2012 11:01:46 +0000 (11:01 +0000)]
aarch64.c (aarch64_expand_prologue): For the load-pair with writeback instruction...

gcc/ChangeLog

2012-11-07  Yufeng Zhang  <yufeng.zhang@arm.com>

* config/aarch64/aarch64.c (aarch64_expand_prologue): For the
load-pair with writeback instruction, replace
aarch64_set_frame_expr with add_reg_note (REG_CFA_ADJUST_CFA);
add new local variable 'cfa_reg' and use it.

gcc/testsuite/ChangeLog

2012-11-07  Yufeng Zhang  <yufeng.zhang@arm.com>

* gcc.target/aarch64/dwarf-cfa-reg.c: New test.

From-SVN: r193291

11 years agopr49220.c: New test.
Kaz Kojima [Wed, 7 Nov 2012 10:50:22 +0000 (10:50 +0000)]
pr49220.c: New test.

* gcc.c-torture/compile/pr49220.c: New test.

From-SVN: r193290

11 years agore PR middle-end/49220 (ICE in create_pre_exit, at mode-switching.c:401)
Kaz Kojima [Wed, 7 Nov 2012 10:48:12 +0000 (10:48 +0000)]
re PR middle-end/49220 (ICE in create_pre_exit, at mode-switching.c:401)

PR middle-end/49220
* mode-switching.c (create_pre_exit): Set short_block if there
are no copy insns.

From-SVN: r193289

11 years agoinit.c (build_new_1): Do not check for arithmetic overflow if inner array size is 1.
Florian Weimer [Wed, 7 Nov 2012 09:45:57 +0000 (10:45 +0100)]
init.c (build_new_1): Do not check for arithmetic overflow if inner array size is 1.

* init.c (build_new_1): Do not check for arithmetic overflow if
inner array size is 1.

* g++.dg/init/new40.C: New.

From-SVN: r193287

11 years agolto-cgraph.c: Include tree-pass.h.
Martin Jambor [Wed, 7 Nov 2012 09:28:50 +0000 (10:28 +0100)]
lto-cgraph.c: Include tree-pass.h.

2012-11-07  Martin Jambor  <mjambor@suse.cz>

* lto-cgraph.c: Include tree-pass.h.
(lto_output_node): Stream node->ipa_transforms_to_apply.
(input_node): Likewise.
* tree-pass.h (passes_by_id): Declare.
(passes_by_id_size): Likewise.
* Makefile.in (lto-cgraph.o): Add TREE_PASS_H to dependencies.

From-SVN: r193286

11 years agoipa-inline-analysis.c (true_predicate, [...]): Fix formatting.
Jan Hubicka [Wed, 7 Nov 2012 09:22:50 +0000 (10:22 +0100)]
ipa-inline-analysis.c (true_predicate, [...]): Fix formatting.

* ipa-inline-analysis.c (true_predicate, single_cond_predicate,
reset_inline_edge_summary): Fix
formatting.
(account_size_time): Bump up the limit on number of size/time entries to
256.
(estimate_function_body_sizes): Work in reverse postorder.

From-SVN: r193285

11 years agostl_vector.h (vector(size_type)): Add missing allocator parameter.
Jonathan Wakely [Wed, 7 Nov 2012 09:17:42 +0000 (09:17 +0000)]
stl_vector.h (vector(size_type)): Add missing allocator parameter.

* include/bits/stl_vector.h (vector(size_type)): Add missing allocator
parameter.
* include/bits/stl_bvector.h: Likewise.
* include/debug/vector (vector(size_type)): Likewise.
* include/profile/vector (vector(size_type)): Likewise. Pass allocator
to base constructor.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r193284

11 years agoRevert sparc "U" constraint removal.
David S. Miller [Wed, 7 Nov 2012 08:42:09 +0000 (08:42 +0000)]
Revert sparc "U" constraint removal.

PR bootstrap/55211
Revert:
     * config/sparc/constraints.md ("U"): Delete.
     * config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
     * config/sparc/sync.md: Likewise.
And revert parts of:
* doc/md.texi: Sync sparc constraint documentation with reality.

From-SVN: r193283

11 years agoi386.c (ix86_avx_u128_mode_after): Don't look for reg in CALL operand.
Jakub Jelinek [Wed, 7 Nov 2012 07:52:16 +0000 (08:52 +0100)]
i386.c (ix86_avx_u128_mode_after): Don't look for reg in CALL operand.

* config/i386/i386.c (ix86_avx_u128_mode_after): Don't
look for reg in CALL operand.

From-SVN: r193282

11 years agore PR debug/54693 (VTA guality issues with loops)
Jakub Jelinek [Wed, 7 Nov 2012 07:50:01 +0000 (08:50 +0100)]
re PR debug/54693 (VTA guality issues with loops)

PR debug/54693
* tree-flow.h (propagate_threaded_block_debug_into): New prototype.
* tree-ssa-threadedge.c (propagate_threaded_block_debug_into): No
longer static.
* tree-ssa-loop-ch.c (copy_loop_headers): Use it.

* gcc.dg/guality/pr54693-2.c: New test.

From-SVN: r193281

11 years agoMakefile.in: Revert most changes.
Eric Botcazou [Wed, 7 Nov 2012 04:58:23 +0000 (04:58 +0000)]
Makefile.in: Revert most changes.

* gcc-interface/Makefile.in: Revert most changes.
* gcc-interface/Make-lang.in (gnatlib): Remove ada/s-oscons.ads.
libada/
* libada/Makefile.in: Revert most changes.

From-SVN: r193280

11 years agodwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.
Sterling Augustine [Wed, 7 Nov 2012 01:18:28 +0000 (01:18 +0000)]
dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.

2012-11-06  Sterling Augustine <saugustine@google.com>

* dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.

Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r193279

11 years agore PR libstdc++/51850 (debug mode for std::array and tr1::array)
Paolo Carlini [Wed, 7 Nov 2012 00:42:19 +0000 (00:42 +0000)]
re PR libstdc++/51850 (debug mode for std::array and tr1::array)

2012-11-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/51850
* include/debug/array: New, debug-mode implementation.
* include/profile/array: New.
* include/std/array: Adjust.
* include/std/tuple: Just include <array>.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* testsuite/23_containers/array/debug/front1_neg.cc: New.
* testsuite/23_containers/array/debug/
square_brackets_operator1_neg.cc: Likewise.
* testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
* testsuite/23_containers/array/debug/
square_brackets_operator2_neg.cc: Likewise.
* testsuite/23_containers/array/debug/back1_neg.cc: Likewise.
* testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Tweak
to run only in normal-mode.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: New.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.

From-SVN: r193278

11 years agoAdd a contrib script for comparing the performance of two sets of
Lawrence Crowl [Wed, 7 Nov 2012 00:36:04 +0000 (00:36 +0000)]
Add a contrib script for comparing the performance of two sets of
compiler runs.

Usage documentation is in the script.

The script produces output of the form:

$ compare_two_ftime_report_sets "Log0/*perf" "Log3/*perf"

Arithmetic sample for timevar log files
"Log0/*perf"
and selecting lines containing "TOTAL" with desired confidence 95 is
trial count is 4, mean is 443.022 (95% confidence in 440.234 to 445.811),
std.deviation is 1.75264, std.error is 0.876322

Arithmetic sample for timevar log files
"Log3/*perf"
and selecting lines containing "TOTAL" with desired confidence 95 is
trial count is 4, mean is 441.302 (95% confidence in 436.671 to 445.934),
std.deviation is 2.91098, std.error is 1.45549

The first sample appears to be 0.39% larger,
with 60% confidence of being larger.
To reach 95% confidence, you need roughly 14 trials,
assuming the standard deviation is stable, which is iffy.

Tested on x86_64 builds.

Index: contrib/ChangeLog

2012-11-05  Lawrence Crowl  <crowl@google.com>

* compare_two_ftime_report_sets: New.

From-SVN: r193277

11 years agovect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.
Andrew Pinski [Wed, 7 Nov 2012 00:18:31 +0000 (00:18 +0000)]
vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.

2012-11-06  Andrew Pinski  <apinski@cavium.com>

* gcc.target/aarch64/vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.

From-SVN: r193276

11 years agoDaily bump.
GCC Administrator [Wed, 7 Nov 2012 00:18:29 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193275

11 years agotm: Add uninstrumented code path
Aldy Hernandez [Tue, 6 Nov 2012 23:55:39 +0000 (23:55 +0000)]
tm: Add uninstrumented code path

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r193271

11 years ago* cfghooks.c (copy_bbs): Handle a null loop_father.
Aldy Hernandez [Tue, 6 Nov 2012 23:55:29 +0000 (23:55 +0000)]
* cfghooks.c (copy_bbs): Handle a null loop_father.

From-SVN: r193270

11 years agoHandle null current_function_decl in cgraph_debug_gimple_stmt
Aldy Hernandez [Tue, 6 Nov 2012 23:55:20 +0000 (23:55 +0000)]
Handle null current_function_decl in cgraph_debug_gimple_stmt

        * cfghooks.c (cgraph_debug_gimple_stmt): Handle a null
        current_function_decl.

From-SVN: r193269

11 years agoPrevent "illegal" block sharing within transactions.
Richard Henderson [Tue, 6 Nov 2012 23:55:11 +0000 (15:55 -0800)]
Prevent "illegal" block sharing within transactions.

        * tree-ssa-tail-merge.c (find_duplicate): Do not consider
        is_tm_ending_fndecl calls as mergable.

From-SVN: r193268

11 years agocommon.opt (gno-split-dwarf, [...]): New switches.
Sterling Augustine [Tue, 6 Nov 2012 23:15:25 +0000 (23:15 +0000)]
common.opt (gno-split-dwarf, [...]): New switches.

gcc/ChangeLog

2012-11-06  Sterling Augustine <saugustine@google.com>
            Cary Coutant <ccoutant@google.com>

* common.opt (gno-split-dwarf, gsplit-dwarf): New switches.
* doc/invoke.texi (Debugging Options): Document them.
* gcc.c (replace_extension_spec_func):  New function.
(ASM_FINAL_SPEC): Adjust.
(static_spec_functions): Add new field for replace-extension.
(check_live_switch): Adjust comment.  Add case for 'g'.
* opts.c (finish_options): Set x_debug_generate_pub_sections based on
x_dwarf_split_debug_info.
(common_handle_option): Add case for OPT_gsplit_dwarf.
* dwarf2out.h (addr_table_entry_struct): Add forward declaration.
(dw_val_struct): Add val_entry pointer.
* dwarf2out.c: (debug_skeleton_info_section,
debug_skeleton_abbrev_section, debug_addr_section,
debug_skeleton_line_section, debug_str_offsets_section): New globals.
(NOT_INDEXED, NO_INDEX_ASSIGNED): New defines.
(indirect_string_node): New field index.
(ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel,
ate_kind_label.
(addr_table_entry): New structure and type.
(dw_loc_list_struct): Add field begin_entry.
(new_loc_desc): Initialize val_entry.
(size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
Add cases for DW_OP_GNU_addr_index and DW_OP_const_index.
(build_cfa_loc): Initialize val_entry.
(AT_index, add_addr_table_entry, remove_addr_table_entry,
add_AT_lbl_id): New functions.
(add_AT_addr, add_AT_range_list): New parameter force_direct.
(output_die_abbrevs): New function.
(add_ranges_by_labels): New parameter force_direct.
(output_line_info): New parameter prologue_only.
(dtprel_bool): New enum with dtprel_false and dtprel_true.
(dw_addr_op, new_addr_loc_descr): New functions.
(DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION,
DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION,
DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION,
DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION,
DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION,
DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION,
DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION,
DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION,
DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL,
DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL
DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros.
(DEBUG_STR_SECTION_FLAGS): Adjust.
(TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL,
DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL,
DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL,
DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL,
DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust
indentation.
(debug_skeleton_abbrev_section_label, debug_addr_section_label,
debug_skeleton_line_section_label, debug_skeleton_info_section_label):
New global variables.
(add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec,
add_AT_data8): Initialize val_entry.
(add_AT_low_high_pc): New parameter force_direct. Handle
dwarf_split_debug_info.
(set_indirect_string, find_AT_string_form): New functions.
(AT_string_form): Adjust to call find_AT_string_from.
(add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list):
Initialize val_entry.
(addr_index_table): New global variable.
(addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry,
init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry,
remove_loc_list_addr_table_entries): New functions.
(add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter
force_direct.  Handle dwarf_split_debug_info.
(add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr,
add_AT_offset): Initialize val_entry.
(UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines.
(size_of_die): Handle dwarf_split_debug_info.
(size_of_aranges, value_format): Call AT_class.  Check AT_index.
(output_die_abbrevs): New function.
(output_abbrev_section): Call output_die_abbrevs.
(new_loc_list): Initialize begin_entry.
(output_loc_list): Handle dwarf_split_debug_info.
(output_range_list_offset, output_loc_list_offset,
output_attr_index_or_value, ): New functions.
(output_die): Fix call to dw2_asm_output_data.  Call
output_attr_index_or_value and output_range_list_offset.
Adjust logic around dw_val_class_str.
(add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit,
output_skeleton_debug_sections): New functions.
(output_comdat_type_unit, output_pubname, output_aranges): Handle
dwarf_split_debug_info.
(add_ranges_by_labels): New parameter force_direct.
(mem_loc_descriptor, loc_descr): Call new_addr_loc_descr.
(loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in
place of generic integer.
(dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die,
gen_call_site_die, gen_subprogram_die, gen_variable_die,
add_high_low_attributes): Adjust calls to add_AT_lbl_id.
(output_macinfo_op): Adjust indirect_string_logic.
(save_macinfo_strings): New function.
(output_macinfo): Adjust.
(dwarf2out_init): Handle dwarf_split_debug_info.
(index_string, output_index_string_offset, output_index_string): New
functions.
(output_indirect_string): Adjust.
(output_indirect_strings, output_addr_table_entry, output_addr_table):
New functions.
(resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index
and DW_OP_GNU_const_index.  Handle dwarf_split_debug_info.  Call
remove_loc_list_addr_table_entries and remove_addr_table_entry.
(index_location_lists): New function.
(dwarf2out_finish): Handle dwarf_split_debug_info.  New variable
main_comp_unit_die.  Adjust calls to add_AT_low_high_pc,
add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call
save_macinfo_strings and output_indirect_strings.

include/ChangeLog

2012-10-29  Sterling Augustine <saugustine@google.com>
            Cary Coutant <ccoutant@google.com>

* dwarf2.h (dwarf_location_list_entry_type): New enum with fields
DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry,
DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry.

Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r193267

11 years agogeneric-morestack.c (__generic_morestack): Align the returned stack pointer to a...
Ian Lance Taylor [Tue, 6 Nov 2012 23:04:28 +0000 (23:04 +0000)]
generic-morestack.c (__generic_morestack): Align the returned stack pointer to a 32 byte boundary.

* generic-morestack.c (__generic_morestack): Align the returned
stack pointer to a 32 byte boundary.
* config/i386/morestack.S (__morestack_non_split) [32-bit]: Don't
increment the return address until we have decided that we don't
have a varargs function.
(__morestack) [32-bit]: Align stack correctly when calling C
functions.
(__morestack) [64-bit]: Likewise.

From-SVN: r193264

11 years ago55123.cc: Remove duplicate include.
Jonathan Wakely [Tue, 6 Nov 2012 22:53:16 +0000 (22:53 +0000)]
55123.cc: Remove duplicate include.

* testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
include.

From-SVN: r193263

11 years agoi386.c (make_dispatcher_decl): Guard with ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDI...
Gerald Pfeifer [Tue, 6 Nov 2012 22:14:47 +0000 (22:14 +0000)]
i386.c (make_dispatcher_decl): Guard with ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.

* config/i386/i386.c (make_dispatcher_decl): Guard with
ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.

From-SVN: r193261

11 years agoaarch64_guard1.C: Add -fno-section-anchors.
Andrew Pinski [Tue, 6 Nov 2012 22:06:19 +0000 (22:06 +0000)]
aarch64_guard1.C: Add -fno-section-anchors.

2012-11-06  Andrew Pinski  <apinski@cavium.com>

* g++.dg/abi/aarch64_guard1.C: Add -fno-section-anchors.

From-SVN: r193260

11 years agoipa-inline-analysis.c (estimate_function_body_sizes, [...]): Cap time calculations.
Jan Hubicka [Tue, 6 Nov 2012 21:08:49 +0000 (22:08 +0100)]
ipa-inline-analysis.c (estimate_function_body_sizes, [...]): Cap time calculations.

* ipa-inline-analysis.c (estimate_function_body_sizes,
inline_update_overall_summary): Cap time calculations.

From-SVN: r193259

11 years agoUpdate index.go from master testsuite.
Ian Lance Taylor [Tue, 6 Nov 2012 19:48:12 +0000 (19:48 +0000)]
Update index.go from master testsuite.

From-SVN: r193258

11 years agoi386.c (ix86_init_machine_status): Do not explicitly clear tls_descriptor_call_expand...
Uros Bizjak [Tue, 6 Nov 2012 19:04:47 +0000 (20:04 +0100)]
i386.c (ix86_init_machine_status): Do not explicitly clear tls_descriptor_call_expanded_p again.

* config/i386/i386.c (ix86_init_machine_status): Do not
explicitly clear tls_descriptor_call_expanded_p again.

From-SVN: r193257

11 years ago* config/i386/sse.md
Uros Bizjak [Tue, 6 Nov 2012 18:53:21 +0000 (19:53 +0100)]
* config/i386/sse.md
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
as read and written by the instruction.

From-SVN: r193256

11 years agocompiler, runtime: Size of int is now 64 bits on x86_64.
Ian Lance Taylor [Tue, 6 Nov 2012 18:46:38 +0000 (18:46 +0000)]
compiler, runtime: Size of int is now 64 bits on x86_64.

From-SVN: r193255

11 years agocompiler, libgo: Fixes to prepare for 64-bit int.
Ian Lance Taylor [Tue, 6 Nov 2012 18:28:21 +0000 (18:28 +0000)]
compiler, libgo: Fixes to prepare for 64-bit int.

From-SVN: r193254

11 years agocompiler, runtime: Memcmp routine returns intgo.
Ian Lance Taylor [Tue, 6 Nov 2012 18:12:45 +0000 (18:12 +0000)]
compiler, runtime: Memcmp routine returns intgo.

From-SVN: r193253

11 years agoChangeLog: Add missing PR number.
Uros Bizjak [Tue, 6 Nov 2012 18:00:46 +0000 (19:00 +0100)]
ChangeLog: Add missing PR number.

* ChangeLog: Add missing PR number.
* testsuite/ChangeLog: Ditto.

From-SVN: r193252

11 years agore PR debug/54693 (VTA guality issues with loops)
Alexandre Oliva [Tue, 6 Nov 2012 17:58:52 +0000 (17:58 +0000)]
re PR debug/54693 (VTA guality issues with loops)

PR debug/54693
* tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
Use a stack vector before allocating a pointer set.

From-SVN: r193251

11 years agoipa-prop.c (ipa_get_param_decl_index_1): New function.
Martin Jambor [Tue, 6 Nov 2012 17:39:37 +0000 (18:39 +0100)]
ipa-prop.c (ipa_get_param_decl_index_1): New function.

2012-11-06  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (ipa_get_param_decl_index_1): New function.
(ipa_get_param_decl_index): Just call ipa_get_param_decl_index_1.
(ipa_populate_param_decls): Accept descriptors parameter rather
than the whole info.
(load_from_unmodified_param): Likewise.
(ipa_load_from_parm_agg_1): Likewise.
(ipa_load_from_parm_agg): Extract descriptors from info.
(compute_complex_assign_jump_func): Likewise.
(ipa_analyze_indirect_call_uses): Likewise.

From-SVN: r193250

11 years agoipa-inline.c (compute_uninlined_call_time): Return gcov_type.
Jan Hubicka [Tue, 6 Nov 2012 17:32:40 +0000 (18:32 +0100)]
ipa-inline.c (compute_uninlined_call_time): Return gcov_type.

* ipa-inline.c (compute_uninlined_call_time): Return gcov_type.
(compute_inlined_call_time): Watch overflows.
(relative_time_benefit): Compute in gcov_type.

From-SVN: r193249

11 years agoForgot changelog :(
Jan Hubicka [Tue, 6 Nov 2012 17:28:36 +0000 (17:28 +0000)]
Forgot changelog :(

From-SVN: r193248

11 years agocfgloopanal.c (get_loop_hot_path): New function.
Jan Hubicka [Tue, 6 Nov 2012 16:22:45 +0000 (17:22 +0100)]
cfgloopanal.c (get_loop_hot_path): New function.

* cfgloopanal.c (get_loop_hot_path): New function.
* tree-ssa-lop-ivcanon.c (struct loop_size): Add CONSTANT_IV,
NUM_NON_PURE_CALLS_ON_HOT_PATH, NUM_PURE_CALLS_ON_HOT_PATH,
NUM_BRANCHES_ON_HOT_PATH.
(tree_estimate_loop_size): Compute the new values.
(try_unroll_loop_completely): Disable unrolling of loops with only
calls or too many branches.
(tree_unroll_loops_completely): Deal also with outer loops of hot loops.
* cfgloop.h (get_loop_hot_path): Declare.
* params.def (PARAM_MAX_PEEL_BRANCHES): New parameters.
* invoke.texi (max-peel-branches): Document.

* gcc.dg/tree-ssa/loop-1.c: Make to look like a good unroling candidate still.
* gcc.dg/tree-ssa/loop-23.c: Likewise.
* gcc.dg/tree-ssa/cunroll-1.c: Unrolling now happens early.
* gcc.dg/tree-prof/unroll-1.c: Remove confused dg-options.

From-SVN: r193246

11 years ago* ipa-pure-const.c (check_stmt): Fix debug info formatting.
Jan Hubicka [Tue, 6 Nov 2012 16:05:18 +0000 (17:05 +0100)]
* ipa-pure-const.c (check_stmt): Fix debug info formatting.

From-SVN: r193245

11 years agoi386.c (TARGET_INSTANTIATE_DECLS): New define.
Uros Bizjak [Tue, 6 Nov 2012 16:00:35 +0000 (17:00 +0100)]
i386.c (TARGET_INSTANTIATE_DECLS): New define.

* config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
(ix86_instantiate_decls): New function.
(ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
stack slot instead of SLOT_VIRTUAL.
<case IX86_BUILTIN_STMXCSR>: Ditto.
(assign_386_stack_local): Do not assert when virtual slot is valid.
* config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
* config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
(truncxf<mode>2): Ditto.
(floatunssi<mode>2): Ditto.
(isinf<mode>2): Ditto.
* config/i386/sync.md (atomic_load<mode>): Ditto.
(atomic_store<mode>): Ditto.

From-SVN: r193244

11 years ago* const-uniq-1.c: Expand regex to match AIX XCOFF labels.
David Edelsohn [Tue, 6 Nov 2012 14:54:33 +0000 (14:54 +0000)]
* const-uniq-1.c: Expand regex to match AIX XCOFF labels.

From-SVN: r193243

11 years agore PR target/41993 ([sh] ICE in create_pre_exit, at mode-switching.c:399)
Uros Bizjak [Tue, 6 Nov 2012 14:30:52 +0000 (15:30 +0100)]
re PR target/41993 ([sh] ICE in create_pre_exit, at mode-switching.c:399)

PR middle-end/41993
* gcc.dg/torture/pr41993.c: New test.

From-SVN: r193242

11 years agol_fma_float_?.c: Update.
Jan Hubicka [Tue, 6 Nov 2012 13:49:30 +0000 (14:49 +0100)]
l_fma_float_?.c: Update.

* gcc.target/i386/l_fma_float_?.c: Update.
* gcc.target/i386/l_fma_double_?.c: Update.

* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound,
vect_do_peeling_for_alignment): Fix loop bound computation.
* tree-vect-loop.c (vect_transform_loop): Maintain loop bounds.

From-SVN: r193241

11 years agoMakefile.in (osconstool): Revert previous change, still needed after all.
Arnaud Charlet [Tue, 6 Nov 2012 13:16:43 +0000 (13:16 +0000)]
Makefile.in (osconstool): Revert previous change, still needed after all.

* Makefile.in (osconstool): Revert previous change, still needed
after all. Add call to copy-s-oscons target.

From-SVN: r193240

11 years ago* gcc-interface/Makefile.in (copy-s-oscons): New target.
Arnaud Charlet [Tue, 6 Nov 2012 13:15:37 +0000 (13:15 +0000)]
* gcc-interface/Makefile.in (copy-s-oscons): New target.

From-SVN: r193239

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 11:56:42 +0000 (12:56 +0100)]
[multiple changes]

2012-11-06  Robert Dewar  <dewar@adacore.com>

* err_vars.ads, atree.ads: Minor reformatting.

2012-11-06  Arnaud Charlet  <charlet@adacore.com>

* gcc-interface/Make-lang.in: Update dependencies.
* gcc-interface/Makefile.in: Add runtime pairs for Android.
Rework handling of s-oscons.ads.
* s-osinte-android.ads, s-osinte-android.adb: New files.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* gcc-interface/trans.c (gnat_to_gnu): For N_Real_Literal, create the
binary representation of vax floats.

From-SVN: r193238

11 years ago* Makefile.in (osconstool): Removed, no longer needed.
Arnaud Charlet [Tue, 6 Nov 2012 11:56:14 +0000 (11:56 +0000)]
* Makefile.in (osconstool): Removed, no longer needed.

From-SVN: r193237

11 years agore PR target/54089 ([SH] Refactor shift patterns)
Oleg Endo [Tue, 6 Nov 2012 11:55:43 +0000 (11:55 +0000)]
re PR target/54089 ([SH] Refactor shift patterns)

PR target/54089
* config/sh/sh.c (and_xor_ior_costs, addsubcosts): Double the costs for
ops larger than SImode.
* config/sh/sh.md (rotcl, *rotcl): New insns and splits.
(ashldi3_k): Convert to insn_and_split and use new rotcl insn.

PR target/54089
* gcc.target/sh/pr54089-8.c: New.
* gcc.target/sh/pr54089-9.c: New.

From-SVN: r193236

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 11:28:27 +0000 (12:28 +0100)]
[multiple changes]

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* sem_ch9.adb (Analyze_Protected_Type_Declaration): Fix thinko
in previous commit.

2012-11-06  Jose Ruiz  <ruiz@adacore.com>

* ali.adb (Scan_ALI): Fix parsing mechanism for -fstack-check.

2012-11-06  Thomas Quinot  <quinot@adacore.com>

* atree.adb, atree.ads, einfo.adb, errout.adb, errout.ads, erroutc.adb,
erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, expander.adb,
exp_ch13.adb, exp_ch2.adb, exp_ch6.adb, exp_dist.adb, fe.h,
fmap.adb, fmap.ads, gprep.adb, makeutl.adb, osint.adb, osint.ads,
par_sco.adb, prepcomp.adb, prj-part.adb, prj-proc.adb, scng.adb,
sdefault.ads, sem_ch10.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb,
sem_ch4.adb, sem_ch5.adb, sem_dim.adb, sem_elab.adb, sem_eval.adb,
sem_intr.adb, sem_prag.adb, sem_type.adb, sem_warn.adb, stylesw.adb,
stylesw.ads, targparm.adb, targparm.ads (Cascaded_Error): Rename to
more descriptive name 'Check_Error_Detected'. Add calls to
Check_Error_Detected at places where semantic analysis is abandoned
assuming a previously detected error.

From-SVN: r193235

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 11:16:06 +0000 (12:16 +0100)]
[multiple changes]

2012-11-06  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor comment change.

2012-11-06  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Extensive revision of documentation of overflow
checking.
* vms_data.ads: Overflow check numbers must be in range 1-3,
not 0-3.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* sem_ch9.adb (Analyze_Protected_Type_Declaration): Emit a
warning if pragma Priority is used in presence of an interrupt
handler.

From-SVN: r193234

11 years agochecks.ads, [...]: Minor changes throughout for new overflow checking.
Robert Dewar [Tue, 6 Nov 2012 11:11:15 +0000 (11:11 +0000)]
checks.ads, [...]: Minor changes throughout for new overflow checking.

2012-11-06  Robert Dewar  <dewar@adacore.com>

* checks.ads, checks.adb, exp_ch4.adb: Minor changes throughout for
new overflow checking.
* exp_util.adb (Insert_Actions): Remove special casing of
Overflow_Check.
* gnat1drv.adb (Adjust_Global_Switches): Fixes for new handling
of overflow checks.
* sem.adb (Analyze): Remove special casing of Overflow_Check
(Analyze_List): ditto.
* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Remove
SUPPRESSED and change CHECKED to STRICT.
* sem_res.adb (Analyze_And_Resolve): No longer treat
Overflow_Check specially.
(Preanalyze_And_Resolve): ditto.
(Resolve): ditto.
* snames.ads-tmpl: Replace Name_Checked by Name_Strict.
* switch-c.adb (Get_Overflow_Mode): Eliminate 0 setting,
CHECKED => STRICT.
* types.ads (Overflow_Check_Type): Remove Suppressed, change
Checked to Strict (Suppress_Record): Overflow check controlled
by Suppress array.

From-SVN: r193233

11 years agoatomic_base.h: Don't include <cstddef>, use nullptr.
Paolo Carlini [Tue, 6 Nov 2012 11:03:45 +0000 (11:03 +0000)]
atomic_base.h: Don't include <cstddef>, use nullptr.

2012-11-06  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
* include/std/atomic: Likewise.
* include/tr2/dynamic_bitset: Likewise.

* libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
std::size_t)): Fix for -fno-exceptions.

From-SVN: r193232

11 years agosem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not disable checks...
Ed Schonberg [Tue, 6 Nov 2012 10:47:21 +0000 (10:47 +0000)]
sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not disable checks...

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not
disable checks, so that flags can be properly set on expressions
that are not further expanded.

From-SVN: r193231

11 years agoexp_attr.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 6 Nov 2012 10:45:56 +0000 (10:45 +0000)]
exp_attr.adb, [...]: Minor reformatting.

2012-11-06  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb, sem_attr.adb: Minor reformatting.

From-SVN: r193230

11 years agoi386-protos.h (emit_i387_cw_initialization): Deleted.
Vladimir Yakovlev [Tue, 6 Nov 2012 10:29:23 +0000 (10:29 +0000)]
i386-protos.h (emit_i387_cw_initialization): Deleted.

        * config/i386/i386-protos.h (emit_i387_cw_initialization): Deleted.
        (emit_vzero): Added prototype.
        (ix86_mode_entry): Likewise.
        (ix86_mode_exit): Likewise.
        (ix86_emit_mode_set): Likewise.

        * config/i386/i386.c (typedef struct block_info_def): Deleted.
        (define BLOCK_INFO): Deleted.
        (check_avx256_stores): Added checking for MEM_P.
        (move_or_delete_vzeroupper_2): Deleted.
        (move_or_delete_vzeroupper_1): Deleted.
        (move_or_delete_vzeroupper): Deleted.
        (ix86_maybe_emit_epilogue_vzeroupper): Deleted.
        (function_pass_avx256_p): Deleted.
        (ix86_function_ok_for_sibcall): Deleted disabling sibcall.
        (nit_cumulative_args): Deleted initialization of of avx256 fields of
        cfun->machine.
        (ix86_emit_restore_sse_regs_using_mov): Deleted vzeroupper generation.
        (ix86_expand_epilogue): Likewise.
        (ix86_avx_u128_mode_needed): New.
        (ix86_i387_mode_needed): Renamed ix86_mode_needed.
        (ix86_mode_needed): New.
        (ix86_avx_u128_mode_after): New.
        (ix86_mode_after): New.
        (ix86_avx_u128_mode_entry): New.
        (ix86_mode_entry): New.
        (ix86_avx_u128_mode_exit): New.
        (ix86_mode_exit): New.
        (ix86_emit_mode_set): New.
        (ix86_expand_call): Deleted vzeroupper generation.
        (ix86_split_call_vzeroupper): Deleted.
        (ix86_init_machine_status): Initialzed optimize_mode_switching.
        (ix86_expand_special_args_builtin): Changed.
        (ix86_reorg): Deleted a call of move_or_delete_vzeroupper.

        * config/i386/i386.h  (VALID_AVX256_REG_OR_OI_MODE): New.
        (AVX_U128): New.
        (avx_u128_state): New.
        (NUM_MODES_FOR_MODE_SWITCHING): Added AVX_U128_ANY.
        (MODE_AFTER): New.
        (MODE_ENTRY): New.
        (MODE_EXIT): New.
        (EMIT_MODE_SET): Changed.
        (machine_function): Deleted avx256 fields.

        * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): Deleted.
        (define_insn_and_split "*call_vzeroupper"): Deleted.
        (define_insn_and_split "*call_rex64_ms_sysv_vzeroupper"): Deleted.
        (define_insn_and_split "*sibcall_vzeroupper"): Deleted.
        (define_insn_and_split "*call_pop_vzeroupper"): Deleted.
        (define_insn_and_split "*sibcall_pop_vzeroupper"): Deleted.
        (define_insn_and_split "*call_value_vzeroupper"): Deleted.
        (define_insn_and_split "*sibcall_value_vzeroupper"): Deleted.
        (define_insn_and_split "*call_value_rex64_ms_sysv_vzeroupper"): Deleted.
        (define_insn_and_split "*call_value_pop_vzeroupper"): Deleted.
        (define_insn_and_split "*sibcall_value_pop_vzeroupper"): Deleted.
        (define_expand "return"): Deleted vzeroupper emitting.
        (define_expand "simple_return"): Deleted.

        * config/i386/predicates.md (vzeroupper_operation): New.

        * config/i386/sse.md (avx_vzeroupper): Changed.

testsuite/ChangeLog:
        * gcc.target/i386/avx-vzeroupper-5.c: Changed scan-assembler-times.
        * gcc.target/i386/avx-vzeroupper-8.c: Likewise.
        * gcc.target/i386/avx-vzeroupper-9.c: Likewise.
        * gcc.target/i386/avx-vzeroupper-10.c: Likewise.
        * gcc.target/i386/avx-vzeroupper-11.c: Likewise.
        * gcc.target/i386/avx-vzeroupper-12.c: Likewise.
        * gcc.target/i386/avx-vzeroupper-19.c: Likewis.
        * gcc.target/i386/avx-vzeroupper-27.c: New.

From-SVN: r193229

11 years agoexp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate check when evaluating...
Gary Dismukes [Tue, 6 Nov 2012 10:22:42 +0000 (10:22 +0000)]
exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate check when evaluating the attribute Valid...

2012-11-06  Gary Dismukes  <dismukes@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate
check when evaluating the attribute Valid, and issue a warning
about infinite recursion when the check occurs within the
predicate function of the prefix's subtype.
* exp_ch4.adb (Expand_N_In): Remove test for Is_Discrete_Type
when we're checking that there's no predicate check function as a
condition for substituting a Valid check for a scalar membership
test (substitution should be suppressed for any kind of scalar
subtype with a predicate check). Also, don't emit a predicate
check when the right operand is a range.

From-SVN: r193228

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 10:20:41 +0000 (11:20 +0100)]
[multiple changes]

2012-11-06  Robert Dewar  <dewar@adacore.com>

* par_sco.adb, bindgen.adb, exp_vfpt.adb, exp_vfpt.ads, exp_ch2.adb,
errout.adb, sem_ch8.adb: Minor reformatting.

2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb: Include Loop_Entry_Attributes to the list of
Node/List/Elist10 usage.
(Loop_Entry_Attributes): New routine.
(Set_Loop_Entry_Attributes): New routine.
(Write_Field10_Name): Add an output string for Loop_Entry_Attributes.
* einfo.ads: Define new attribute Loop_Entry_Attributes along
with its usage in nodes.
(Loop_Entry_Attributes): New routine and dedicated pragma Inline.
(Set_Loop_Entry_Attributes): New routine and dedicated pragma Inline.
* exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
Attribute_Loop_Entry here.
* exp_ch5.adb: Add with and use clause for Elists;
(Expand_Loop_Entry_Attributes): New routine.
(Expand_N_Loop_Statement): Add a call to Expand_Loop_Entry_Attributes.
* exp_prag.adb (Expand_Pragma_Loop_Assertion): Specialize the
search to include multiple nested loops produced by the expansion
of Ada 2012 array iterator.
* sem_attr.adb: Add with and use clause for Elists.
(Analyze_Attribute): Check the legality of attribute Loop_Entry.
(Resolve_Attribute): Nothing to do for Loop_Entry.
(S14_Attribute): New routine.
* snames.ads-tmpl: Add a comment on entries marked with
HiLite. Add new name Name_Loop_Entry. Add new attribute
Attribute_Loop_Entry.

From-SVN: r193227

11 years agore PR fortran/54917 ([OOP] TRANSFER on polymorphic variable causes ICE)
Janus Weil [Tue, 6 Nov 2012 10:15:42 +0000 (11:15 +0100)]
re PR fortran/54917 ([OOP] TRANSFER on polymorphic variable causes ICE)

2012-11-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54917
* target-memory.c (gfc_target_expr_size,gfc_target_interpret_expr):
Handle BT_CLASS.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Add support for
polymorphic arguments.

2012-11-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54917
* gfortran.dg/transfer_class_1.f90: New.
* gfortran.dg/transfer_class_2.f90: New.

From-SVN: r193226

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 10:14:13 +0000 (11:14 +0100)]
[multiple changes]

2012-11-06  Geert Bosch  <bosch@adacore.com>

* eval_fat.adb (Machine, Succ): Fix front end to support static
evaluation of attributes on targets with both VAX and IEEE float.
* sem_util.ads, sem_util.adb (Has_Denormals, Has_Signed_Zeros):
New type-specific functions. Previously we used Denorm_On_Target
and Signed_Zeros_On_Target directly, but that doesn't work well
for OpenVMS where a single target supports both floating point
with and without signed zeros.
* sem_attr.adb (Attribute_Denorm, Attribute_Signed_Zeros): Use
new Has_Denormals and Has_Signed_Zeros functions to support both
IEEE and VAX floating point on a single target.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* bindgen.adb (System_Interrupts_Used): New variable.
(Gen_Adainit): Declare and call
Install_Restricted_Handlers_Sequential if System.Interrupts is
used when elaboration policy is sequential.

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb: Complete previous change.

From-SVN: r193225

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 10:11:20 +0000 (11:11 +0100)]
[multiple changes]

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* fe.h (Get_Vax_Real_Literal_As_Signed): Declare.
* eval_fat.adb, eval_fat.ads (Decompose_Int): Move spec in package spec.
* exp_vfpt.adb, exp_vfpt.ads (Vax_Real_Literal_As_Signed): New function.
(Expand_Vax_Real_Literal): Remove.
* exp_ch2.adb (Expand_N_Real_Literal): Do nothing.
* sem_eval.adb (Expr_Value_R): Remove special Vax float case,
as this is not anymore a special case.

2012-11-06  Yannick Moy  <moy@adacore.com>

* uintp.ads: Minor correction of typo in comment.

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragnma, case Unchecked_Union): remove
requirement that discriminants of an unchecked_union must have
defaults.

2012-11-06  Vasiliy Fofanov  <fofanov@adacore.com>

* projects.texi: Minor wordsmithing.

From-SVN: r193224

11 years agosem_ch9.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 6 Nov 2012 10:09:01 +0000 (10:09 +0000)]
sem_ch9.adb, [...]: Minor reformatting.

2012-11-06  Robert Dewar  <dewar@adacore.com>

* sem_ch9.adb, exp_vfpt.adb, xoscons.adb: Minor reformatting.

From-SVN: r193223

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 10:05:10 +0000 (11:05 +0100)]
[multiple changes]

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* exp_vfpt.adb: Document VAX float point layout.

2012-11-06  Geert Bosch  <bosch@adacore.com>

* eval_fat.adb (Machine): Don't return -0.0 on targets without
signed zeros.

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch9.adb (Analyze_Entry_Call_Alternative,
Check_Triggering_Statement): Reject properly an indirect call.

From-SVN: r193222

11 years agoxoscons.adb, [...]: Add support for post-processing.
Pascal Obry [Tue, 6 Nov 2012 10:03:08 +0000 (10:03 +0000)]
xoscons.adb, [...]: Add support for post-processing.

2012-11-06  Pascal Obry  <obry@adacore.com>

* xoscons.adb, xutil.adb, xutil.ads: Add support for post-processing.

From-SVN: r193221

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 10:01:03 +0000 (11:01 +0100)]
[multiple changes]

2012-11-06  Yannick Moy  <moy@adacore.com>

* s-bignum.adb (Div_Rem): Fix another bug in step D3.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* s-tarest.adb (Create_Restricted_Task): Call
Create_Restricted_Task_Sequential in sequential case.

2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the
pragma into a null statement as its presence is desirable in -gnatG
output.

From-SVN: r193219

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 09:59:02 +0000 (10:59 +0100)]
[multiple changes]

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Check_Constrained_Object): Do nothing if the
renamed object is a limited record.

2012-11-06  Bernard Banner  <banner@adacore.com>

* sysdep.c (_getpagesize): New. Minor reformatting.

From-SVN: r193218

11 years agosem_prag.adb: Minor reformatting.
Robert Dewar [Tue, 6 Nov 2012 09:55:50 +0000 (09:55 +0000)]
sem_prag.adb: Minor reformatting.

2012-11-06  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Minor reformatting.

2012-11-06  Robert Dewar  <dewar@adacore.com>

* s-bignum.adb (Div_Rem): Fix bug in step D3.
* uintp.adb (UI_Div_Rem): Add comment on bug in step D3.

From-SVN: r193217

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 09:53:42 +0000 (10:53 +0100)]
[multiple changes]

2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_prag.adb (Expand_Pragma_Loop_Assertion): Update the comment
on intended expansion. Reimplement the logic which expands the
termination variants.
(Process_Increase_Decrease): Update the parameter profile and the
comment related to it. Accommodate the new aggregate-like appearance of
the termination variants.
* sem_prag.adb (Analyze_Pragma): Update the syntax of pragma
Loop_Assertion. Reimplement the semantic analysis of the pragma
to accommodate the new aggregate-like variant.
(Check_Variant): New routine.
* snames.ads-tmpl: Change names Name_Decreases and Name_Increases
to Name_Decreasing and Name_Increasing respectively. Add name
Variant.

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* sem_eval.adb: Static evaluation of case expressions.

From-SVN: r193216

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 09:49:23 +0000 (10:49 +0100)]
[multiple changes]

2012-11-06  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb,
s-tarest.adb: Minor reformatting.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* s-tposen.ads: Minor comment update.

2012-11-06  Arnaud Charlet  <charlet@adacore.com>

* sysdep.c: Rename sig* wrappers to use unique names.

2012-11-06  Yannick Moy  <moy@adacore.com>

* exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified
name after being treated, in formal verification mode.

2012-11-06  Fedor Rybin  <frybin@adacore.com>

* gnat_ugn.texi: Updating gnattest section to reflect changes
in default behaviour of the tool.

From-SVN: r193215

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 09:44:51 +0000 (10:44 +0100)]
[multiple changes]

2012-11-06  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even
on platforms that do not support sockets (for the benefit of
subtype IOCTL_Req_T).

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* par-ch4.adb (P_Primary): if-expressions, case-expressions,
and quantified expressions are legal if surrounded by parentheses
from an enclosing context, such as a call or an instantiation.

2012-11-06  Yannick Moy  <moy@adacore.com>

* impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for
predefined implementation files, instead of returning
Not_Predefined_Unit on all .adb files.

2012-11-06  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if
partition elaboration policy is sequential.
(Build_Task_Activation_Call): Likewise. Use
Activate_Restricted_Tasks on restricted profile.
(Make_Task_Create_Call): Do not use the _Chain
parameter if elaboration policy is sequential. Call
Create_Restricted_Task_Sequential in that case.
* exp_ch3.adb (Build_Initialization_Call): Change condition to
support concurrent elaboration policy.
(Build_Record_Init_Proc): Likewise.
(Init_Formals): Likewise.
* bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy
and set it in generated code if the elaboration policy is
sequential. The procedure called to activate all tasks is now
named __gnat_activate_all_tasks.
* rtsfind.adb (RE_Activate_Restricted_Task,
RE_Create_Restricted_Task_Sequential): New RE_Id literals.
* s-tarest.adb (Create_Restricted_Task): Added to create a task without
adding it on an activation chain.
(Activate_Tasks): Has now a Chain parameter.
(Activate_All_Tasks_Sequential): Added. Called by the binder to
activate all tasks.
(Activate_Restricted_Tasks): Added. Called during elaboration to
activate tasks of the units.
* s-tarest.ads: Remove pragma Partition_Elaboration_Policy.
(Partition_Elaboration_Policy): New variable (set by the binder).
(Create_Restricted_Task): Revert removal of the chain parameter.
(Create_Restricted_Task_Sequential): New procedure.
(Activate_Restricted_Tasks): Revert removal.
(Activate_All_Tasks_Sequential): New procedure.

From-SVN: r193214

11 years ago2012-11-06 Bernard Banner <banner@adacore.com>
Bernard Banner [Tue, 6 Nov 2012 09:41:56 +0000 (09:41 +0000)]
2012-11-06  Bernard Banner  <banner@adacore.com>

* adaint.c Add file macro definitions missing on Android.
* adaint.h Avoid definitions related to task affinity and CPU
sets since this functionality is missing on the Android
* errno.c (__set_errno): Android already contains such a named
procedure so do include again.
* gsocket.h: Sockets not supported on Android.
* init.c: Avoid linux related code not supported on Android.
* sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset,
sigfillset): wrapper functions since sig routines are defined
as inline macros on Android.
* terminals.c: Add stubs for terminal related functions not
supported on Android.

From-SVN: r193213

11 years agosem_prag.adb (Analyze_Pragma): Do not output the characters of an illegal argument...
Hristian Kirtchev [Tue, 6 Nov 2012 09:38:48 +0000 (09:38 +0000)]
sem_prag.adb (Analyze_Pragma): Do not output the characters of an illegal argument as it may not have...

2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Do not
output the characters of an illegal argument as it may not have
characters to begin with.

2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_prag.adb (Expand_Pragma_Loop_Assertion):
Change the order of argument processing to avoid disappearing
increase / decrease expressions.

From-SVN: r193212

11 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Nov 2012 09:37:34 +0000 (10:37 +0100)]
[multiple changes]

2012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_prag.adb: Add with and use clause for Sem_Ch8.
(Expand_N_Pragma): Add a new variant to expand pragma Loop_Assertion.
(Expand_Pragma_Loop_Assertion): New routine.
* par-prag.adb (Prag): The semantic analysis of pragma
Loop_Assertion is carried out by Analyze_Pragma. No need for
checks in the parser.
* sem_prag.adb: Add a reference position value for pragma
Loop_Assertion in Sig_Flags.
(Analyze_Pragma): Add semantic analysis for pragma Loop_Assertion.
* snames.ads-tmpl: Add the following new names:
Name_Decreases Name_Increases Name_Loop_Assertion.
Add new pragma id Pragma_Loop_Assertion.

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb: Identifier in iterator must have debug
information.

From-SVN: r193211

11 years agore PR target/41993 ([sh] ICE in create_pre_exit, at mode-switching.c:399)
Uros Bizjak [Tue, 6 Nov 2012 09:16:34 +0000 (10:16 +0100)]
re PR target/41993 ([sh] ICE in create_pre_exit, at mode-switching.c:399)

PR target/41993
* mode-switching.c (create_pre_exit): Set return_copy to
last_insn when copy_start is a pseudo reg.

Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r193210

11 years agoMakefile.in (osconstool): Fix target.
Arnaud Charlet [Tue, 6 Nov 2012 09:03:55 +0000 (09:03 +0000)]
Makefile.in (osconstool): Fix target.

libada/
* Makefile.in (osconstool): Fix target.
ada/
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove
duplicate rules handled by Make-generated.in.

From-SVN: r193209

11 years agoi386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3 to CODE_FOR_avx2_pmulhrswv16hi3.
Andrey Turetskiy [Tue, 6 Nov 2012 07:43:37 +0000 (07:43 +0000)]
i386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3 to CODE_FOR_avx2_pmulhrswv16hi3.

* config/i386/i386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3 to
CODE_FOR_avx2_pmulhrswv16hi3.
* config/i386/predicates.md (const1_operand): Extend for vectors.
* config/i386/sse.md (ssse3_avx2): Extend.
(ssedoublemode): Ditto.
(<sse2_avx2>_uavg<mode>3): Merge avx2_uavgv32qi3, sse2_uavgv16qi3,
avx2_uavgv16hi3 and sse2_uavgv8hi3 into one.
(*<sse2_avx2>_uavg<mode>3): Merge *avx2_uavgv32qi3, *sse2_uavgv16qi3,
*avx2_uavgv16hi3 and *sse2_uavgv8hi3 into one.
(PMULHRSW): New.
(<ssse3_avx2>_pmulhrsw<mode>3): Merge avx2_umulhrswv16hi3,
ssse3_pmulhrswv8hi3 and ssse3_pmulhrswv4hi3 into one.
(*avx2_pmulhrswv16hi3): Replace const_vector with const1_operand
predicate.
(*ssse3_pmulhrswv8hi3): Ditto.
(*ssse3_pmulhrswv4hi3): Ditto.

From-SVN: r193208

11 years agoUpdate Copyright years.
Joern Rennecke [Tue, 6 Nov 2012 05:16:42 +0000 (05:16 +0000)]
Update Copyright years.

From-SVN: r193207