platform/upstream/linaro-gcc.git
11 years ago PR libstdc++/51365
redi [Sun, 28 Apr 2013 11:38:21 +0000 (11:38 +0000)]
PR libstdc++/51365
* include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
implement EBO safely.
(_Sp_counted_base::_M_get_deleter): Add noexcept.
(_Sp_counter_ptr): Use noexcept instead of comments.
(_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
(_Sp_counted_ptr_inplace): Likewise.
* testsuite/20_util/shared_ptr/cons/51365.cc: New.
* testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
custom allocator and test construction with custom allocator.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
line number.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198367 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sun, 28 Apr 2013 00:16:43 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198365 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/i386.c (ix86_expand_call): Make cregs_size unsigned.
jakub [Sat, 27 Apr 2013 12:29:42 +0000 (12:29 +0000)]
* config/i386/i386.c (ix86_expand_call): Make cregs_size unsigned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198358 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/56866
jakub [Sat, 27 Apr 2013 12:26:05 +0000 (12:26 +0000)]
PR target/56866
* config/i386/i386.c (ix86_expand_mul_widen_evenodd): Don't
use xop_pmacsdqh if uns_p.
* config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
the immediate rotate count.

* gcc.c-torture/execute/pr56866.c: New test.
* gcc.target/i386/pr56866.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198355 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sat, 27 Apr 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198353 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 26 Apr 2013 21:20:00 +0000 (21:20 +0000)]
2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
dialect to -std=gnu++11.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198347 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-26 François Dumont <fdumont@gcc.gnu.org>
fdumont [Fri, 26 Apr 2013 20:13:41 +0000 (20:13 +0000)]
2013-04-26  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable_policy.h
(_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
* testsuite/23_containers/unordered_set/insert/move_range.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198346 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-26 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 26 Apr 2013 18:11:35 +0000 (18:11 +0000)]
2013-04-26  Vladimir Makarov  <vmakarov@redhat.com>

* rtl.h (struct rtx_def): Add comment for field jump.
(LRA_SUBREG_P): New macro.
* recog.c (register_operand): Check LRA_SUBREG_P.
* lra.c (lra): Add note at the end of RTL code. Align non-empty
stack frame.
* lra-spills.c (lra_spill): Align stack after spilling pseudos.
(lra_final_code_change): Skip subreg change for operators.
* lra-eliminations.c (eliminate_regs_in_insn): Make return earlier
if there are no operand changes.
* lra-constraints.c (curr_insn_set): New.
(match_reload): Set LRA_SUBREG_P.
(emit_spill_move): Ditto.
(check_and_process_move): Use curr_insn_set. Process only single
set insns.  Don't initialize sec_mem_p and change_p.
(simplify_operand_subreg): Use LRA_SUBREG_P.
(reg_in_class_p): New function.
(process_alt_operands): Use it.  Use #if HAVE_ATTR_enabled instead
of #ifdef.  Add code to remove cycling.
(process_address): Check EXTRA_CONSTRAINT_STR. Process even if
non-null disp.  Reload inner instead of disp when base and index
are null.  Try to put lo_sum into register.
(EBB_PROBABILITY_CUTOFF): Redefine probability in percents.
(check_and_process_move): Move code for move cost check to
simple_move_p.  Remove equiv_substitution.
(simple_move_p): New function.
(curr_insn_transform): Initialize sec_mem_p and change_p.  Set up
curr_insn_set.  Call check_and_process_move only for single set
insns.  Use the new function.  Move call of check_and_process_move
after operand equiv substitution and address process.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198344 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR go/57045
jakub [Fri, 26 Apr 2013 13:14:55 +0000 (13:14 +0000)]
PR go/57045
* tree-ssa-uninit.c (compute_uninit_opnds_pos): In functions
with nonlocal goto receivers or returns twice calls, ignore
unininitialized values from abnormal edges to nl goto receiver
or returns twice call.

* gcc.dg/setjmp-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198340 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-optimization/57051
jakub [Fri, 26 Apr 2013 13:13:36 +0000 (13:13 +0000)]
PR tree-optimization/57051
* fold-const.c (const_binop): Handle VEC_LSHIFT_EXPR
and VEC_RSHIFT_EXPR if shift count is a multiple of element
bitsize.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198339 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-26 Richard Biener <rguenther@suse.de>
rguenth [Fri, 26 Apr 2013 12:56:36 +0000 (12:56 +0000)]
2013-04-26  Richard Biener  <rguenther@suse.de>

* omp-low.c (finalize_task_copyfn): Do not drop PROP_loops.
(expand_omp_taskreg): Likewise.  Mark loops for fixup.
* tree-cfg.c (move_block_to_fn): Remap loop fathers.
(fixup_loop_arrays_after_move): New function.
(move_sese_region_to_fn): Properly outline the loop tree parts
of the SESE region.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198338 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 26 Apr 2013 12:11:14 +0000 (12:11 +0000)]
2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198337 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/i386.md (type, unit): Fix long lines.
uros [Fri, 26 Apr 2013 12:00:29 +0000 (12:00 +0000)]
* config/i386/i386.md (type, unit): Fix long lines.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198336 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 26 Apr 2013 11:32:49 +0000 (11:32 +0000)]
2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cstdio (gets): Provide only in C++98 and C++11.
* include/c_std/cstdio (gets): Likewise.
* testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198335 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-26 Richard Biener <rguenther@suse.de>
rguenth [Fri, 26 Apr 2013 11:13:14 +0000 (11:13 +0000)]
2013-04-26  Richard Biener  <rguenther@suse.de>

* Makefile.in (lto-streamer-in.o): Add $(CFGLOOP_H) dependency.
(lto-streamer-out.o): Likewise.
* cfgloop.c (init_loops_structure): Export, add struct function
argument and adjust.
(flow_loops_find): Adjust.
* cfgloop.h (enum loop_estimation): Add EST_LAST.
(init_loops_structure): Declare.
* lto-streamer-in.c: Include cfgloop.h.
(input_cfg): Input the loop tree.
* lto-streamer-out.c: Include cfgloop.h.
(output_cfg): Output the loop tree.
(output_struct_function_base): Do not drop PROP_loops.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198334 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-03-26 Richard Biener <rguenther@suse.de>
rguenth [Fri, 26 Apr 2013 08:01:19 +0000 (08:01 +0000)]
2013-03-26  Richard Biener  <rguenther@suse.de>

* tree-cfg.c (execute_build_cfg): Build the loop tree.
(pass_build_cfg): Provide PROP_loops.
(move_sese_region_to_fn): Remove loops that are outlined into fn
for now.
* tree-inline.c: Include cfgloop.h.
(initialize_cfun): Do not drop PROP_loops.
(copy_loops): New function.
(copy_cfg_body): Copy loop structure.
(tree_function_versioning): Initialize destination loop tree.
* tree-ssa-loop.c (pass_tree_loop_init): Do not provide PROP_loops.
(pass_parallelize_loops): Do IL verification.
* loop-init.c (loop_optimizer_init): Fixup loops if required.
* tree-optimize.c (execute_fixup_cfg): If we need to cleanup
the CFG make sure we fixup loops as well.
* tree-ssa-tail-merge.c: Include cfgloop.h.
(replace_block_by): When merging loop latches mark loops for fixup.
* lto-streamer-out.c (output_struct_function_base): Drop
PROP_loops for now.
* tree-ssa-phiopt.c: Include tree-scalar-evolution.h.
(tree_ssa_cs_elim): Initialize the loop optimizer and SCEV.
* ipa-split.c: Include cfgloop.h.
(split_function): Add the new return block to the loop tree root.
* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Return
whether we have removed the forwarder block.
(merge_phi_nodes): If we removed a forwarder mark loops for fixup.
* cfgloop.h (place_new_loop): Declare.
* cfgloopmanip.c (place_new_loop): Export.
* Makefile.in (asan.o): Add $(CFGLOOP_H) dependency.
(tree-switch-conversion.o): Likewise.
(tree-complex.o): Likewise.
(tree-inline.o): Likewise.
(tree-ssa-tailmerge.o): Likewise.
(ipa-split.o): Likewise.
(tree-ssa-phiopt.o): Add $(SCEV_H) dependency.
(tree-ssa-copy.o): Likewise.
* tree-switch-conversion.c: Include cfgloop.h
(process_switch): If we emit a bit-test cascade, schedule loops
for fixup.
* tree-complex.c: Include cfgloop.h.
(expand_complex_div_wide): Properly add new basic-blocks to loops.
* asan.c: Include cfgloop.h.
(create_cond_insert_point): Properly add new basic-blocks to
loops, schedule loop fixup.
* cfgloop.c (verify_loop_structure): Check that looks are not
marked for fixup.
* omp-low.c (expand_parallel_call): Properly add new basic-blocks
to loops.
(expand_omp_for_generic): Likewise.
(expand_omp_sections): Likewise.
(expand_omp_atomic_pipeline): Schedule loops for fixup.
* tree-ssa-copy.c: Include tree-scalar-evolution.h.
(fini_copy_prop): Disable DCE in substitute_and_fold if SCEV
is initialized, not when loops are present.
* tree-parloops.c (parallelize_loops): Remove checking here.
* passes.c (init_optimization_passes): Schedule a copy-propagation
pass before complete unrolling of inner loops.

* gcc.dg/tree-prof/update-loopch.c: Revert last change.
* gcc.dg/graphite/pr33766.c: Fix undefined behavior.
* gcc.dg/pr53265.c: Remove XFAILs.
* gcc.dg/tree-ssa/loop-38.c: Remove unreliable dump scanning.
* gcc.dg/tree-ssa/pr21559.c: Change back to two expected jump threads.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198333 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * Makefile.in (toplev.o): Depend on diagnostic-color.h.
jakub [Fri, 26 Apr 2013 06:55:56 +0000 (06:55 +0000)]
* Makefile.in (toplev.o): Depend on diagnostic-color.h.
* diagnostic-color.c (should_colorize): Remove _WIN32 version.
(colorize_init): Add argument to _WIN32 version.
* toplev.c: Include diagnostic-color.h.
(process_options): Default to -fdiagnostics-color=auto if
GCC_COLORS env var is in the environment.
* common.opt (fdiagnostics-color=): Add Var and Init.
* doc/invoke.texi (-fdiagnostics-color=): Document that if
GCC_COLORS env var is in the environment, the default is auto
rather than never.

* lib/prune.exp: Add -fdiagnostics-color=never to TEST_ALWAYS_FLAGS.
* lib/c-compat.exp (compat-use-alt-compiler, compat_setup_dfp): Handle
-fdiagnostics-color=never option similarly to
-fno-diagnostics-show-caret option.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198332 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * diagnostic.h (file_name_as_prefix): Add context argument.
jakub [Fri, 26 Apr 2013 06:54:54 +0000 (06:54 +0000)]
* diagnostic.h (file_name_as_prefix): Add context argument.
* diagnostic.c (file_name_as_prefix): Likewise.  Colorize
the string as locus.
* langhooks.c (lhd_print_error_function): Adjust caller.
cp/
* error.c (cp_print_error_function): Adjust file_name_as_prefix
caller.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198331 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoThis patch is part of a consolodation of the hash_table patches to
crowl [Fri, 26 Apr 2013 00:30:32 +0000 (00:30 +0000)]
This patch is part of a consolodation of the hash_table patches to
the cxx-conversion branch for files not under gcc/config.

Update various hash tables from htab_t to hash_table.
Modify types and calls to match.

* var-tracking.c'emit_note_data_def.vars
* var-tracking.c'shared_hash_def.htab
* var-tracking.c'changed_variables

Fold variable_htab_hash, variable_htab_eq, variable_htab_free
  into new struct variable_hasher.
Add typedef variable_table_type.
Add typedef variable_iterator_type.

Tested on x86_64.

Index: gcc/ChangeLog

* var-tracking.c (shared_hash_def::htab):
Change type to hash_table.  Update dependent calls and types.

2013-04-25  Lawrence Crowl  <crowl@google.com>

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198330 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoThis patch is the main part of a consolodation of the hash_table
crowl [Fri, 26 Apr 2013 00:28:35 +0000 (00:28 +0000)]
This patch is the main part of a consolodation of the hash_table
patches to the cxx-conversion branch for files not under gcc/config.

Update various hash tables from htab_t to hash_table.
Modify types and calls to match.

* tree-parloops.c'reduction
* tree-parloops.c'name_to_copy

Fold reduction_info_hash and reduction_info_eq into new struct
reduction_hasher.  Fold name_to_copy_elt_eq and name_to_copy_elt_hash
into new struct name_to_copy_hasher.

* trans-mem.c'tm_log

Fold tm_log_hash, tm_log_eq, tm_log_free into new struct log_entry_hasher.

* trans-mem.c'tm_memopt_value_numbers

Fold tm_memop_hash, tm_memop_eq into new struct tm_memop_hasher.

* tree-ssa-strlen.c'decl_to_stridxlist_htab

Fold decl_to_stridxlist_hash into new struct stridxlist_hasher.

* tree-ssa-loop-ivopts.c'ivopts_data::inv_expr_tab

Fold htab_inv_expr_hash and htab_inv_expr_eq into new struct
iv_inv_expr_hasher.

* tree-ssa-uncprop.c'equiv

Equiv renamed to val_ssa_equiv because of name ambiguity with local variables.

Fold equiv_hash, equiv_eq and equiv_free into new struct val_ssa_equiv_hasher.

Renamed variables equiv_hash_elt to an_equiv_elt because of name ambiguity
with struct type.  Changed equiv_hash_elt_p to an_equiv_elt_p to match.

* tree-ssa-phiopt.c'seen_ssa_names

Fold name_to_bb_hash and name_to_bb_eq into new struct ssa_names_hasher.

* tree-ssa-structalias.c'pointer_equiv_class_table
* tree-ssa-structalias.c'location_equiv_class_table

Fold equiv_class_label_hash and equiv_class_label_eq into new
struct equiv_class_hasher.

* tree-ssa-structalias.c'shared_bitmap_table

Fold shared_bitmap_hash and shared_bitmap_eq into new struct
shared_bitmap_hasher.

* tree-ssa-live.c'var_map_base_init::tree_to_index

New struct tree_int_map_hasher.

* tree-sra.c'candidates

Fold uid_decl_map_hash and uid_decl_map_eq into new struct
uid_decl_hasher.  This change moves the definitions from tree-ssa.c
into tree-sra.c and removes the declarations from tree-flow.h

tree-browser.c

Remove stale declaration of removed TB_parent_eq.
Fix template parameter for base class to match value_type.

gimple.h

Use gimplify_hasher::hash rather than gimple_tree_hash in the
  assertion check.
Change return values to match return type. (I.e. no conversions.)

* graphite-clast-to-gimple.c'ivs_params::newivs_index
* graphite-clast-to-gimple.c'ivs_params::params_index
* graphite-clast-to-gimple.c'print_generated_program::params_index
* graphite-clast-to-gimple.c'gloog::newivs_index
* graphite-clast-to-gimple.c'gloog::params_index
* graphite.c graphite_transform_loops::bb_pbb_mapping
* sese.c copy_bb_and_scalar_dependences::rename_map

Move hash table declarations to a new graphite-htab.h, because they
are used in few places.

Remove unused:

htab_t scop::original_pddrs
SCOP_ORIGINAL_PDDRS

Remove unused:

insert_loop_close_phis
insert_guard_phis
debug_ivtype_map
ivtype_map_elt_info
new_ivtype_map_elt

* gimplify.c'gimplify_ctx::temp_htab

Move struct gimple_temp_hash_elt and struct gimplify_ctx to a new
gimplify-ctx.h, because they are used few places.

* cselib.c'cselib_hash_table
* gcse.c'pre_ldst_table
* gimple-ssa-strength-reduction.c'base_cand_map
* haifa-sched.c'delay_htab
* haifa-sched.c'delay_htab_i2
* ira-color.c'allocno_hard_regs_htab
* ira-costs.c'cost_classes_htab
* loop-invariant.c'merge_identical_invariants::eq
* loop-iv.c'bivs
* loop-unroll.c'opt_info::insns_to_split
* loop-unroll.c'opt_info::insns_with_var_to_expand
* passes.c'name_to_pass_map
* plugin.c'event_tab
* postreload-gcse.c'expr_table
* store-motion.c'store_motion_mems_table
* tree-cfg.c'discriminator_per_locus
* tree-scalar-evolution.c'resolve_mixers::cache
* tree-ssa-dom.c'avail_exprs

Remove unused:
dse.c bitmap clear_alias_sets
dse.c bitmap disqualified_clear_alias_sets
dse.c alloc_pool clear_alias_mode_pool
dse.c dse_step2_spill
dse.c dse_step5_spill
graphds.h htab_t graph::indices

* attribs.c'scoped_attributes::attribute_hash
* bitmap.c'bitmap_desc_hash
* dwarf2cfi.c'trace_index
* dwarf2out.c'break_out_includes::cu_hash_table
* dwarf2out.c'copy_decls_for_unworthy_types::decl_table
* dwarf2out.c'optimize_external_refs::map
* dwarf2out.c'output_comp_unit::extern_map
* dwarf2out.c'output_comdat_type_unit::extern_map
* dwarf2out.c'output_macinfo::macinfo_htab
* dwarf2out.c'optimize_location_lists::htab
* dwarf2out.c'dwarf2out_finish::comdat_type_table
* except.c'ehspec_hash_type
* except.c'assign_filter_values::ttypes
* except.c'assign_filter_values::ehspec
* except.c'sjlj_assign_call_site_values::ar_hash
* except.c'convert_to_eh_region_ranges::ar_hash
* trans-mem.c'tm_new_mem_hash
* tree-browser.c'TB_up_ht
* tree-eh.c'finally_tree

Move the declaration of hash_table <alloc_pool_hasher> alloc_pool_hash
in alloc-pool.c to after the method definitions for its parameter
class.

* ggc-common.c'loc_hash
* ggc-common.c'ptr_hash

Add a new hash_table method elements_with_deleted to meet the needs of
gcc-common.c.

Correct many methods with parameter types compare_type to the correct
value_type.  (Correct code was unlikely to notice the change, but
incorrect code will.)

* tree-complex.c'complex_variable_components
* tree-parloops.c'eliminate_local_variables_stmt::decl_address
* tree-parloops.c'separate_decls_in_region::decl_copies

Move hash table declarations to a new tree-hasher.h, to resolve
compilation dependences and because they are used in few places.

* lto-streamer.h'output_block::string_hash_table
* lto-streamer-in.c'file_name_hash_table
* lto-streamer.c'tree_htab

The struct string_slot moves from data-streamer.h to lto-streamer.h to
resolve compilation dependences.

Tested on x86_64.

Index: gcc/ChangeLog

2013-04-25  Lawrence Crowl  <crowl@google.com>

* Makefile.in: Update as needed below.

* alloc-pool.c (static hash_table <alloc_pool_hasher> alloc_pool_hash):
Move declaration to after the type's method definitons.

* attribs.c (htab_t scoped_attributes::attribute_hash):
Change type to hash_table.  Update dependent calls and types.

* bitmap.c (htab_t bitmap_desc_hash):
Change type to hash_table.  Update dependent calls and types.

* cselib.c (htab_t cselib_hash_table):
Change type to hash_table.  Update dependent calls and types.

* data-streamer.h (struct string_slot): Move to lto-streamer.h.
(hash_string_slot_node): Move implementation into lto-streamer.h
struct string_slot_hasher.
(eq_string_slot_node): Likewise.

* data-streamer-out.c: Update output_block::string_hash_table
dependent calls and types.

* dwarf2cfi.c (htab_t trace_index):
Change type to hash_table.  Update dependent calls and types.

* dwarf2out.c (htab_t break_out_includes::cu_hash_table):
Change type to hash_table.  Update dependent calls and types.
(htab_t copy_decls_for_unworthy_types::decl_table): Likewise.
(htab_t optimize_external_refs::map): Likewise.
(htab_t output_comp_unit::extern_map): Likewise.
(htab_t output_comdat_type_unit::extern_map): Likewise.
(htab_t output_macinfo::macinfo_htab): Likewise.
(htab_t optimize_location_lists::htab): Likewise.
(htab_t dwarf2out_finish::comdat_type_table): Likewise.

* except.c (htab_t ehspec_hash_type):
Change type to hash_table.  Update dependent calls and types.
(assign_filter_values::ttypes): Likewise.
(assign_filter_values::ehspec): Likewise.
(sjlj_assign_call_site_values::ar_hash): Likewise.
(convert_to_eh_region_ranges::ar_hash): Likewise.

* gcse.c (htab_t pre_ldst_table):
Change type to hash_table.  Update dependent calls and types.

* ggc-common.c (htab_t saving_htab):
Change type to hash_table.  Update dependent calls and types.
(htab_t loc_hash): Likewise.
(htab_t ptr_hash): Likewise.
(call_count): Rename ggc_call_count.
(call_alloc): Rename ggc_call_alloc.
(loc_descriptor): Rename make_loc_descriptor.
(add_statistics): Rename ggc_add_statistics.

* ggc-common.c (saving_htab):
Change type to hash_table.  Update dependent calls and types.

* gimple.h (struct gimplify_ctx): Move to gimplify-ctx.h.
(push_gimplify_context): Likewise.
(pop_gimplify_context): Likewise.
(struct gimple_temp_hash_elt): Added.
(struct gimplify_hasher): Likewise.
(struct gimplify_ctx.temp_htab):
Change type to hash_table.  Update dependent calls and types.

* gimple-fold.c: Include gimplify-ctx.h.

* gimple-ssa-strength-reduction.c (htab_t base_cand_map):
Change type to hash_table.  Update dependent calls and types.
(base_cand_dump_callback): Rename to ssa_base_cand_dump_callback to
avoid potential global name collision.

* gimplify.c: Include gimplify-ctx.h.
(struct gimple_temp_hash_elt): Move to gimplify-ctx.h.
(htab_t gimplify_ctx::temp_htab):
Update dependent calls and types for new type hash_table.
(gimple_tree_hash): Move into gimplify_hasher in gimplify-ctx.h.
(gimple_tree_eq): Move into gimplify_hasher in gimplify-ctx.h.

* gimplify-ctx.h: New.
(struct gimple_temp_hash_elt): Move from gimplify.c.
(class gimplify_hasher): New.
(struct gimplify_ctx): Move from gimple.h.
(htab_t gimplify_ctx::temp_htab):
Change type to hash_table.  Update dependent calls and types.

* graphite-clast-to-gimple.c: Include graphite-htab.h.
(htab_t ivs_params::newivs_index):
Change type to hash_table.  Update dependent calls and types.
(htab_t ivs_params::params_index): Likewise.
(htab_t print_generated_program::params_index): Likewise.
(htab_t gloog::newivs_index): Likewise.
(htab_t gloog::params_index): Likewise.

* graphite.c: Include graphite-htab.h.
4htab_t graphite_transform_loops::bb_pbb_mapping):
Change type to hash_table.  Update dependent calls and types.

* graphite-clast-to-gimple.h: (extern gloog) Move to graphite-htab.h.
(bb_pbb_map_hash): Fold into bb_pbb_htab_type in graphite-htab.h.
(eq_bb_pbb_map): Fold into bb_pbb_htab_type in graphite-htab.h.

* graphite-dependences.c: Include graphite-htab.h.
(loop_is_parallel_p): Change hash table type of parameter.

* graphite-htab.h: New.
(typedef hash_table <bb_pbb_hasher> bb_pbb_htab_type): New.
(extern find_pbb_via_hash): Move from graphite-poly.h.
(extern loop_is_parallel_p): Move from graphite-poly.h.
(extern get_loop_body_pbbs): Move from graphite-poly.h.

* graphite-poly.h (extern find_pbb_via_hash): Move to graphite-htab.h.
(extern loop_is_parallel_p): Move to graphite-htab.h.
(extern get_loop_body_pbbs): Move to graphite-htab.h.

* haifa-sched.c (htab_t delay_htab):
Change type to hash_table.  Update dependent calls and types.
(htab_t delay_htab_i2): Likewise.

* ira-color.c (htab_t allocno_hard_regs_htab):
Change type to hash_table.  Update dependent calls and types.

* ira-costs.c (htab_t cost_classes_htab):
Change type to hash_table.  Update dependent calls and types.

* loop-invariant.c (htab_t merge_identical_invariants::eq):
Change type to hash_table.  Update dependent calls and types.

* loop-iv.c (htab_t bivs):
Change type to hash_table.  Update dependent calls and types.

* loop-unroll.c (htab_t opt_info::insns_to_split):
Change type to hash_table.  Update dependent calls and types.
(htab_t opt_info::insns_with_var_to_expand): Likewise.

* lto-streamer.h (struct string_slot): Move from data-streamer.h
(struct string_slot_hasher): New.
(htab_t output_block::string_hash_table):
Change type to hash_table.  Update dependent calls and types.

* lto-streamer-in.c (freeing_string_slot_hasher): New.
(htab_t file_name_hash_table):
Change type to hash_table.  Update dependent calls and types.

* lto-streamer-out.c: Update output_block::string_hash_table dependent
calls and types.

* lto-streamer.c (htab_t tree_htab):
Change type to hash_table.  Update dependent calls and types.

* omp-low.c: Include gimplify-ctx.h.

* passes.c (htab_t name_to_pass_map):
Change type to hash_table.  Update dependent calls and types.
(pass_traverse): Rename to passes_pass_traverse.

* plugin.c (htab_t event_tab):
Change type to hash_table.  Update dependent calls and types.

* postreload-gcse.c (htab_t expr_table):
Change type to hash_table.  Update dependent calls and types.
(dump_hash_table_entry): Rename dump_expr_hash_table_entry.

* sese.c (debug_rename_map_1): Make extern.
(htab_t copy_bb_and_scalar_dependences::rename_map):
Change type to hash_table.  Update dependent calls and types.

* sese.h (extern debug_rename_map): Move to .c file.

* store-motion.c (htab_t store_motion_mems_table):
Change type to hash_table.  Update dependent calls and types.

* trans-mem.c (htab_t tm_new_mem_hash):
Change type to hash_table.  Update dependent calls and types.

* tree-browser.c (htab_t TB_up_ht):
Change type to hash_table.  Update dependent calls and types.

* tree-cfg.c (htab_t discriminator_per_locus):
Change type to hash_table.  Update dependent calls and types.

* tree-complex.c: Include tree-hasher.h
(htab_t complex_variable_components):
Change type to hash_table.  Update dependent calls and types.

* tree-eh.c (htab_t finally_tree):
Change type to hash_table.  Update dependent calls and types.

* tree-flow.h (extern int_tree_map_hash): Moved into tree-hasher
struct int_tree_hasher.
(extern int_tree_map_eq): Likewise.
(uid_decl_map_hash): Removed.
(extern decl_tree_map_eq): Likewise.

* tree-hasher.h: New.
(struct int_tree_hasher): New.
(typedef int_tree_htab_type): New.

* tree-inline.c: Include gimplify-ctx.h.

* tree-mudflap.c: Include gimplify-ctx.h.

* tree-parloops.c: Include tree-hasher.h.
(htab_t eliminate_local_variables_stmt::decl_address):
Change type to hash_table.  Update dependent calls and types.
(htab_t separate_decls_in_region::decl_copies): Likewise.

* tree-scalar-evolution.c (htab_t resolve_mixers::cache):
Change type to hash_table.  Update dependent calls and types.

* tree-sra.c (candidates):
Change type to hash_table.  Update dependent calls and types.

* tree-ssa.c (int_tree_map_eq): Moved into struct int_tree_hasher
in tree-flow.h.
(int_tree_map_hash): Likewise.

* tree-ssa-dom.c (htab_t avail_exprs):
Change type to hash_table.  Update dependent calls and types.

* tree-ssa-live.c (var_map_base_init::tree_to_index):
Change type to hash_table.  Update dependent calls and types.

* tree-ssa-loop-ivopts.c (struct ivopts_data.inv_expr_tab):
Change type to hash_table.  Update dependent calls and types.

* tree-ssa-phiopt.c (seen_ssa_names):
Change type to hash_table.  Update dependent calls and types.

* tree-ssa-strlen.c (decl_to_stridxlist_htab):
Change type to hash_table.  Update dependent calls and types.

* tree-ssa-uncprop.c (equiv):
Change type to hash_table.  Update dependent calls and types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198329 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Fri, 26 Apr 2013 00:16:40 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198328 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * de.po, sv.po, vi.po: Update.
jsm28 [Thu, 25 Apr 2013 23:05:08 +0000 (23:05 +0000)]
* de.po, sv.po, vi.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198323 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/57003
jakub [Thu, 25 Apr 2013 21:49:22 +0000 (21:49 +0000)]
PR rtl-optimization/57003
* regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
call note_stores with kill_clobbered_value callback again after
killing regs_invalidated_by_call.

* gcc.target/i386/pr57003.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198320 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoPR 57028 Bootstrap regression wrt zlib.
jb [Thu, 25 Apr 2013 19:16:46 +0000 (19:16 +0000)]
PR 57028 Bootstrap regression wrt zlib.

2013-04-25  Janne Blomqvist  <jb@gcc.gnu.org>

        PR bootstrap/57028
        * Make-lang.in (f951): Link in ZLIB.
        (CFLAGS-fortran/module.o): Add zlib include directory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198318 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Describe the 'BSL' RTL pattern more accurately.
jgreenhalgh [Thu, 25 Apr 2013 16:54:32 +0000 (16:54 +0000)]
[AArch64] Describe the 'BSL' RTL pattern more accurately.

gcc/
* config/aarch64/aarch64-simd.md
(aarch64_simd_bsl<mode>_internal): Rewrite RTL to not use UNSPEC_BSL.
(aarch64_simd_bsl<mode>): Likewise.
* config/aarch64/iterators.md (unspec): Remove UNSPEC_BSL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198316 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/57064
jason [Thu, 25 Apr 2013 16:24:49 +0000 (16:24 +0000)]
PR c++/57064
* g++.dg/cpp0x/ref-qual9.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198311 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/56859
jason [Thu, 25 Apr 2013 16:24:42 +0000 (16:24 +0000)]
PR c++/56859
* typeck.c (cxx_alignas_expr): Handle value-dependence properly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198310 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/50261
jason [Thu, 25 Apr 2013 16:24:33 +0000 (16:24 +0000)]
PR c++/50261
* init.c (perform_member_init): Call reshape_init.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198309 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-optimization/57066
mpolacek [Thu, 25 Apr 2013 15:51:57 +0000 (15:51 +0000)]
PR tree-optimization/57066
        * builtins.c (fold_builtin_logb): Return +Inf for -Inf.

        * gcc.dg/torture/builtin-logb-1.c: Adjust testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198308 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Change iterator for neg<mode>2 from VDQM to VDQ.
jgreenhalgh [Thu, 25 Apr 2013 12:49:39 +0000 (12:49 +0000)]
[AArch64] Change iterator for neg<mode>2 from VDQM to VDQ.

gcc/
* config/aarch64/aarch64-simd.md (neg<mode>2): Use VDQ iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198306 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Make vabs<q>_f<32, 64> a tree/gimple intrinsic.
jgreenhalgh [Thu, 25 Apr 2013 12:47:18 +0000 (12:47 +0000)]
[AArch64] Make vabs<q>_f<32, 64> a tree/gimple intrinsic.

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_fold_builtin): New.
* config/aarch64/aarch64-protos.h (aarch64_fold_builtin): New.
* config/aarch64/aarch64.c (TARGET_FOLD_BUILTIN): Define.
* config/aarch64/aarch64-simd-builtins.def (abs): New.
* config/aarch64/arm_neon.h
(vabs<q>_<f32, 64>): Implement using __builtin_aarch64_fabs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198305 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Implement TARGET_GIMPLE_FOLD_BUILTIN for aarch64 backend.
jgreenhalgh [Thu, 25 Apr 2013 12:44:25 +0000 (12:44 +0000)]
[AArch64] Implement TARGET_GIMPLE_FOLD_BUILTIN for aarch64 backend.

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_gimple_fold_builtin): New.
* config/aarch64/aarch64-protos.h (aarch64_gimple_fold_builtin): New.
* config/aarch64/aarch64-simd-builtins.def (addv): New.
* config/aarch64/aarch64-simd.md (addpv4sf): New.
(addvv4sf): Update.
* config/aarch64/aarch64.c (TARGET_GIMPLE_FOLD_BUILTIN): Define.

gcc/testsuite/
* gcc.target/aarch64/vaddv-intrinsic.c: New.
* gcc.target/aarch64/vaddv-intrinsic-compile.c: Likewise.
* gcc.target/aarch64/vaddv-intrinsic.x: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198304 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
naveenh [Thu, 25 Apr 2013 12:21:13 +0000 (12:21 +0000)]
gcc/

2013-04-25  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* config/aarch64/aarch64.md
(*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): New pattern.

gcc/testsuite/

2013-04-25  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* gcc.target/aarch64/cmp.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198303 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
naveenh [Thu, 25 Apr 2013 11:55:05 +0000 (11:55 +0000)]
gcc/

2013-04-25  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* config/aarch64/aarch64.md (*ngc<mode>): New pattern.
(*ngcsi_uxtw): New pattern.

gcc/testsuite/

2013-04-25  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* gcc.target/aarch64/ngc.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198302 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoMinor reformatting.
charlet [Thu, 25 Apr 2013 10:58:18 +0000 (10:58 +0000)]
Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198301 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Exclude s-init.ad{s,b}
charlet [Thu, 25 Apr 2013 10:57:43 +0000 (10:57 +0000)]
* gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Exclude s-init.ad{s,b}

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198300 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate dependencies.
charlet [Thu, 25 Apr 2013 10:56:07 +0000 (10:56 +0000)]
Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198299 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
ktkachov [Thu, 25 Apr 2013 10:54:39 +0000 (10:54 +0000)]
2013-04-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
            Julian Brown  <julian@codesourcery.com>

* config/arm/arm.c (neon_builtin_type_mode): Add T_V4HF.
(TB_DREG): Add T_V4HF.
(v4hf_UP): New macro.
(neon_itype): Add NEON_FLOAT_WIDEN, NEON_FLOAT_NARROW.
(arm_init_neon_builtins): Handle NEON_FLOAT_WIDEN,
NEON_FLOAT_NARROW.
Handle initialisation of V4HF. Adjust initialisation of reinterpret
built-ins.
(arm_expand_neon_builtin): Handle NEON_FLOAT_WIDEN,
NEON_FLOAT_NARROW.
(arm_vector_mode_supported_p): Handle V4HF.
(arm_mangle_map): Handle V4HFmode.
* config/arm/arm.h (VALID_NEON_DREG_MODE): Add V4HF.
* config/arm/arm_neon_builtins.def: Add entries for
vcvtv4hfv4sf, vcvtv4sfv4hf.
* config/arm/neon.md (neon_vcvtv4sfv4hf): New pattern.
(neon_vcvtv4hfv4sf): Likewise.
* config/arm/neon-gen.ml: Handle half-precision floating point
features.
* config/arm/neon-testgen.ml: Handle Requires_FP_bit feature.
* config/arm/arm_neon.h: Regenerate.
* config/arm/neon.ml (type elts): Add F16.
(type vectype): Add T_float16x4, T_floatHF.
(type vecmode): Add V4HF.
(type features): Add Requires_FP_bit feature.
(elt_width): Handle F16.
(elt_class): Likewise.
(elt_of_class_width): Likewise.
(mode_of_elt): Refactor.
(type_for_elt): Handle F16, fix error messages.
(vectype_size): Handle T_float16x4.
(vcvt_sh): New function.
(ops): Add entries for vcvt_f16_f32, vcvt_f32_f16.
(string_of_vectype): Handle T_floatHF, T_float16, T_float16x4.
(string_of_mode): Handle V4HF.
* doc/arm-neon-intrinsics.texi: Regenerate.

2013-04-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* lib/target-supports.exp
(check_effective_target_arm_neon_fp16_ok_nocache): New procedure.
(check_effective_target_arm_neon_fp16_ok): Likewise.
(add_options_for_arm_neon_fp16): Likewise.
* gcc.target/arm/neon/vcvtf16_f32.c: New test. Generated.
* gcc.target/arm/neon/vcvtf32_f16.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198298 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 25 Apr 2013 10:54:33 +0000 (10:54 +0000)]
2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Apply_Predicate_Check): Update the comment associated
with the call to Check_Expression_Against_Static_Predicate.
* sem_ch3.adb (Analyze_Object_Declaration): Update the comment
associated with the call to Check_Expression_Against_Static_Predicate.
* sem_util.adb (Check_Expression_Against_Static_Predicate):
Broaden the check from a static expression to an expression with
a known value at compile time.
* sem_util.ads (Check_Expression_Against_Static_Predicate): Update
comment on usage.

2013-04-25  Thomas Quinot  <quinot@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, cases Position,
First_Bit, and Last_Bit): Fix incorrect test in implementation of
RM 2005 13.5.2(3/2).

2013-04-25  Claire Dross  <dross@adacore.com>

* a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads, a-cfhama.adb,
a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads
(Query_Element): Removed.
(Update_Element): Removed.
(Insert): The version with no New_Item specified is removed.
(Iterate): Removed.
(Write): Removed.
(Read): Removed.
Every check of fields Busy and Lock has been removed.

2013-04-25  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Contract_Cases): Remove
call to S14_Pragma (Find_Related_Subprogram): Require proper
placement in subprogram body (Find_Related_Subprogram): Detect
duplicates for all cases (Find_Related_Subprogram): Handle case
of spec nested inside body.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198297 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Arnaud Charlet <charlet@adacore.com>
charlet [Thu, 25 Apr 2013 10:51:19 +0000 (10:51 +0000)]
2013-04-25  Arnaud Charlet  <charlet@adacore.com>

* par-prag.adb: Fix typo.

2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Apply_Predicate_Check): If the type has a static
predicate and the expression is also static, check whether the
expression satisfies the predicate.
* sem_ch3.adb (Analyze_Object_Declaration): If the type has a
static predicate and the expression is also static, see if the
expression satisfies the predicate.
* sem_util.adb: Alphabetize several routines.
(Check_Expression_Against_Static_Predicate): New routine.
* sem_util.ads (Check_Expression_Against_Static_Predicate): New routine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198296 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Robert Dewar <dewar@adacore.com>
charlet [Thu, 25 Apr 2013 10:49:26 +0000 (10:49 +0000)]
2013-04-25  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Document Reason argument for pragma Warnings.
* par-prag.adb: Handle Reason parameter for pragma Warnings.
* sem_prag.adb (Analyze_Pragma, case Warnings): Allow Reason argument.
* snames.ads-tmpl (Name_Reason): New name entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198295 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Yannick Moy <moy@adacore.com>
charlet [Thu, 25 Apr 2013 10:48:04 +0000 (10:48 +0000)]
2013-04-25  Yannick Moy  <moy@adacore.com>

* exp_spark.adb (Expand_SPARK_N_In): Remove procedure.
(Expand_SPARK): Remove special expansion for membership tests.

2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration): Update all places
that should use constant Base_Typ. When building an invariant
check, account for invariants coming from the base type. Prevent
the creation of a junk invariant check when the related object
is of an array type and it is initialized with an aggregate.
* exp_util.adb (Make_Invariant_Call): Typ is now a variable. Use
the base type to create an invariant call when the type of the
expression is a composite subtype.

2013-04-25  Vasiliy Fofanov  <fofanov@adacore.com>

* a-cborse.adb: Fix minor typo.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Different_Generic_Profile): A spec and body
match in an instance if a subtype declaration that renames a
generic actual with the same name appears between spec and body.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198294 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Robert Dewar <dewar@adacore.com>
charlet [Thu, 25 Apr 2013 10:46:18 +0000 (10:46 +0000)]
2013-04-25  Robert Dewar  <dewar@adacore.com>

* sem_util.adb: Minor reformatting.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Expand_N_Aggregate): Use special circuitry to
fold strings with a single others choice only if there are no
expressions in the aggregate.

2013-04-25  Arnaud Charlet  <charlet@adacore.com>

* gnat_ugn.texi: Update doc on Ada 2012 default mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198293 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 25 Apr 2013 10:42:01 +0000 (10:42 +0000)]
2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch6.adb: Add with and use clause for Stringt.
(Expand_Contract_Cases): Moved from sem_ch6. Add formal parameters
Decls and Stmts along with comments on their usage.
* exp_ch6.ads (Expand_Contract_Cases): Moved from sem_ch6.
* sem_ch6.adb (Expand_Contract_Cases): Moved to exp_ch6.
(Process_Contract_Cases): Update the call to Expand_Contract_Cases.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* gnat_rm.texi: Minor editing, to clarify use of dimension aspects.
* sem_util.adb (Is_OK_Variable_For_Out_Formal): Reject an
aggregate for a packed type, which may be converted into an
unchecked conversion of an object.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198292 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Robert Dewar <dewar@adacore.com>
charlet [Thu, 25 Apr 2013 10:39:36 +0000 (10:39 +0000)]
2013-04-25  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Minor code reorganization (correct misspelling
Restiction).
* sem_util.adb, aspects.ads, sem_ch6.adb: Minor reformatting.
* gnat_rm.texi: Document impl-defined aspects.
* sem_dim.adb, sem_dim.ads, gnat_ugn.texi, s-dimmks.ads: Minor
reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198291 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 25 Apr 2013 10:35:29 +0000 (10:35 +0000)]
2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Set_Abstract_States): The attribute now applies
to generic packages.
* sem_ch4.adb (Referenced): Moved to sem_util.
* sem_ch7.adb (Unit_Requires_Body): A [generic] package with
a non-null abstract state needs a body.
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Update the calls
to Collect_Subprogram_Inputs_Outputs.
(Analyze_Global_Item): Verify the proper usage of an item with mode
In_Out or Output relative to the enclosing context.
(Analyze_Pragma): Abstract_State can now be applied to a generic
package. Do not reset the Analyzed flag for pragmas Depends and Global
as this is not needed.
(Appears_In): Moved to library level.
(Check_Mode_Restiction_In_Enclosing_Context): New routine.
(Collect_Subprogram_Inputs_Outputs): Moved to library level. Add
formal parameters Subp_Id, Subp_Inputs, Subp_Outputs and Global
seen along with comments on usage.
* sem_util.ads, sem_util.adb (Referenced): New routine.

2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Expand_Contract_Cases): Generate
detailed error messages only when switch -gnateE is in effect.

2013-04-25  Yannick Moy  <moy@adacore.com>

* sem_attr.adb (Analyze_Attribute): Do not issue
an error for a possibly misplaced 'Result or 'Old attribute when
analyzing the aspect.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198290 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Robert Dewar <dewar@adacore.com>
charlet [Thu, 25 Apr 2013 10:33:23 +0000 (10:33 +0000)]
2013-04-25  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb, sem_util.adb, sem_ch4.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198289 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 25 Apr 2013 10:31:36 +0000 (10:31 +0000)]
2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch4.adb (Analyze_Quantified_Expression):
Add local variable Loop_Id. Verify that the loop variable
is used within the condition of the quantified expression.
(Referenced): New routine.

2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_case.adb (Analyze_Choices): Enhance the error message
given on a bad use of subtype predicate.
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Enhance
the error message given on a bad use of subtype predicate.
* sem_util.adb (Bad_Predicated_Subtype_Use): Add formal parameter
Suggest_Static. Emit an extra error message advising how to
remedy the bad use of the predicate if the context warrants it.
* sem_util.ads (Bad_Predicated_Subtype_Use): Add formal parameter
Suggest_Static along with a comment explaining its usage.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* sem_disp.adb (Check_Dispatching_Operation): Further refinement
to checks for AI05-0125: the check for a hidden primitive that
may be overridden by the new declaration only applies if the
hidden operation is never declared. This is not the case if the
operation is declared in a parent unit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198288 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Robert Dewar <dewar@adacore.com>
charlet [Thu, 25 Apr 2013 10:28:45 +0000 (10:28 +0000)]
2013-04-25  Robert Dewar  <dewar@adacore.com>

* debug.adb: Remove d.X and d.Y entries and documentation.
* exp_ch4.adb (Expand_N_If_Expression): Remove special code used
if expression with actions not available (now always available).
(Expand_Short_Circuit_Operator): Same change.
* gnat1drv.adb (Adjust_Global_Switches) Remove setting
Use_Expression_With_Actions flag, since this is now obsolete.
* opt.ads (Use_Expression_Actions): Removed (always True now).
* sinfo.ads: Minor comment updates.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Check_Generic_Actuals): If an actual is an array
subtype whose base type is currently private, install full view
when compiling instance body.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* sem_disp.adb (Check_Dispatching_Operation): Refine checks for
AI05-0125: the check for a hidden primitive that may be overridden
by the new declaration is only performed if the declaration comes
from source, and it must carry an explicit overriding indicator.

2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Abstract_States): The attribute now applies to
generic packages.
* sem_ch3.adb (Analyze_Object_Declaration): Check whether an
object declaration introduces an illegal hidden state.
* sem_prag.adb (Analyze_Abstract_State): Check whether a state
declaration introduces an illegal hidden state.
* sem_util.ads, sem_util.adb (Check_No_Hidden_State): New routine.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Is_Build_In_Place_Function_Call): The call may
be to a protected function, in which case the name in the call
is a selected component.

2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch4.adb (Analyze_Quantified_Expression):
Warn on a suspicious use of quantifier "some" when "all" was meant.
(No_Else_Or_Trivial_True): New routine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198287 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Robert Dewar <dewar@adacore.com>
charlet [Thu, 25 Apr 2013 10:25:54 +0000 (10:25 +0000)]
2013-04-25  Robert Dewar  <dewar@adacore.com>

* einfo.ads, einfo.adb: Put back with/use for Namet.
(Get_Pragma): New name (wi new spec) for Find_Pragma.
* sem_ch6.adb: Change name Find_Pragma to Get_Pragma with
different interface.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Is_Visible_Component): In an instance all
components are visible.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198286 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Matthew Heaney <heaney@adacore.com>
charlet [Thu, 25 Apr 2013 10:24:16 +0000 (10:24 +0000)]
2013-04-25  Matthew Heaney  <heaney@adacore.com>

* a-rbtgbo.adb, a-crbtgo.adb (Generic_Equal): do not test for
tampering when container empty.
* a-crbtgk.adb (Ceiling, Find, Floor): ditto.
(Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
ditto.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* par-ch12.adb: Move aspects from package specification to
generic package declaration.
* sem_ch12.adb: Analyze aspect specifications before building
and analyzing the generic copy, so that the generated pragmas
are properly taken into account.
* sem_ch13.adb: For compilation unit aspects that apply to a
generic package declaration, insert corresponding pragmas ahead
of visible declarations.
* sprint.adb: Display properly the aspects of a generic type
declaration.

2013-04-25  Robert Dewar  <dewar@adacore.com>

* frontend.adb: Minor reformatting.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* einfo.ads: Extend documentation on use of Is_Private_Ancestor
for untagged types.
* sem_ch3.adb (Is_Visible_Component): Refine predicate for the
case of untagged types derived from private types, to reject
illegal selected components.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198285 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Gary Dismukes <dismukes@adacore.com>
charlet [Thu, 25 Apr 2013 10:19:59 +0000 (10:19 +0000)]
2013-04-25  Gary Dismukes  <dismukes@adacore.com>

* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test
for case of selecting from an unexpanded implicit dereference
and do not make a recursive call on such a prefix.

2013-04-25  Doug Rupp  <rupp@adacore.com>

* targparm.adb (VXF{_Str}): New tag for vaxfloat.
(Get_Target_Parameters): Handle VXF tag.
* targparm.ads (VAX_Float_On_Target): New boolean.
* system-vms-ia64.ads (VAX_Float): New boolean.
* frontend.adb (Frontend): Handle VAX float boolean.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198284 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 25 Apr 2013 10:13:14 +0000 (10:13 +0000)]
2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.ads, einfo.adb: Remove with and use clauses for Namet.
(Find_Pragma): New routine.
* sem_util.ads, sem_util.adb (Find_Pragma): Moved to einfo.

2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Add_Call): Do not capture the nature of the inherited
predicate.
(Add_Predicates): Save the static predicate for diagnostics and error
reporting purposes.
(Process_PPCs): Remove local variables Dynamic_Predicate_Present and
Static_Predicate_Present. Add local variable Static_Pred. Ensure that
the expression of a static predicate is static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198283 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 25 Apr 2013 10:10:58 +0000 (10:10 +0000)]
2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Is_Ghost_Subprogram): Remove useless code.

2013-04-25  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Minor addition of index entry.

2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Check_Access_Invariants): Test whether an
invariant procedure is empty before generating a call to it.
(Has_Enabled_Predicate): New routine.
(Has_Null_Body): New routine.
(Process_PPCs): Test whether an invariant procedure is
empty before generating a call to it. Test whether predicates are
enabled for a particular type before generating a predicate call.
* sem_util.ads, sem_util.adb (Find_Pragma): New routine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198282 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Robert Dewar <dewar@adacore.com>
charlet [Thu, 25 Apr 2013 10:09:35 +0000 (10:09 +0000)]
2013-04-25  Robert Dewar  <dewar@adacore.com>

* sem_ch7.adb, einfo.adb, repinfo.adb, snames.adb-tmpl,
snames.ads-tmpl: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198281 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 25 Apr 2013 10:08:30 +0000 (10:08 +0000)]
2013-04-25  Thomas Quinot  <quinot@adacore.com>

* sem_ch7.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198280 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 25 Apr 2013 09:42:46 +0000 (09:42 +0000)]
2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/57065
* include/debug/unordered_map (unordered_map, unordered_multimap):
Fix default allocator type.
* include/profile/unordered_map (unordered_map, unordered_multimap):
Likewise.
* include/bits/unordered_map.h: Fix comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198279 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Fix printf format warning in aarch64_print_operand
jgreenhalgh [Thu, 25 Apr 2013 09:14:27 +0000 (09:14 +0000)]
[AArch64] Fix printf format warning in aarch64_print_operand

gcc/
* config/aarch64/aarch64.c (aarch64_print_operand): Fix asm_fprintf
format specifier in 'X' case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198278 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-25 Robert Dewar <dewar@adacore.com>
charlet [Thu, 25 Apr 2013 08:35:16 +0000 (08:35 +0000)]
2013-04-25  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Minor fix to Loop_Variant doc (Loop_Entry allowed).
* s-tarest.adb: Minor reformatting.

2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.ads, aspects.adb: Remove aspect Ghost from all relevant
tables.
* einfo.adb: Remove with and use clause for Aspects.
(Is_Ghost_Function): Removed.
(Is_Ghost_Entity): New routine.
(Is_Ghost_Subprogram): New routine.
* einfo.ads: Remove synthesized attribute Is_Ghost_Function
along with its uses in entities.  Add synthesized attributes
Is_Ghost_Entity and Is_Ghost_Subprogram along with uses in related
entities.
(Is_Ghost_Function): Removed.
(Is_Ghost_Entity): New routine.
(Is_Ghost_Subprogram): New routine.
* par-prag.adb: Remove pragma Ghost from the processing machinery.
* repinfo.adb (List_Mechanisms): Add a value for convention Ghost.
* sem_attr.adb (Analyze_Access_Attribute): Update the check
for ghost subprograms.
* sem_ch4.adb (Analyze_Call): Update the check for calls
to ghost subprograms.
(Check_Ghost_Function_Call): Removed.
(Check_Ghost_Subprogram_Call): New routine.
* sem_ch6.adb (Check_Convention): Rewritten.
(Check_Overriding_Indicator): Remove the check for overriding
ghost functions.
(Convention_Of): New routine.
* sem_ch12.adb (Preanalyze_Actuals): Update the check for ghost
generic actual subprograms.
* sem_mech.adb (Set_Mechanisms): Add an entry for convention Ghost.
* sem_prag.adb: Remove the value for pragma Ghost from
table Sig_Flags.
(Analyze_Pragma): Remove the processing for pragma Ghost.
(Process_Convention): Emit an error when a ghost
subprogram attempts to override.
(Set_Convention_From_Pragma): Emit an error when a ghost subprogram
attempts to override.
* sinfo.ads: Clarify the usage of field Label_Construct.
* snames.adb-tmpl (Get_Convention_Id): Add an entry for
predefined name Ghost.
(Get_Convention_Name): Add an entry for convention Ghost.
* snames.ads-tmpl: Move predefined name Ghost to the sublist
denoting conventions. Add convention id Ghost. Remove pragma
id Ghost.

2013-04-25  Ed Schonberg  <schonberg@adacore.com>

* sem_ch7.adb (Swap_Private_Dependents): Do no recurse on child
units if within a generic hierarchy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198275 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/57052
amodra [Thu, 25 Apr 2013 01:00:13 +0000 (01:00 +0000)]
PR target/57052
* config/rs6000/rs6000.md (rotlsi3_internal7): Rename to
rotlsi3_internal7le and condition on !BYTES_BIG_ENDIAN.
(rotlsi3_internal8be): New BYTES_BIG_ENDIAN insn.
Repeat for many other rotate/shift and mask patterns using subregs.
Name lshiftrt insns.
(ashrdisi3_noppc64): Rename to ashrdisi3_noppc64be and condition
on WORDS_BIG_ENDIAN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198274 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agolibgcc/
amodra [Thu, 25 Apr 2013 00:57:16 +0000 (00:57 +0000)]
libgcc/
* config.host: Match little-endian powerpc-linux.
gcc/
* config.gcc: Support little-endian powerpc-linux targets.
* config/rs6000/linux.h (LINK_OS_LINUX_EMUL): Define.
(LINK_OS_LINUX_SPEC): Define.
* config/rs6000/linuxspe.h (TARGET_DEFAULT):
Preserve MASK_LITTLE_ENDIAN.
* config/rs6000/default64.h (TARGET_DEFAULT): Likewise.
* config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Likewise.
* config/rs6000/linux64.h (OPTION_LITTLE_ENDIAN): Don't zero.
(LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Define.
(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Use above.
* config/rs6000/rs6000.c (output_toc): Don't use .tc for TARGET_ELF.
Correct fp word order for little-endian.  Don't shift toc entries
smaller than a word for little-endian.
* config/rs6000/rs6000.md (bswaphi2, bswapsi2 split): Comment.
(bswapdi2 splits): Correct low-part subreg for little-endian.
Remove wrong BYTES_BIG_ENDIAN tests, and rename vars to remove
low/high where such is correct only for be.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Allow
little-endian for -mcall-aixdesc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198273 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
amodra [Thu, 25 Apr 2013 00:50:57 +0000 (00:50 +0000)]
* config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
replace_equiv_address_nv.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198272 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Tidy.
amodra [Thu, 25 Apr 2013 00:49:08 +0000 (00:49 +0000)]
* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Tidy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198271 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Thu, 25 Apr 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198270 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix date of ChangeLog entry.
redi [Wed, 24 Apr 2013 22:44:01 +0000 (22:44 +0000)]
Fix date of ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198267 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 24 Apr 2013 22:33:06 +0000 (22:33 +0000)]
2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>

Revert:
2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
* rtl.h (struct rtx_def): ...

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198266 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR libstdc++/56905
redi [Wed, 24 Apr 2013 22:00:16 +0000 (22:00 +0000)]
PR libstdc++/56905
* libsupc++/exception_ptr.h (copy_exception): Deprecate and
move implementation to make_exception_ptr.
* include/std/future (_State_base::_M_break_promise): Replace
copy_exception with make_exception_ptr.
* testsuite/18_support/exception_ptr/move.cc: Likewise.
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
* testsuite/30_threads/future/members/get2.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
* testsuite/30_threads/shared_future/members/get2.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198265 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 24 Apr 2013 20:27:33 +0000 (20:27 +0000)]
2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimizations/57046
* lra-constraints (split_reg): Set up lra_risky_transformations_p
for multi-reg splits.

2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimizations/57046
* gcc.target/i386/pr57046.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198263 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoHandle -mx32 in x86-64 ASM_SPEC
hjl [Wed, 24 Apr 2013 20:07:50 +0000 (20:07 +0000)]
Handle -mx32 in x86-64 ASM_SPEC

* config/i386/x86-64.h (ASM_SPEC): Support -mx32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198262 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/libcpp
paolo [Wed, 24 Apr 2013 19:33:54 +0000 (19:33 +0000)]
/libcpp
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* include/cpplib.h (enum c_lang): Add CLK_GNUCXX1Y and CLK_CXX1Y.
* init.c (lang_defaults): Add defaults for the latter.
(cpp_init_builtins): Define __cplusplus as 201300L for the latter.
* lex.c (_cpp_lex_direct): Update.

/gcc/c-family
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.

/gcc/testsuite
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1y/cplusplus.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198261 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * invoke.texi: Update expected date for C++1y.
jason [Wed, 24 Apr 2013 18:23:51 +0000 (18:23 +0000)]
* invoke.texi: Update expected date for C++1y.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198260 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Sterling Augustine <saugustine@google.com>
sterling [Wed, 24 Apr 2013 17:19:47 +0000 (17:19 +0000)]
2013-04-24  Sterling Augustine  <saugustine@google.com>

* dwarf2out.c (skeleton_debug_str_hash, add_skeleton_AT_string)
(comp_dir_string, debug_str_dwo_section): New.
(DEBUG_STR_DWO_SECTION): Rename to ...
(DEBUG_DWO_STR_SECTION): ... this.
(DEBUG_NORM_STR_SECTION): Delete.
(DEBUG_STR_SECTION, DEBUG_STR_SECTION_FLAGS): Edit definitions.
(DEBUG_STR_DWO_SECTION_FLAGS): New.
(find_AT_string): Move most logic to ...
(find_AT_string_in_table): ... here.  New.
(add_top_level_skeleton_die_attrs): Call comp_dir_string and
add_skeleton_AT_string.  Delete logic.
(output_skeleton_debug_sections): Remove call to
add_top_level_skeleton_die_attrs.
(add_comp_dir_attribute): Move logic to comp_dir_string.
(dwarf2out_init): Initialize debug_str_dwo_section.
(output_indirect_string): Call find_string_form.
(output_indirect_strings): Rewrite.
(prune_unused_types): Empty skeleton_debug_str_hash.
Call get_skeleton_type_unit and add_top_level_skeleton_die_attrs.
(dwarf2out_finish):  Call output_indirect_strings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198259 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 24 Apr 2013 17:09:22 +0000 (17:09 +0000)]
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* doc/cpp.texi: Remove __GXX_EXPERIMENTAL_CXX1Y__.

/c-family
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* c-cppbuiltin.c (c_cpp_builtins): Do not define
__GXX_EXPERIMENTAL_CXX1Y__.

/testsuite
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1y/cxx1y_macro.C: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198258 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/53721
jason [Wed, 24 Apr 2013 16:46:53 +0000 (16:46 +0000)]
PR c++/53721
* parser.c (cp_parser_postfix_dot_deref_expression): Fix thinko.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198257 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/c-family
paolo [Wed, 24 Apr 2013 16:35:17 +0000 (16:35 +0000)]
/c-family
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
            Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

* c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
* c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
to simply use OPT_Wpointer_arith.
(c_sizeof_or_alignof_type): Likewise.

/cp
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (cxx_sizeof_or_alignof_type): Change -Wpointer-arith
pedwarn to simply use OPT_Wpointer_arith.
(cp_build_unary_op): Likewise.

/c
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
to simply use OPT_Wpointer_arith.
(build_unary_op): Likewise.

/testsuite
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* c-c++-common/Wpointer-arith-1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198256 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 24 Apr 2013 15:45:42 +0000 (15:45 +0000)]
2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>

        * rtl.h (struct rtx_def): Add comment for field jump.
(LRA_SUBREG_P): New macro.
* recog.c (register_operand): Check LRA_SUBREG_P.
* lra.c (lra): Add note at the end of RTL code. Align non-empty
stack frame.
* lra-spills.c (lra_spill): Align stack after spilling pseudos.
(lra_final_code_change): Skip subreg change for operators.
* lra-eliminations.c (eliminate_regs_in_insn): Make return earlier
if there are no operand changes.
* lra-constraints.c (curr_insn_set): New.
(match_reload): Set LRA_SUBREG_P.
(emit_spill_move): Ditto.
(check_and_process_move): Use curr_insn_set. Process only single
set insns.  Don't initialize sec_mem_p and change_p.
(simplify_operand_subreg): Use LRA_SUBREG_P.
(reg_in_class_p): New function.
(process_alt_operands): Use it.  Use #if HAVE_ATTR_enabled instead
of #ifdef.  Add code to remove cycling.
(process_address): Check EXTRA_CONSTRAINT_STR. Process even if
non-null disp.  Reload inner instead of disp when base and index
are null.  Try to put lo_sum into register.
(EBB_PROBABILITY_CUTOFF): Redefine probability in percents.
        (check_and_process_move): Move code for move cost check to
simple_move_p.  Remove equiv_substitution.
        (simple_move_p): New function.
(curr_insn_transform): Initialize sec_mem_p and change_p.  Set up
curr_insn_set.  Call check_and_process_move only for single set
insns.  Use the new function.  Move call of check_and_process_move
after operand equiv substitution and address process.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198252 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Fix vld1<q>_* asm constraints in arm_neon.h
jgreenhalgh [Wed, 24 Apr 2013 15:18:38 +0000 (15:18 +0000)]
[AArch64] Fix vld1<q>_* asm constraints in arm_neon.h

gcc/
* config/aarch64/arm_neon.h (vld1<q>_lane*): Fix constraints.
(vld1<q>_dup_<sufp><8, 16, 32, 64>): Likewise.
(vld1<q>_<sufp><8, 16, 32, 64>): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198250 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 24 Apr 2013 15:12:50 +0000 (15:12 +0000)]
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* doc/cpp.texi: Document __GXX_EXPERIMENTAL_CXX1Y__.

/c-family
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.

/testsuite
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1y/cxx1y_macro.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198249 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * libsupc++/initializer_list: Fix typos.
jason [Wed, 24 Apr 2013 15:04:33 +0000 (15:04 +0000)]
* libsupc++/initializer_list: Fix typos.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198248 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago N3648: init-captures are named.
jason [Wed, 24 Apr 2013 15:03:58 +0000 (15:03 +0000)]
N3648: init-captures are named.
* semantics.c (add_capture): Don't prepend "__" to init-captures.
(build_capture_proxy): Adjust.
* error.c (dump_simple_decl): Check DECL_NORMAL_CAPTURE_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198247 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago N3648: Allow braced and parenthesized initializers.
jason [Wed, 24 Apr 2013 15:03:51 +0000 (15:03 +0000)]
N3648: Allow braced and parenthesized initializers.
* parser.c (cp_parser_lambda_introducer): Use cp_parser_initializer.
* pt.c (tsubst) [DECLTYPE_TYPE]: Handle DECLTYPE_FOR_INIT_CAPTURE.
* semantics.c (lambda_capture_field_type): Use do_auto_deduction.
(add_capture): Collapse a parenthesized initializer into a single
expression.
* cp-tree.h (DECLTYPE_FOR_INIT_CAPTURE): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198246 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate dependencies.
charlet [Wed, 24 Apr 2013 14:58:18 +0000 (14:58 +0000)]
Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198245 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 24 Apr 2013 14:56:49 +0000 (14:56 +0000)]
2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch6.adb (Expand_Actuals): Add a predicate check on an
actual the related type has a predicate function.
* sem_ch3.adb (Constant_Redeclaration): Ensure that the related
type has an invariant procedure before building a call to it.
* sem_ch6.adb (Append_Enabled_Item): New routine.
(Check_Access_Invariants): Use routine
Append_Enabled_Item to chain onto the list of postconditions.
(Contains_Enabled_Pragmas): Removed.
(Expand_Contract_Cases): Use routine Append_Enabled_Item to chain onto
the list of postconditions.
(Invariants_Or_Predicates_Present): Removed.
(Process_PPCs): Partially reimplemented.

2013-04-24  Sergey Rybin  <rybin@adacore.com frybin>

* tree_io.ads: Update ASIS_Version_Number because of changes
in the way how entities are chained in a scope by means of
Next_Entity link.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
Storage_Size): If the clause is not from an aspect, insert
assignment to size variable of task type at the point of the
clause, not after the task definition, to prevent access before
elaboration in the back-end.

2013-04-24  Yannick Moy  <moy@adacore.com>

* sem_prag.adb (Sig_Flags): Set correct value for Pragma_Assume.

2013-04-24  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Document 'Loop_Entry.

2013-04-24  Jose Ruiz  <ruiz@adacore.com>

* s-tassta.adb, s-tarest.adb (Task_Wrapper): Start looking for
fall-back termination handlers from the parents, because they apply
only to dependent tasks.
* s-solita.adb (Task_Termination_Handler_T): Do not look for fall-back
termination handlers because the environment task has no parent,
and if it defines one of these handlers it does not apply to
itself because they apply only to dependent tasks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198244 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Robert Dewar <dewar@adacore.com>
charlet [Wed, 24 Apr 2013 14:49:08 +0000 (14:49 +0000)]
2013-04-24  Robert Dewar  <dewar@adacore.com>

* sem_type.adb, exp_attr.adb, exp_ch4.adb: Minor reformatting.

2013-04-24  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Document 'Update attribute.
* sem_attr.adb (Analyze_Attribute, case Update): Remove call
to S14_Attribute (S14_Attribute): removed.

2013-04-24  Robert Dewar  <dewar@adacore.com>

* interfac.ads: Add size clauses for IEEE_Float_32/64

2013-04-24  Claire Dross  <dross@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Remove
special assignment of Use_Expression_With_Actions for SPARK_Mode.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Apply_Predicate_Check): Check for the presence
of the dynamic predicate aspect when trying to determine if the
predicate of a type is non-static.
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check
for the presence of the dynamic predicate aspect when trying to
determine if the predicate of a type is non- static.
* sem_ch13.adb (Add_Call): Capture the nature of the
inherited ancestor predicate.
(Build_Predicate_Functions): Update comments. Rewrite the checks on
static predicate application. Complain about the form of a non-static
expression only when the type is static.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb: Add guard to tree traversal.

2013-04-24  Vincent Celier  <celier@adacore.com>

* clean.adb (Clean): Remove local variable Root_Environment,
use Makeutl.Root_Environment instead.
* gnatcmd.adb: Remove local variable Root_Environment, use
Makeutl.Root_Environment instead.
* make.adb (Gnatmake): Remove local variable Root_Environment,
use Makeutl.Root_Environment instead.
* prj-makr.adb: Remove local variable Root_Environment, use
Makeutl.Root_Environment instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198243 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 24 Apr 2013 14:44:32 +0000 (14:44 +0000)]
2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb (Expand_Loop_Entry_Attribute): Clarify the
extraction of the declarative part of the conditional block. Move
the processing of simple infinite loops to the start of the
expansion logic. Correct the check which determines whether the
proper scope is installed in visibility.
* sem_attr.adb (Analyze_Attribute): Add local variable Attr
to keep track of the attribute in case the enclosing indexed
component has to be rewritten. When searching for the enclosing
loop, start from the proper attribute reference in case of a
rewriting. Do not allow for 'Loop_Entry to appear in pragma
Assert. Replace loop variable J with Index. Set the type of the
proper attribute.
* sem_ch5.adb (Check_Unreachable_Code): Detect a specialized
block that services a loop statement subject to at least one
'Loop_Entry attribute.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

* sem_type.adb (Disambiguate): In Ada 2012 mode, when trying to
resolve a fixed point operation, use first subtype to determine
whether type and operator are declared in the same list of
declarations.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* par-ch6.adb (P_Subprogram): Detect an illegal
placement of the aspect specification list in the context of
expression functions.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_N_Allocator):  If the designated object
has tasks, and the pointer type is an itype that has no master
id, create a master renaming in the current context, which can
only be an init_proc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198242 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Robert Dewar <dewar@adacore.com>
charlet [Wed, 24 Apr 2013 14:41:04 +0000 (14:41 +0000)]
2013-04-24  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_ch7.adb: Minor reformatting.
* gnat_rm.texi: Document pragma Loop_Invariant.
* sem_attr.adb (Analyze_Attribute, case Loop_Entry): This is
no longer an S14_Attribute.
* sem_prag.adb (Analyze_Pragma, case Loop_Invariant): Combine
processing with Assert, allow message parameter, remove call
to S14_Pragma.

2013-04-24  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198241 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 24 Apr 2013 14:38:50 +0000 (14:38 +0000)]
2013-04-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch7.adb (Swap_Private_Dependents): New internal routine
to Install_Private_Declarations, to make the installation of
private dependents recursive in the presence of child units.
* sem_ch3.adb (Build_Discriminated_Subtype): Initialize properly
the Private_Dependents of a private subtype.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb (Expand_Loop_Entry_Attribute): Update the
retrieval of the block declarations.
* par-ch4.adb (P_Name): Let the name parsing machinery create
a sequence of nested indexed components for attribute Loop_Entry.
* sem_attr.adb (Analyze_Attribute): Add local constant
Context. Reimplement part of the analysis of attribute Loop_Entry.
(Convert_To_Indexed_Component): Removed.
* sem_ch4.adb (Analyze_Indexed_Component_Form): Do not analyze
an indexed component after it has been rewritten into attribute
Loop_Entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198240 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Yannick Moy <moy@adacore.com>
charlet [Wed, 24 Apr 2013 14:37:37 +0000 (14:37 +0000)]
2013-04-24  Yannick Moy  <moy@adacore.com>

* snames.ads-tmpl: Minor change to list
Loop_(In)variant not in configuration pragma.
* sem_ch3.adb (Analyze_Declarations): Do not look at the original node
for analyzing the expressions in pre/postconditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198239 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Robert Dewar <dewar@adacore.com>
charlet [Wed, 24 Apr 2013 14:35:42 +0000 (14:35 +0000)]
2013-04-24  Robert Dewar  <dewar@adacore.com>

* gnatcmd.adb, xref_lib.adb, gnatls.adb, sem_ch13.adb: Minor
reformatting.

2013-04-24  Yannick Moy  <moy@adacore.com>

* sem_ch6.adb (Analyze_Generic_Subprogram_Body,
Analyze_Subprogram_Body_Helper): Reset contract node to Empty
before setting entity to E_Subprogram_Body.
* sem_ch8.adb (Analyze_Subprogram_Renaming): Reset contract node to
Empty before setting entity to E_Subprogram_Body.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198238 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Vincent Celier <celier@adacore.com>
charlet [Wed, 24 Apr 2013 14:33:20 +0000 (14:33 +0000)]
2013-04-24  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Document new gnatls switch -aPdir.
* gnatcmd.adb: Pass switch -aP<dir> to gnatls.
* gnatls.adb (Scan_Ls_Arg): Process new switch -aP<dir>. Issue
a warning for unknown switches.
(Usage): Add line for new switch -aPdir.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb, sem_util.ads (Is_Limited_Class_Wide_Type): Return true
if the type comes from a limited view, so that task attributes can be
constructed.

2013-04-24  Yannick Moy  <moy@adacore.com>

* checks.adb (Apply_Float_Conversion_Check): Do not apply checks if
full expansion is not enabled.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Create_Extra_Formals): In Ada 2012, create extra
formals if the type does not yet have a completion, and thus
has no underlying view.

2013-04-24  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): Treat an aspect
specification for Address as a reference, to suppress warnings
on entities that may be read by an external device.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198237 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Sergey Rybin <rybin@adacore.com frybin>
charlet [Wed, 24 Apr 2013 14:22:24 +0000 (14:22 +0000)]
2013-04-24  Sergey Rybin  <rybin@adacore.com frybin>

* gnat_ugn.texi: Add description of '--help' and '--version'
options for ASIS tools: gnatelim, gnatmetric, gnatstub, gnatpp.

2013-04-24  Arnaud Charlet  <charlet@adacore.com>

* gnat_rm.texi: Minor syntax fix.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb (Expand_Loop_Entry_Attribute): Add extra comments on
what and why is being analyzed. Remove the decoration of renamings as
this simply falls out of the general analysis mechanism.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_res.adb (Explain_Redundancy): New routine.
(Resolve_Equality_Op): Place the error concerning a redundant
comparison to True at the "=". Try to explain the nature of the
redundant True.

2013-04-24  Javier Miranda  <miranda@adacore.com>

* checks.adb, exp_ch6.adb (Install_Null_Excluding_Check): No
check in interface thunks since it is performed at the caller
side.
(Expand_Simple_Function_Return): No accessibility check
needed in thunks since the check is done by the target routine.

2013-04-24  Vincent Celier  <celier@adacore.com>

* xref_lib.adb (Add_Entity): Use the canonical file names
so that source file names with capital letters are found on
platforms where file names are case insensitive.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* par-ch4.adb (P_Name): Continue to parse the name extension when the
construct is attribute Loop_Entry. Do not convert the attribute
reference into an indexed component when there is at least one
expression / range following 'Loop_Entry.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Contains_Enabled_Pragmas): New routine.
(Process_PPCs): Generate procedure _Postconditions
only when the context has invariants or predicates or enabled
aspects/pragmas.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198236 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 24 Apr 2013 14:18:30 +0000 (14:18 +0000)]
2013-04-24  Thomas Quinot  <quinot@adacore.com>

* g-socket.adb (Host_Entry): Introduce intermediate copy of
memory location pointed to by Hostent_H_Addr, as it might not
have sufficient alignment.

2013-04-24  Yannick Moy  <moy@adacore.com>

* repinfo.adb (List_Rep_Info): Set the value of Unit_Casing before
calling subprograms which may read it.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb: Remove Loop_Entry_Attributes from the usage of
nodes. Flag 260 is now used.
(Has_Loop_Entry_Attributes): New routine.
(Loop_Entry_Attributes): Removed.
(Set_Has_Loop_Entry_Attributes): New routine.
(Set_Loop_Entry_Attributes): Removed.
(Write_Entity_Flags): Write out Flag 260.
(Write_Field10_Name): Remove the output for Loop_Entry_Attributes.
* einfo.ads: Remove attribute Loop_Entry_Attributes,
its related comment and uses in nodes. Add new attribute
Has_Loop_Entry_Attributes, related comment and uses in loop nodes.
(Has_Loop_Entry_Attributes): New routine and pragma Inline.
(Loop_Entry_Attributes): Removed along with pragma Inline.
(Set_Has_Loop_Entry_Attributes): New routine and pragma Inline.
(Set_Loop_Entry_Attributes): Removed along with pragma Inline.
* exp_attr.adb (Expand_Loop_Entry_Attribute): New routine.
(Expand_N_Attribute_Reference): Expand attribute 'Loop_Entry.
* exp_ch5.adb: Remove with and use clause for Elists.
(Expand_Loop_Entry_Attributes): Removed.
(Expand_N_Loop_Statement): Add local variable Stmt. Rename local
constant Isc to Scheme. When a loop is subject to attribute
'Loop_Entry, retrieve the nested loop from the conditional
block. Move the processing of controlled object at the end of
loop expansion.
* sem_attr.adb (Analyze_Attribute): Do not chain attribute
'Loop_Entry to its related loop.
* sem_ch5.adb (Analyze_Loop_Statement): Add local variable
Stmt. When the iteration scheme mentions attribute 'Loop_Entry,
the entire loop is rewritten into a block.  Retrieve the nested
loop in such cases to complete the analysis.
* sem_util.ads, sem_util.adb (Find_Loop_In_Conditional_Block): New
routine.
(Subject_To_Loop_Entry_Attributes): New routine.

2013-04-24  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb (Expand_Loop_Variant): Generate pragma Check
(Loop_Variant, xxx) rather than Assert (xxx).
* gnat_rm.texi: Document pragma Loop_Variant.
* sem_prag.adb (Analyze_Pragma, case Loop_Variant): Remove call
to S14_Pragma.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198235 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Yannick Moy <moy@adacore.com>
charlet [Wed, 24 Apr 2013 14:14:27 +0000 (14:14 +0000)]
2013-04-24  Yannick Moy  <moy@adacore.com>

* adabkend.adb, ali-util.adb, ali.adb, debug.adb,
errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
sem_res.adb, sem_util.adb: Everything with name
'Alfa' renamed in 'SPARK'. Update comments.
Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
* exp_alfa.adb: renamed exp_spark.adb.
* exp_alfa.ads: renamed exp_spark.ads.
* get_alfa.adb: renamed get_spark_xrefs.adb.
* get_alfa.ads: renamed get_spark_xrefs.ads.
* lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
* put_alfa.adb: renamed put_spark_xrefs.adb.
* put_alfa.ads: renamed put_spark_xrefs.ads.
* alfa.adb: renamed spark_xrefs.adb.
* alfa.ads: renamed spark_xrefs.ads.
* alfa_test.adb: renamed spark_xrefs_test.adb.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198234 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoPrune SCEV
mpolacek [Wed, 24 Apr 2013 14:04:44 +0000 (14:04 +0000)]
Prune SCEV

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198233 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Wed, 24 Apr 2013 13:58:11 +0000 (13:58 +0000)]
/cp
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56970
* init.c (build_offset_ref): Add tsubst_flags_t parameter.
* semantics.c (finish_qualified_id_expr): Likewise.
(finish_id_expression): Update.
* typeck.c (cp_build_addr_expr_1): Likewise.
* pt.c (tsubst_qualified_id, resolve_nondeduced_context): Likewise.
* cp-tree.h: Update declarations.

/testsuite
2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56970
* g++.dg/cpp0x/sfinae45.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198232 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Robert Dewar <dewar@adacore.com>
charlet [Wed, 24 Apr 2013 13:19:24 +0000 (13:19 +0000)]
2013-04-24  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Document pragma Assume.
* sem_prag.adb (Analyze_Pragma, case Assume): Now processed as
part of Assert, and no longer requires -gnatd.F

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198231 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Robert Dewar <dewar@adacore.com>
charlet [Wed, 24 Apr 2013 13:18:21 +0000 (13:18 +0000)]
2013-04-24  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Document pragma Assert_And_Cut.
* sem_prag.adb (Analyze_Pragma, case Assert_And_Cut): Remove
S14_Pragma call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198230 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 24 Apr 2013 13:17:28 +0000 (13:17 +0000)]
2013-04-24  Ed Schonberg  <schonberg@adacore.com>

* sem_aux.adb: Add guard in Available_View.

2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Depends_In_Decl_Part): Use
Find_Related_Subprogram to find the associated subprogram.
(Analyze_Global_In_Decl_List): Use Find_Related_Subprogram
to find the associated subprogram.
(Analyze_Pragma): Use Find_Related_Subprogram to find the associated
subprogram.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198229 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-02 Catherine Moore <clm@codesourcery.com>
clm [Wed, 24 Apr 2013 13:16:33 +0000 (13:16 +0000)]
2013-04-02  Catherine Moore  <clm@codesourcery.com>
    Chao-ying Fu <fu@mips.com>

        * config/mips/micromips.md (jraddiusp): New pattern.
        * config/mips/mips.c (mips_expand_epilogue): Use the JRADDIUSP
        instruction if possible.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198228 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 24 Apr 2013 13:15:27 +0000 (13:15 +0000)]
2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch6.adb: Remove with and use clause for Sem_Prag.
(Freeze_Subprogram): Call Analyze_Subprogram_Contract to analyze
the contract of a subprogram.
* sem_ch3.adb: Remove with and use clause for Sem_Prag.
(Analyze_Declarations): Call Analyze_Subprogram_Contract to
analyze the contract of a subprogram.
* sem_ch6.adb (Analyze_Subprogram_Contract): New routine.
(Check_Subprogram_Contract): Removed.
* sem_ch6.ads (Analyze_Subprogram_Contract): New routine.
(Check_Subprogram_Contract): Removed.
(Expand_Contract_Cases): Add a guard against malformed contract cases.
* sem_ch13.adb (Analyze_Aspect_Specifications): Call
Decorate_Delayed_Aspect_And_Pragma to decorate aspects
Contract_Cases, Depends and Global. Reimplement the analysis of
aspect Contract_Cases.
(Decorate_Delayed_Aspect_And_Pragma): New routine.
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): New routine.
(Analyze_CTC_In_Decl_Part): Removed.
(Analyze_Pragma): Reimplement the analysis of pragma Contract_Cases.
(Analyze_Test_Case_In_Decl_Part): New routine.
(Find_Related_Subprogram): New routine.
(Requires_Profile_Installation): Add new formal Prag. Update
the logic to take into account the origin of the pragma.
* sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part): New routine.
(Analyze_CTC_In_Decl_Part): Removed.
(Analyze_Test_Case_In_Decl_Part): New routine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198227 138bc75d-0d04-0410-961f-82ee72b054a4