platform/upstream/gcc.git
11 years ago[multiple changes]
Arnaud Charlet [Wed, 24 Apr 2013 13:17:28 +0000 (15:17 +0200)]
[multiple changes]

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.

From-SVN: r198229

11 years agomicromips.md (jraddiusp): New pattern.
Catherine Moore [Wed, 24 Apr 2013 13:16:33 +0000 (09:16 -0400)]
micromips.md (jraddiusp): New pattern.

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.

Co-Authored-By: Chao-ying Fu <fu@mips.com>
From-SVN: r198228

11 years agoexp_ch6.adb: Remove with and use clause for Sem_Prag.
Hristian Kirtchev [Wed, 24 Apr 2013 13:15:27 +0000 (13:15 +0000)]
exp_ch6.adb: Remove with and use clause for Sem_Prag.

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.

From-SVN: r198227

11 years ago[multiple changes]
Arnaud Charlet [Wed, 24 Apr 2013 13:13:04 +0000 (15:13 +0200)]
[multiple changes]

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

* sem_prag.adb (Process_Convention): Move Stdcall tests to
Set_Convention_From_Pragma so that they are applied to each
entry of a homonym set.
(Process_Convention): Don't try to set convention if already set.

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

* gnatbind.adb: Minor reformatting.

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

* clean.adb (Gnatclean): Add the default project search
directories in the project search path after scanning the
switches on the command line.
(Initialize): Do not put the default project search directories in the
project search path.
* gnatcmd.adb (GNATcmd): Add the default project search
directories in the project search path after scanning the switches
on the command line.
* make.adb (Initialize): Add the default project search
directories in the project search path after scanning the switches
on the command line.

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

* restrict.ads (Restriction_Warnings): Initialize with all False value.

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

* checks.ads, checks.adb (Predicate_Checks_Suppressed): New function.
* exp_util.ads, exp_util.adb (Make_Predicate_Check): Check setting of
Predicate_Check.
* snames.ads-tmpl (Name_Predicate_Check): New check name.
* types.ads (Predicate_Check): New definition.
* gnat_rm.texi: Add documentation for Predicate_Check.

From-SVN: r198226

11 years agoexp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this is a renaming of...
Ed Schonberg [Wed, 24 Apr 2013 13:10:01 +0000 (13:10 +0000)]
exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this is a renaming of predefined equality for an untagged record...

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

* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this
is a renaming of predefined equality for an untagged record,
add generated body to the freeze actions for the subprogram, to
prevent freezing issues when the record has incomplete components.
* exp_ch4.adb (Expand_Composite_Equality): If the type is a type
without completion, return a predefined comparison instead of
just False.  This may happen when building the expression for
record equality, when some component has a type whose completion
has not been seen yet. The operation will be analyzed an expanded
after the type has been frozen, at which point all component
types will have been completed, or an error reported.

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

* sem_ch13.adb (Analyze_Aspect_Specifications): Do not delay
analysis of a Convention aspect.

From-SVN: r198225

11 years ago[multiple changes]
Arnaud Charlet [Wed, 24 Apr 2013 13:08:31 +0000 (15:08 +0200)]
[multiple changes]

2013-04-24  Eric Botcazou  <ebotcazou@adacore.com>

* fe.h (Machine_Overflows_On_Target): New macro and declaration.
(Signed_Zeros_On_Target): Likewise.

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

* exp_ch6.adb: Add with and use clause for Sem_Prag.
(Freeze_Subprogram): Analyze all delayed aspects for a null
procedure so that they are available when analyzing the
internally-generated _Postconditions routine.
* exp_ch13.adb: Remove with and use clause for Sem_Prag.
(Expand_N_Freeze_Entity): Move the code that analyzes delayed
aspects of null procedures to exp_ch6.Freeze_Subprogram.
* sem_prag.adb (Analyze_Abstract_State): Update the check on
volatile requirements.

2013-04-24  Bob Duff  <duff@adacore.com>

* ali-util.ads (Source_Record): New component Stamp_File
to record from whence the Stamp came.
* ali-util.adb (Set_Source_Table): Set Stamp_File component.
* bcheck.adb (Check_Consistency): Print additional information in
Verbose_Mode.
* gnatbind.adb (Gnatbind): Print additional information in
Verbose_Mode.

From-SVN: r198224

11 years ago[multiple changes]
Arnaud Charlet [Wed, 24 Apr 2013 13:04:40 +0000 (15:04 +0200)]
[multiple changes]

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

* exp_ch13.adb, sem_prag.adb: Update comments.
* sem_ch3.adb, exp_ch9.adb, g-socket.adb, sem_ch13.adb: Minor
reformatting.

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

* vms_data.ads (/{NO}INHIBIT-EXEC): Document new default behavior.

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

* sinfo.ads: Minor correction of typo.

From-SVN: r198223

11 years ago[multiple changes]
Arnaud Charlet [Wed, 24 Apr 2013 13:01:09 +0000 (15:01 +0200)]
[multiple changes]

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

* sem_ch3.adb: Create packed array only when expander is
active.

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

* sem_prag.adb (Analyze_Depends_In_Decl_Part): Install the formals only
when the context warrants it.
(Analyze_Global_In_Decl_List): Install the formals only when
the context warrants it.
(Requires_Profile_Installation): New routine.

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

* exp_ch6.adb (Expand_N_Simple_Return_Statement): When the return
type is a discriminated private type that does not require use
of the secondary stack, a constrained subtype of the underlying
type is created to convey the proper object size to the backend.
If the return type is originally a private type, the return
expression is wrapped in an unchecked_conversion. If the return
expression is used subsequently in a call to the postcondition
function, this conversion must be undone to prevent a spurious
error on the analysis of that call.

From-SVN: r198222

11 years agofix comment pasto
Alan Modra [Wed, 24 Apr 2013 11:09:55 +0000 (20:39 +0930)]
fix comment pasto

From-SVN: r198221

11 years agodwarf2out.c (gen_enumeration_type_die): Fix HOST_BITS_PER_WIDE_INT dependency behavio...
Julian Brown [Wed, 24 Apr 2013 10:07:24 +0000 (10:07 +0000)]
dwarf2out.c (gen_enumeration_type_die): Fix HOST_BITS_PER_WIDE_INT dependency behavior in enumeration type DIE generation.

2013-04-24  Julian Brown  <julian@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

* dwarf2out.c (gen_enumeration_type_die): Fix HOST_BITS_PER_WIDE_INT
dependency behavior in enumeration type DIE generation. Add TODO
note to comments about future DW_FORM_sdata/udata re-work of related
code.

Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
From-SVN: r198219

11 years agore PR testsuite/57050 (FAIL: gcc.c-torture/execute/pr56982.c compilation, -O0)
Richard Biener [Wed, 24 Apr 2013 08:21:04 +0000 (08:21 +0000)]
re PR testsuite/57050 (FAIL: gcc.c-torture/execute/pr56982.c compilation,  -O0)

2013-04-24  Richard Biener  <rguenther@suse.de>

PR testsuite/57050
* gcc.c-torture/execute/pr56982.c: Avoid sigjmp_buf use.

From-SVN: r198218

11 years agoDaily bump.
GCC Administrator [Wed, 24 Apr 2013 00:16:37 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198216

11 years agoThis patch extracts approved portions of the hash_table patches to the...
Lawrence Crowl [Tue, 23 Apr 2013 22:00:12 +0000 (22:00 +0000)]
This patch extracts approved portions of the hash_table patches to the...

This patch extracts approved portions 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-ssa-coalesce.c'coalesce_list_d.list from htab_t to hash_table.

Fold coalesce_pair_map_hash and coalesce_pair_map_eq into new
struct coalesce_pair_hasher.

Removed struct coalesce_pair_iterator, as did not meet the hash_table
iterator interface and it provided no significant code reduction.
This leads to a change in the implementation of FOR_EACH_PARTITION_PAIR.

* statistics.c'statistics_hashes

Fold hash_statistics_eq into new struct stats_counter_hasher.

* hash-table.h'hash_table

Add documentation.
Add nested class iterator and methods to hash_table.
Add FOR_EACH_HASH_TABLE_ELEMENT implemented with those iterators.
Change uses of FOR_EACH_HTAB_ELEMENT to FOR_EACH_HASH_TABLE_ELEMENT.

* tree-ssa-sccvn.c'vn_tables_s.nary

Fold vn_nary_op_hash, vn_nary_op_eq into new struct vn_nary_op_hasher.
Add typedef vn_nary_op_table_type.
Add typedef vn_nary_op_iterator_type.

* tree-ssa-sccvn.c'vn_tables_s.phis

Fold vn_phi_hash, free_phi into new struct vn_phi_hasher.
Add typedef vn_phi_table_type.
Add typedef vn_phi_iterator_type.

* tree-ssa-sccvn.c'vn_tables_s.references

Fold vn_reference_hash, vn_reference_op_eq, free_reference
  into new struct vn_reference_hasher.
Add typedef vn_reference_table_type.
Add typedef vn_reference_iterator_type.

* tree-ssa-sccvn.c'constant_value_ids

Fold vn_constant_hash, vn_constant_eq into new struct vn_constant_hasher.

* tree-into-ssa.c'var_infos

Fold var_info_hash, var_info_eq into new struct var_info_hasher.

* tree-vectorizer.h'_loop_vec_info::peeling_htab

* tree-vectorizer.h

New struct peel_info_hasher.

* tree-vect-loop.c

Update dependent calls and types to match.

* tree-vect-data-refs.c

Fold vect_peeling_hash and vect_peeling_hash_eq into struct peel_info_hasher.

* tree-ssa-reassoc.c'undistribute_ops_list::ctable

Fold oecount_hash and oecount_eq into new struct oecount_hasher.

* tree-ssa-loop-im.c'memory_accesses.refs

Fold memref_hash and memref_eq into new struct mem_ref_hasher.

Tested on x86_64.

Index: gcc/ChangeLog

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

* Makefile.in: Update as needed below.

* hash-table.h (class hash_table):
Correct many methods with parameter types compare_type to the correct
value_type.  (Correct code was unlikely to notice the change.)
(hash_table::elements_with_deleted) New.
(class hashtable::iterator): New.
(hashtable::begin()): New.
(hashtable::end()): New.
(FOR_EACH_HASH_TABLE_ELEMENT): New.

* statistics.c (statistics_hashes):
Change type to hash_table.  Update dependent calls and types.

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

* tree-ssa-coalesce.c (struct coalesce_list_d.list):
Change type to hash_table.  Update dependent calls and types.

* tree-ssa-loop-im.c (struct mem_ref.refs):
Change type to hash_table.  Update dependent calls and types.

* tree-ssa-reassoc.c (undistribute_ops_list::ctable):
Change type to hash_table.  Update dependent calls and types.

* tree-ssa-sccvn.c (vn_tables_s::nary):
Change type to hash_table.  Update dependent calls and types.
(vn_tables_s::phis): Likewise.
(vn_tables_s::references): Likewise.

* tree-ssa-sccvn.h (vn_nary_op_eq): Update parameter and return types.
(vn_reference_eq): Update parameter and return types.

* tree-ssa-structalias.c (pointer_equiv_class_table):
Change type to hash_table.  Update dependent calls and types.
(location_equiv_class_table): Likewise.

* tree-vect-data-refs.c: Consequential changes for making
peeling a hash_table.

* tree-vect-loop.c (new_loop_vec_info): Dependent hash_table update.
(destroy_loop_vec_info): Dependent hash_table update.

* tree-vectorizer.h (peeling_htab):
Change type to hash_table.  Update dependent calls and types.

From-SVN: r198213

11 years agore PR target/55445 (Always defined __SEH__ when build from trunk)
Kai Tietz [Tue, 23 Apr 2013 19:17:29 +0000 (21:17 +0200)]
re PR target/55445 (Always defined __SEH__ when build from trunk)

PR target/55445
* raise-gcc.c (__SEH__): Additional check that
SjLj isn't active.

From-SVN: r198205

11 years agolra-assigns.c (find_hard_regno_for): Use lra_reg_val_equal_p to check the register...
Shiva Chen [Tue, 23 Apr 2013 17:38:59 +0000 (17:38 +0000)]
lra-assigns.c (find_hard_regno_for): Use lra_reg_val_equal_p to check the register content is equal or not.

2013-04-23  Shiva Chen  <shiva0217@gmail.com>

        * lra-assigns.c (find_hard_regno_for): Use lra_reg_val_equal_p
        to check the register content is equal or not.
        * lra-constraints.c (match_reload): Use lra_assign_reg_val
        to assign register content record.
        * lra-eliminations.c (update_reg_eliminate): Use
lra_update_reg_val_offset to update register content offset.
        * lra-int.h (struct lra_reg): Add offset member.
        (lra_reg_val_equal_p): New static inline function.
        (lra_update_reg_val_offset): New static inline function.
        (lra_assign_reg_val): New static inline function.
        * lra.c (lra_create_new_reg): Use lra_assign_reg_val
        to assign register content record.
        (initialize_lra_reg_info_element): Initial offset to zero.

From-SVN: r198204

11 years agomips.md (*movhi_internal, [...]): New operands.
Catherine Moore [Tue, 23 Apr 2013 17:17:08 +0000 (13:17 -0400)]
mips.md (*movhi_internal, [...]): New operands.

2013-04-23  Catherine Moore  <clm@codesourcery.com>

* config/mips/mips.md (*movhi_internal, *movqi_internal): New
operands.  Record compression.

From-SVN: r198202

11 years agoSupport slim switch for cfg graph dump
Xinliang David Li [Tue, 23 Apr 2013 16:44:17 +0000 (16:44 +0000)]
Support slim switch for cfg graph dump

From-SVN: r198201

11 years agoMakefile.in (targ): Fix target name check.
Eric Botcazou [Tue, 23 Apr 2013 16:16:03 +0000 (16:16 +0000)]
Makefile.in (targ): Fix target name check.

2013-04-23  Eric Botcazou  <ebotcazou@adacore.com>
    Pascal Obry    <obry@adacore.com>

* gcc-interface/Makefile.in (targ): Fix target name check.
(../../gnatmake$(exeext)): Add '+' for LTO.
(../../gnatlink$(exeext)): Likewise.

Co-Authored-By: Pascal Obry <obry@adacore.com>
From-SVN: r198200

11 years agoUpdate dependencies.
Arnaud Charlet [Tue, 23 Apr 2013 16:10:13 +0000 (18:10 +0200)]
Update dependencies.

From-SVN: r198199

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 16:07:33 +0000 (18:07 +0200)]
[multiple changes]

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

* exp_ch9.adb (Build_PPC_Wrapper): Correct the traversal of
pre- and post-conditions.
(Expand_N_Task_Type_Declaration):
Use the correct attribute to check for pre- and post-conditions.
* exp_ch13.adb (Expand_N_Freeze_Entity): Correct the traversal of
pre- and post-conditions.  Analyze delayed classification items.
* freeze.adb (Freeze_Entity): Use the correct attribute to
check for pre- and post- conditions.
* sem_ch3.adb (Analyze_Declarations): Correct the traversal
of pre- and post-conditions as well as contract- and
test-cases. Analyze delayed pragmas Depends and Global.
* sem_ch6.adb (Check_Subprogram_Contract): Use the correct
attribute to check for pre- and post-conditions, as well as
contract-cases and test-cases. (List_Inherited_Pre_Post_Aspects):
Correct the traversal of pre- and post- conditions.
(Process_Contract_Cases): Update the comment on usage. Correct
the traversal of contract-cases.
(Process_Post_Conditions): Update the comment on usage. Correct the
traversal of pre- and post-conditions.
(Process_PPCs): Correct the traversal of pre- and post-conditions.
(Spec_Postconditions): Use the correct
attribute to check for pre- and post- conditions, as well as
contract-cases and test-cases.
* sem_ch13.adb (Analyze_Aspect_Specifications): Reimplement the
actions related to aspects Depends and Global. Code refactoring
for pre- and post-conditions.
(Insert_Delayed_Pragma): New routine.
* sem_prag.adb (Add_Item): New routine.
(Analyze_Depends_In_Decl_Part): New routine.
(Analyze_Global_In_Decl_Part): New routine.
(Analyze_Pragma): Reimplement the actions related to aspects Depends and
Global. Verify that a body acts as a spec for pragma Contract_Cases.
(Chain_PPC): Use Add_Contract_Item to chain a pragma.
(Chain_CTC): Correct the traversal of contract-
and test-cases. Use Add_Contract_Item to chain a pragma.
(Chain_Contract_Cases): Correct the traversal of contract-
and test-cases. Use Add_Contract_Item to chain a pragma.
(Check_Precondition_Postcondition): Update the comment on usage.
(Check_Test_Case): Update the comment on usage.
* sem_prag.ads (Analyze_Depends_In_Decl_Part): New routine.
(Analyze_Global_In_Decl_Part): New routine.
* sem_util.ads, sem_util.adb (Add_Contract_Item): New routine.
* sinfo.adb (Classifications): New routine.
(Contract_Test_Cases): New routine.
(Pre_Post_Conditions): New routine.
(Set_Classifications): New routine.
(Set_Contract_Test_Cases): New routine.
(Set_Pre_Post_Conditions): New routine.
(Set_Spec_CTC_List): Removed.
(Set_Spec_PPC_List): Removed.
(Spec_CTC_List): Removed.
(Spec_PPC_List): Removed.
* sinfo.ads: Update the structure of N_Contruct along with all
related comments.
(Classifications): New routine and pragma Inline.
(Contract_Test_Cases): New routine and pragma Inline.
(Pre_Post_Conditions): New routine and pragma Inline.
(Set_Classifications): New routine and pragma Inline.
(Set_Contract_Test_Cases): New routine and pragma Inline.
(Set_Pre_Post_Conditions): New routine and pragma Inline.
(Set_Spec_CTC_List): Removed.
(Set_Spec_PPC_List): Removed.
(Spec_CTC_List): Removed.
(Spec_PPC_List): Removed.

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

* init.c (GNAT$STOP) [VMS]: Bump sigargs[0] count by 2
to account for LIB$STOP not having the chance to add the PC and
PSL fields.

From-SVN: r198198

11 years agosem_ch13.adb: Minor code reorganization (remove some redundant assignments).
Robert Dewar [Tue, 23 Apr 2013 14:59:59 +0000 (14:59 +0000)]
sem_ch13.adb: Minor code reorganization (remove some redundant assignments).

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

* sem_ch13.adb: Minor code reorganization (remove some redundant
assignments).
* sem_ch3.adb, sem_prag.adb: Minor reformatting.

From-SVN: r198197

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 14:57:33 +0000 (16:57 +0200)]
[multiple changes]

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

* einfo.ads: Minor typo fix.
* sem_ch13.adb (Build_Predicate_Functions): Reject cases where
Static_Predicate is applied to a non-scalar or non-static type.
* sem_prag.adb: Minor typo fix.

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

* init.c (GNAT$STOP) [VMS]: New function.

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

* sem_ch3.adb: Add exp_pakd to context.
(Constrain_Component_Type): If the component of the parent is
packed, and the record subtype being built is already frozen,
as is the case for an itype, the component type itself will not
be frozen, and the packed array type for it must be constructed
explicitly.

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

* g-socket.adb, g-socket.ads (Set_Close_On_Exec): New subprogram.

From-SVN: r198196

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 14:53:51 +0000 (16:53 +0200)]
[multiple changes]

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

* err_vars.ads (Error_Msg_Qual_Level): Set variable to zero
at declaration.
* opt.ads (Multiple_Unit_Index): Set variable to zero at declaration.
* sem_util.adb (NCT_Table_Entries): Set variable to zero at declaration.
* set_targ.ads (Num_FPT_Modes): Set variable to zero at declaration.
* stylesw.adb (Save_Style_Check_Options): Protect testing the
value of Style_Check_Comments_Spacing by a previous test that
Style_Check_Comments is True.

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

* sem_prag.adb, sem_prag.ads (Effective_Name): Rename to
Original_Name, and move declaration to package body as this
subprogram is not used from outside. Also clarify documentation.

From-SVN: r198195

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 14:52:28 +0000 (16:52 +0200)]
[multiple changes]

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

* exp_ch6.adb (Expand_N_Subprogram_Body): When compiling with
initialize_scalars, disable predicate checks on the generated
assignment to an out scalar parameter.

2013-04-23  Gary Dismukes  <dismukes@adacore.com>

* sem_ch4.adb (Analyze_Allocator): Remove error
check for "constrained in partial view" constraints entirely.

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

* einfo.ads, sem_prag.ads: Minor reformatting.
* errout.ads: Comment update.

From-SVN: r198194

11 years agore PR middle-end/57036 (ice in update_ssa_across_abnormal_edges)
Richard Biener [Tue, 23 Apr 2013 14:36:02 +0000 (14:36 +0000)]
re PR middle-end/57036 (ice in update_ssa_across_abnormal_edges)

2013-04-23  Richard Biener  <rguenther@suse.de>

PR middle-end/57036
* tree-inline.c (copy_edges_for_bb): Add can_make_abnormal_goto
parameter, only add abnormal goto edges from the copied body
if the call could perform abnormal gotos.
(copy_cfg_body): Adjust.

* gcc.dg/torture/pr57036-1.c: New testcase.
* gcc.dg/torture/pr57036-2.c: Likewise.

From-SVN: r198192

11 years agoaarch64.md (*mov<mode>_aarch64): Add simd attribute.
Sofiane Naci [Tue, 23 Apr 2013 13:42:25 +0000 (13:42 +0000)]
aarch64.md (*mov<mode>_aarch64): Add simd attribute.

gcc/
* config/aarch64/aarch64.md (*mov<mode>_aarch64): Add simd attribute.

testsuite/
* gcc.target/aarch64/scalar-mov.c: New test.

From-SVN: r198191

11 years agosjlj.S: New file.
Andreas Krebbel [Tue, 23 Apr 2013 11:33:50 +0000 (11:33 +0000)]
sjlj.S: New file.

2013-04-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/sjlj.S: New file.
* config/s390/target.h: New file.
* configure.tgt: Set options for S/390.

From-SVN: r198190

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 09:59:41 +0000 (11:59 +0200)]
[multiple changes]

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

* exp_ch5.adb: Minor typo.

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

* gnat_ugn.texi: Fix typo.

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

* einfo.ads: Minor documentation clarification.

2013-04-23  Bob Duff  <duff@adacore.com>

* types.ads: Fix incorrect comment.

From-SVN: r198189

11 years agosem_aux.adb [...] (Effectively_has_Constrained_Partial_View): Rename subprogram as...
Ed Schonberg [Tue, 23 Apr 2013 09:58:23 +0000 (09:58 +0000)]
sem_aux.adb [...] (Effectively_has_Constrained_Partial_View): Rename subprogram as Object_Type_Has_Constrained_Partial_View...

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

* sem_aux.adb sem_aux.ads (Effectively_has_Constrained_Partial_View):
Rename subprogram as Object_Type_Has_Constrained_Partial_View, better
description of purpose.
* checks.adb (Apply_Discriminant_Check): Use above renaming.
* sem_ch4.adb (Analyze_Allocator): Check Has_Constrained_Partial_View
of the base type, rather than using the Object_Type predicate.
* sem_attr.adb (Analyze_Attribute, case 'Access): Use above renaming.
* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): ditto.
* exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained): Ditto.
* exp_ch4.adb (Expand_N_Allocator): Ditto.

From-SVN: r198188

11 years agoexp_prag.adb (Expand_Pragma_Check): Check for Assert rather than Assertion.
Robert Dewar [Tue, 23 Apr 2013 09:56:06 +0000 (09:56 +0000)]
exp_prag.adb (Expand_Pragma_Check): Check for Assert rather than Assertion.

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

* exp_prag.adb (Expand_Pragma_Check): Check for Assert rather
than Assertion.
* sem_prag.adb (Is_Valid_Assertion_Kind): Moved to spec
(Effective_Name): New function (Analyze_Pragma, case Check):
Disallow [Statement_]Assertions (Check_Kind): Implement
Statement_Assertions (Check_Applicable_Policy): Use Effective_Name
(Is_Valid_Assertion_Kind): Allow Statement_Assertions.
* sem_prag.ads (Is_Valid_Assertion_Kind): Moved here from body
(Effective_Name): New function.
* sem_res.adb: Minor reformatting.
* snames.ads-tmpl (Name_Statement_Assertions): New entry.
* gnat_rm.texi: Add documentation of new assertion kind
Statement_Assertions.

From-SVN: r198187

11 years agosinfo.ads, [...]: Minor reformatting and code clean up.
Robert Dewar [Tue, 23 Apr 2013 09:54:14 +0000 (09:54 +0000)]
sinfo.ads, [...]: Minor reformatting and code clean up.

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

* sinfo.ads, einfo.adb, sem_res.adb, exp_ch6.adb, aspects.adb: Minor
reformatting and code clean up.

From-SVN: r198186

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 09:53:23 +0000 (11:53 +0200)]
[multiple changes]

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

* prj-part.ads, prj-conf.ads: Minor comment updates.

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

* einfo.adb (Predicate_Function): For a private type, retrieve
predicate function from full view.
* aspects.adb (Find_Aspect): Ditto.
* exp_ch6.adb (Expand_Actuals): If the formal is class-wide and
the actual is a definite type, apply predicate check after call.
* sem_res.adb: Do not apply a predicate check before the call to
a generated Init_Proc.

From-SVN: r198185

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 09:50:31 +0000 (11:50 +0200)]
[multiple changes]

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

* sem_ch13.adb (Analyze_Aspect_Specifications): Significant
rewrite to make sure Is_Ignore is properly captured when aspect
is declared.
* sem_ch6.adb: Minor reformatting.
* sem_prag.adb (Analyze_Pragma): Do not test policy at time of
pragma for the case of a pragma coming from an aspect (already
tested when we analyzed the aspect).

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

* prj-conf.adb (Parse_Project_And_Apply_Config): New
Boolean parameter Implicit_Project, defaulted to False. Call
Prj.Part.Parse with Implicit_Project.
* prj-conf.ads (Parse_Project_And_Apply_Config): New Boolean
parameter Implicit_Project, defaulted to False.
* prj-part.adb (Parse_Single_Project): New Boolean parameter
Implicit_Project, defaulted to False. When Implicit_Project is
True, change the Directory of the project node to the Current_Dir.
* prj-part.ads (Parse): New Boolean parameter, defaulted to False

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

* exp_util.adb: Minor reformatting.

From-SVN: r198184

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 09:48:55 +0000 (11:48 +0200)]
[multiple changes]

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

* xoscons.adb: Minor reformatting.

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

* sem_prag.adb (Check_Mode): Ensure that a
self-referential output appears in both input and output lists of
the subprogram as categorized by aspect Global.
(Check_Usage): Rename formal parameters to better illustrate their
function. Update all uses of the said formals.

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

* exp_util.adb, exp_util.ads (Fully_Qualified_Name_String): New
parameter Append_NUL to make NUL-termination optional.
* exp_dist.adb: Consistently use the above throughout instead of
Get_Library_Unit_Name_String.

From-SVN: r198183

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 09:47:13 +0000 (11:47 +0200)]
[multiple changes]

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

* sem_util.adb, sem_res.adb, prj-tree.adb, prj-tree.ads: Minor
reformatting.

2013-04-23  Pascal Obry  <obry@adacore.com>

* xoscons.adb: Remove unused use clause, minor code clean-up.

From-SVN: r198182

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 09:45:55 +0000 (11:45 +0200)]
[multiple changes]

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

* sem_util.ads, sem_util.adb: Code cleanup for Is_Expression_Function
(can apply to any scope entity).
* sem_res.adb (Resolve_Call):  If the call is within another
expression function it does not constitute a freeze point.

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

* exp_ch6.adb (Expand_Actuals): Test that Subp
is overloadable before testing if it's an inherited operation.

From-SVN: r198181

11 years agoa-envvar.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 23 Apr 2013 09:44:10 +0000 (09:44 +0000)]
a-envvar.adb, [...]: Minor reformatting.

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

* a-envvar.adb, a-envvar.ads, exp_util.adb, sem_ch12.adb: Minor
reformatting.

From-SVN: r198180

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 09:42:45 +0000 (11:42 +0200)]
[multiple changes]

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

* sem_ch3.adb (Analyze_Object_Declarations): Undo previous patch.
* exp_util.adb (Expand_Subtype_From_Expr): If the expression
is a source entity and the declaration is for an aliased
unconstrained array, create a new subtype so that the flag
Is_Constr_Subt_For_UN_Aliased does not pollute other entities.

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

* aspects.adb: Move tables Base_Aspect and Inherited_Aspect
from the spec to the body.
(Find_Aspect): Update the call to Get_Aspect_Id.
(Get_Aspect_Id): New version that takes an aspect specification.
* aspects.ads: Reorganize all aspect related tables.
(Get_Aspect_Id): New version that takes an aspect specification.
* par_sco.adb (Traverse_Aspects): Update the call to Get_Aspect_Id.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Update
the call to Get_Aspect_Id.
* sem_ch13.adb (Analyze_Aspect_At_Freeze_Point): Update the
call to Get_Aspect_Id. (Analyze_Aspect_Specifications): Update
the call to Get_Aspect_Id. Update the call to Impl_Defined_Aspect.

From-SVN: r198179

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 09:12:14 +0000 (11:12 +0200)]
[multiple changes]

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

* sem_prag.adb (Fix_Error): Rewrite to do more accurate job
of getting proper name in the case where pragma comes from
aspect.
* sem_ch3.adb, sinfo.ads, par-ch6.adb, exp_ch6.adb: Minor reformatting.

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

* sem_ch6.adb (Process_PPCs): Do not filter postconditions based on
applicable policy.

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

* par_sco.adb (Traverse_Aux_Decls): Minor code reorganization.

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

* init.c: Move facility macros outside IN_RTS.

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

* freeze.adb (Freeze_Entity): For the case of a bit-packed
array time that is known at compile time to have more that
Integer'Last+1 elements, issue an error, since such arrays are
not supported.

From-SVN: r198178

11 years ago[multiple changes]
Arnaud Charlet [Tue, 23 Apr 2013 09:06:42 +0000 (11:06 +0200)]
[multiple changes]

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

* sem_prag.adb (Analyze_Dependency_Clause): Update all calls to
Analyze_Input_Output.
(Analyze_Input_List): Update all calls to Analyze_Input_Output.
(Analyze_Input_Output): Add formal parameter Self_Ref along with
comment on its usage. Update all calls to Analyze_Input_Output.
(Analyze_Pragma): Add new local variable Self_Ref to capture
the presence of a self-referential dependency clause. Update
all calls to Analyze_Input_Output.
(Check_Mode): Add formal parameter Self_Ref along with comment on its
usage. Verify the legality of a self-referential output.

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

* exp_ch6.adb: Add predicate checks on by-copy parameter.

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

* a-envvar.adb, a-envvar.ads (Value): New.

From-SVN: r198177

11 years agocoretypes.h (gimple_stmt_iterator): Add struct to make compatible with C.
Andreas Schwab [Tue, 23 Apr 2013 09:05:31 +0000 (09:05 +0000)]
coretypes.h (gimple_stmt_iterator): Add struct to make compatible with C.

* coretypes.h (gimple_stmt_iterator): Add struct to make
compatible with C.

From-SVN: r198176

11 years agore PR middle-end/57026 (ice: SSA corruption)
Richard Biener [Tue, 23 Apr 2013 08:08:25 +0000 (08:08 +0000)]
re PR middle-end/57026 (ice: SSA corruption)

2013-04-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57026
* tree-vrp.c (simplify_conversion_using_ranges): Do not propagate
from SSA names occuring in abnormal PHI nodes.

* gcc.dg/torture/pr57026.c: New testcase.

From-SVN: r198175

11 years agoFix lto report names
Andi Kleen [Tue, 23 Apr 2013 03:10:29 +0000 (03:10 +0000)]
Fix lto report names

Some of the hash tables in lto-report are misnamed in the report.
Fix this up.

gcc/:

2013-04-22  Andi Kleen  <ak@linux.intel.com>

* lto/lto.c (print_lto_report_1): Fix LTO report names.

From-SVN: r198174

11 years agoPrint lto report at the right place
Andi Kleen [Tue, 23 Apr 2013 03:10:16 +0000 (03:10 +0000)]
Print lto report at the right place

The LTO report is currently printed when the type merging hash tables
are already destroyed, which makes them always show up as empty.
Print it earlier. Right now it's printed twice.

gcc/:

2013-04-22  Andi Kleen  <ak@linux.intel.com>

* lto/lto.c (print_lto_report_1): Declare early.
(read_cgraph_and_symbols): Call print_lto_report_1 early.

From-SVN: r198173

11 years agoAdd -flto-report-wpa
Andi Kleen [Tue, 23 Apr 2013 03:10:02 +0000 (03:10 +0000)]
Add -flto-report-wpa

-flto-report is useful, but it prints for every LTRANS pass and
is very noisy and the main problem is often in WPA only.

Add a new -flto-report-wpa option that is only printed for WPA.

gcc/:

2013-04-22  Andi Kleen  <ak@linux.intel.com>

* common.opt (-flto-report-wpa): Add.
* doc/invoke.texi (-flto-report-wpa): Add.
* lto/lto.c (do_whole_program_analysis): Check for lto-report-wpa.
(lto_main): dito.

From-SVN: r198172

11 years agoImprove pointer hash function to include all bits
Andi Kleen [Tue, 23 Apr 2013 03:09:47 +0000 (03:09 +0000)]
Improve pointer hash function to include all bits

The hashtab pointer hash function is not very good. It throws most of the
bits in the pointer away.

This changes pointer_hash to use the mix code from jhash function that mixes
all the bits on the pointer and makes them dependent on each other, before doing
the modulo.

libiberty/:

2013-04-22  Andi Kleen <ak@linux.intel.com>

* hashtab.c (hash_pointer): Move to end of file and reimplement.

From-SVN: r198171

11 years ago* src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
Jason Merrill [Tue, 23 Apr 2013 01:31:27 +0000 (21:31 -0400)]
* src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.

From-SVN: r198170

11 years agoDaily bump.
GCC Administrator [Tue, 23 Apr 2013 00:16:31 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198168

11 years agoDisplay profile info in graph cfg dump
Xinliang David Li [Tue, 23 Apr 2013 00:14:38 +0000 (00:14 +0000)]
Display profile info in graph cfg dump

From-SVN: r198165

11 years agoconfigure.ac (gcc_cv_as_micromips_support): Use the --fatal-warnings option.
Catherine Moore [Mon, 22 Apr 2013 22:16:45 +0000 (18:16 -0400)]
configure.ac (gcc_cv_as_micromips_support): Use the --fatal-warnings option.

2013-04-22  Catherine Moore  <clm@codesourcery.com>
            David Daney <ddaney.cavm@gmail.com>

        * configure.ac (gcc_cv_as_micromips_support):  Use the
        --fatal-warnings option.
        * configure: Regenerate.

Co-Authored-By: David Daney <ddaney.cavm@gmail.com>
From-SVN: r198164

11 years agoCore 1586
Jason Merrill [Mon, 22 Apr 2013 20:59:02 +0000 (16:59 -0400)]
Core 1586

Core 1586
* parser.c (cp_parser_unqualified_id): Handle ~auto.
(cp_parser_pseudo_destructor_name): Likewise.
(cp_parser_postfix_dot_deref_expression): Adjust.
(cp_lexer_nth_token_is_keyword): New.
* semantics.c (finish_pseudo_destructor_expr): Handle ~auto.
* typeck.c (lookup_destructor): Handle ~auto.

From-SVN: r198162

11 years agopt.c (fn_type_unification): Push tinst level around type_unification_real if we aren...
Jason Merrill [Mon, 22 Apr 2013 20:40:54 +0000 (16:40 -0400)]
pt.c (fn_type_unification): Push tinst level around type_unification_real if we aren't explaining.

gcc/cp/
* pt.c (fn_type_unification): Push tinst level around
type_unification_real if we aren't explaining.
* cp-tree.h (TFF_NO_TEMPLATE_BINDINGS): New.
* error.c (dump_function_decl): Respect it.
(subst_to_string): Pass it.
libstdc++-v3/
* testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
substitution" lines.

From-SVN: r198161

11 years agore PR c++/48665 (type of const member function)
Jason Merrill [Mon, 22 Apr 2013 20:35:58 +0000 (16:35 -0400)]
re PR c++/48665 (type of const member function)

PR c++/48665
* rtti.c (get_typeid): Diagnose qualified function type.
* pt.c (tsubst) [POINTER_TYPE]: Likewise.

From-SVN: r198160

11 years agoerror.c (dump_aggr_type): Fix lambda detection.
Jason Merrill [Mon, 22 Apr 2013 20:33:01 +0000 (16:33 -0400)]
error.c (dump_aggr_type): Fix lambda detection.

* error.c (dump_aggr_type): Fix lambda detection.
(dump_simple_decl): Pretty-print capture field.

From-SVN: r198159

11 years agohashtable_policy.h: Add C++11 allocator support.
François Dumont [Mon, 22 Apr 2013 20:22:07 +0000 (20:22 +0000)]
hashtable_policy.h: Add C++11 allocator support.

2013-04-22  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable_policy.h: Add C++11 allocator support.
* include/bits/hashtable.h: Likewise.
* include/bits/unordered_set.h: Likewise.
* include/bits/unordered_map.h: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/unordered_map: Likewise.
* include/std/unordered_set: Remove bits/algobase.h
include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
* include/std/unordered_map: Likewise.
* include/ext/throw_allocator.h: Add checks on calls to allocator
construct/destroy.
(std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
(std::hash<__gnu_cxx::throw_value_random>): Likewise.
* testsuite/util/regression/rand/priority_queue
/container_rand_regression_test.tcc: Adapt.
* testsuite/util/regression/rand/assoc
/container_rand_regression_test.tcc: Likewise.
* testsuite/util/testsuite_counter_type.h: Add count of destructors.
* testsuite/23_containers/unordered_set
/not_default_constructible_hash_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/allocator/copy.cc: New.
* testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
* testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
* testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
* testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
* testsuite/23_containers/unordered_set/allocator/swap.cc: New.
* testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
* testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
New.
* testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
* testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
New.
* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
* testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
* testsuite/23_containers/unordered_map/allocator/copy.cc: New.
* testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
* testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
* testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
New.
* testsuite/23_containers/unordered_map/allocator/swap.cc: New.
* testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
* testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
New.
* testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
* testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
New.
* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
* testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.

From-SVN: r198158

11 years agoN3323
Jason Merrill [Mon, 22 Apr 2013 19:25:23 +0000 (15:25 -0400)]
N3323

* cvt.c (build_expr_type_conversion): Two conversions that return
the same type aren't necessarily ambiguous.

From-SVN: r198157

11 years agoN3648
Jason Merrill [Mon, 22 Apr 2013 19:19:55 +0000 (15:19 -0400)]
N3648

* parser.c (cp_parser_lambda_introducer): Make lambda capture init
pedwarn unconditional except in C++1y mode.

From-SVN: r198156

11 years agore PR fortran/53685 (surprising warns about transfer with explicit character range)
Janus Weil [Mon, 22 Apr 2013 19:14:22 +0000 (21:14 +0200)]
re PR fortran/53685 (surprising warns about transfer with explicit character range)

2013-04-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/53685
PR fortran/57022
* check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
expressions.
* simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
of special treatment for EXPR_ARRAY.
* target-memory.h (gfc_element_size): New prototype.
* target-memory.c (size_array): Remove.
(gfc_element_size): New function.
(gfc_target_expr_size): Modified to always return the full size of the
expression.

2013-04-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/53685
PR fortran/57022
* gfortran.dg/transfer_check_4.f90: New.

From-SVN: r198155

11 years agosemantics.c (potential_constant_expression_1): Don't crash on 'this' in NSDMI.
Jason Merrill [Mon, 22 Apr 2013 19:13:19 +0000 (15:13 -0400)]
semantics.c (potential_constant_expression_1): Don't crash on 'this' in NSDMI.

* semantics.c (potential_constant_expression_1): Don't crash on
'this' in NSDMI.

From-SVN: r198154

11 years agoCore 1612
Jason Merrill [Mon, 22 Apr 2013 18:52:50 +0000 (14:52 -0400)]
Core 1612

Core 1612
* semantics.c (finish_id_expression): Reject capture of anonymous
union member.

From-SVN: r198153

11 years agoCore 1609
Jason Merrill [Mon, 22 Apr 2013 18:50:35 +0000 (14:50 -0400)]
Core 1609

Core 1609
* decl2.c (check_default_args): Check for pack expansion.

From-SVN: r198152

11 years ago* mangle.c (write_type): Mangle decltype(auto).
Jason Merrill [Mon, 22 Apr 2013 18:49:01 +0000 (14:49 -0400)]
* mangle.c (write_type): Mangle decltype(auto).

From-SVN: r198150

11 years ago* testsuite/ChangeLog: Fix whitespace.
Uros Bizjak [Mon, 22 Apr 2013 17:05:26 +0000 (19:05 +0200)]
* testsuite/ChangeLog: Fix whitespace.

From-SVN: r198148

11 years agore PR sanitizer/56990 (ICE: SIGFPE with -fsanitize=thread and empty struct)
Marek Polacek [Mon, 22 Apr 2013 17:02:49 +0000 (17:02 +0000)]
re PR sanitizer/56990 (ICE: SIGFPE with -fsanitize=thread and empty struct)

PR sanitizer/56990
* tsan.c (instrument_expr): Don't instrument expression
in case its size is zero.

* gcc.dg/pr56990.c: New test.

From-SVN: r198147

11 years agore PR rtl-optimization/57032 (internal compiler error: Max. number of generated reloa...
Uros Bizjak [Mon, 22 Apr 2013 16:58:30 +0000 (18:58 +0200)]
re PR rtl-optimization/57032 (internal compiler error: Max. number of generated reload insns per insn is achieved (90))

PR target/57032
Revert:
2013-03-17  Uros Bizjak  <ubizjak@gmail.com>

* config/alpha/alpha.c (TARGET_LRA_P): New define.

From-SVN: r198145

11 years agotype_traits (is_signed): Simplify.
Paolo Carlini [Mon, 22 Apr 2013 15:27:54 +0000 (15:27 +0000)]
type_traits (is_signed): Simplify.

2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (is_signed): Simplify.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r198144

11 years ago[Mid-end] Add TARGET_GIMPLE_FOLD_BUILTIN target hook.
James Greenhalgh [Mon, 22 Apr 2013 14:50:32 +0000 (14:50 +0000)]
[Mid-end] Add TARGET_GIMPLE_FOLD_BUILTIN target hook.

gcc/

* coretypes.h (gimple_stmt_iterator_d): Forward declare.
(gimple_stmt_iterator): New typedef.
* gimple.h (gimple_stmt_iterator): Rename to...
(gimple_stmt_iterator_d): ... This.
* doc/tm.texi.in (TARGET_FOLD_BUILTIN): Detail restriction that
trees be valid for GIMPLE and GENERIC.
(TARGET_GIMPLE_FOLD_BUILTIN): New.
* gimple-fold.c (gimple_fold_call): Call target hook
gimple_fold_builtin.
* hooks.c (hook_bool_gsiptr_false): New.
* hooks.h (hook_bool_gsiptr_false): New.
* target.def (fold_stmt): New.
* doc/tm.texi: Regenerate.

From-SVN: r198142

11 years agocomplex (complex<float>::real, [...]): Declare as const member functions.
Paolo Carlini [Mon, 22 Apr 2013 14:37:34 +0000 (14:37 +0000)]
complex (complex<float>::real, [...]): Declare as const member functions.

2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

N3669
* include/std/complex (complex<float>::real, complex<float>::imag,
complex<double>::real, complex<double>::imag,
complex<long double>::real, complex<long double>::imag): Declare
as const member functions.
* include/std/type_traits (integral_constant<>::operator value_type):
Likewise.

From-SVN: r198141

11 years agore PR target/57018 (Miscompilation of bison 2.7.1 under "-Os -fomit-frame-pointer")
Vladimir Makarov [Mon, 22 Apr 2013 14:26:51 +0000 (14:26 +0000)]
re PR target/57018 (Miscompilation of bison 2.7.1 under "-Os -fomit-frame-pointer")

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

PR target/57018
* lra-eliminations.c (mark_not_eliminable): Prevent elimination of
a set sp if no stack realignment.

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

PR target/57018
* gcc.target/i386/pr57018.c: New test.

From-SVN: r198140

11 years agoconfig.gcc (tilegx-linux): Extend extra_objs rather than overwriting it.
Nick Clifton [Mon, 22 Apr 2013 12:48:36 +0000 (12:48 +0000)]
config.gcc (tilegx-linux): Extend extra_objs rather than overwriting it.

* config.gcc (tilegx-linux): Extend extra_objs rather than
overwriting it.
(tilepro-linux): Likewise.

From-SVN: r198138

11 years ago[AArch64] Map standard pattern names to NEON intrinsics directly.
James Greenhalgh [Mon, 22 Apr 2013 12:46:38 +0000 (12:46 +0000)]
[AArch64] Map standard pattern names to NEON intrinsics directly.

gcc/
* config/aarch64/aarch64-builtins.c
(CF): Remove.
(CF0, CF1, CF2, CF3, CF4, CF10): New.
(VAR<1-12>): Add MAP parameter.
(BUILTIN_*): Likewise.
* config/aarch64/aarch64-simd-builtins.def: Set MAP parameter.
* config/aarch64/aarch64-simd.md (aarch64_sshl_n<mode>): Remove.
(aarch64_ushl_n<mode>): Likewise.
(aarch64_sshr_n<mode>): Likewise.
(aarch64_ushr_n<mode>): Likewise.
(aarch64_<maxmin><mode>): Likewise.
(aarch64_sqrt<mode>): Likewise.
* config/aarch64/arm_neon.h (vshl<q>_n_*): Use new builtin names.
(vshr<q>_n_*): Likewise.

From-SVN: r198137

11 years ago[AArch64] Support vrecp<esx> neon intrinsics in RTL.
James Greenhalgh [Mon, 22 Apr 2013 12:36:52 +0000 (12:36 +0000)]
[AArch64] Support vrecp<esx> neon intrinsics in RTL.

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_simd_builtin_type_mode): Handle SF types.
(sf_UP): Define.
(BUILTIN_GPF): Define.
(aarch64_init_simd_builtins): Handle SF types.
* config/aarch64/aarch64-simd-builtins.def (frecpe): Add support.
(frecps): Likewise.
(frecpx): Likewise.
* config/aarch64/aarch64-simd.md
(simd_types): Update simd_frcp<esx> to simd_frecp<esx>.
(aarch64_frecpe<mode>): New.
(aarch64_frecps<mode>): Likewise.
* config/aarch64/aarch64.md (unspec): Add UNSPEC_FRECP<ESX>.
(v8type): Add frecp<esx>.
(aarch64_frecp<FRECP:frecp_suffix><mode>): New.
(aarch64_frecps<mode>): Likewise.
* config/aarch64/iterators.md (FRECP): New.
(frecp_suffix): Likewise.
* config/aarch64/arm_neon.h
(vrecp<esx><qsd>_<fd><32, 64>): Convert to using builtins.

gcc/testsuite/
* gcc.target/aarch64/vrecps.c: New.
* gcc.target/aarch64/vrecpx.c: Likewise.

From-SVN: r198136

11 years agoexp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as null statement if ignored.
Yannick Moy [Mon, 22 Apr 2013 10:58:05 +0000 (10:58 +0000)]
exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as null statement if ignored.

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

* exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as
null statement if ignored.
* sem_ch6.adb (Expand_Contract_Cases): Do nothing if pragma is ignored.
* sem_prag.adb (Analyze_Pragma): Keep analyzing ignored pragmas.

From-SVN: r198135

11 years ago[multiple changes]
Arnaud Charlet [Mon, 22 Apr 2013 10:52:55 +0000 (12:52 +0200)]
[multiple changes]

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

* sem_prag.adb (Analyze_Contract_Case): New routine.
(Analyze_Pragma): Aspect/pragma Contract_Cases can
now be associated with a library level subprogram.
Add circuitry to detect illegal uses of aspect/pragma Contract_Cases
in a subprogram body.
(Chain_Contract_Cases): Rename formal parameter Subp_Decl to
Subp_Id. Remove local constant Subp. The entity of the subprogram
is now obtained via the formal paramter.

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

* sem_ch3.adb (Analyze_Object_Declaration): Do not set
Is_Constr_Subt_For_Unc_Aliased on the subtype of the expression,
if the expression is a source entity.

From-SVN: r198134

11 years ago[multiple changes]
Arnaud Charlet [Mon, 22 Apr 2013 10:50:34 +0000 (12:50 +0200)]
[multiple changes]

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

* exp_prag.adb, sinfo.ads, sem_prag.ads: Minor correction of typos in
comments.
* sem_ch6.adb (Expand_Contract_Cases): Add location to message.

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

* sem_prag.adb (Fix_Error): For a pragma rewritten from another
pragma, fix up error message to include original pragma name.
* par_sco.adb: Minor reformatting.

From-SVN: r198133

11 years agosem_prag.adb, [...]: Minor reformatting.
Robert Dewar [Mon, 22 Apr 2013 10:48:43 +0000 (10:48 +0000)]
sem_prag.adb, [...]: Minor reformatting.

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

* sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb,
sem_ch6.adb, opt.ads: Minor reformatting.

From-SVN: r198132

11 years agoexp_ch6.adb: Omit check for init proc.
Ed Schonberg [Mon, 22 Apr 2013 10:47:36 +0000 (12:47 +0200)]
exp_ch6.adb: Omit check for init proc.

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

* exp_ch6.adb: Omit check for init proc.

From-SVN: r198131

11 years ago[multiple changes]
Arnaud Charlet [Mon, 22 Apr 2013 10:44:46 +0000 (12:44 +0200)]
[multiple changes]

2013-04-22  Pascal Obry  <obry@adacore.com>

* gnat_ugn.texi, prj-nmsc.adb, projects.texi: Add check for
Library_Standalone and Library_Kind.

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

* exp_ch6.adb (Expand_Actuals): If the call is to an
inherited operation and the actual is a by-reference type with
predicates, add predicate call to post-call actions.
* sem_util.adb (Is_Inherited_Operation_For_Type): Fix coding
error: a type declaration has a defining identifier, not an Etype.
* sem_res.adb: Restore code removed because of above error.

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

* init.c (__gnat_handle_vms_condition): Also match C$_SIGINT.

From-SVN: r198130

11 years ago[multiple changes]
Arnaud Charlet [Mon, 22 Apr 2013 10:42:42 +0000 (12:42 +0200)]
[multiple changes]

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

* gnat_rm.texi, exp_util.adb, sem_prag.adb, sem_prag.ads, par-ch2.adb,
opt.ads, sem_ch13.adb: Minor correction of typos in comments/doc.

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

* prj-nmsc.adb (Check_Library_Attributes): Set Library_Dir to
No_Path_Information only when Directories_Must_Exist_In_Projects
is False.
(Get_Directories): Set Object_Directory
or Exec_Directory to No_Path_Information only when
Directories_Must_Exist_In_Projects is False.

From-SVN: r198129

11 years agopar-prag.adb, [...]: Remove all references to Pragma_Contract_Case and Name_Contract_...
Yannick Moy [Mon, 22 Apr 2013 10:41:08 +0000 (10:41 +0000)]
par-prag.adb, [...]: Remove all references to Pragma_Contract_Case and Name_Contract_Case.

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

* par-prag.adb, sem_attr.adb, sem_ch6.adb, sem_prag.adb, sem_warn.adb,
snames.ads-tmpl, sinfo.ads, sem_util.ads: Remove all references to
Pragma_Contract_Case and Name_Contract_Case.

From-SVN: r198128

11 years agoaspects.ads, [...]: Removal of references to Contract_Case.
Yannick Moy [Mon, 22 Apr 2013 10:38:57 +0000 (10:38 +0000)]
aspects.ads, [...]: Removal of references to Contract_Case.

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

* aspects.ads, aspects.adb, sem_ch13.adb: Removal of references to
Contract_Case.
* gnat_ugn.texi, gnat_rm.texi Description of Contract_Case replaced by
description of Contract_Cases.

From-SVN: r198127

11 years agore PR libstdc++/57010 ([c++0x] priority_queue<>::pop() calls self-move-assignment...
Paolo Carlini [Mon, 22 Apr 2013 10:07:31 +0000 (10:07 +0000)]
re PR libstdc++/57010 ([c++0x] priority_queue<>::pop() calls self-move-assignment operator)

2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/57010
* include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
* testsuite/25_algorithms/pop_heap/57010.cc: New.

From-SVN: r198125

11 years agofix date
Christian Bruel [Mon, 22 Apr 2013 07:39:54 +0000 (09:39 +0200)]
fix date

From-SVN: r198124

11 years agore PR target/56995 (sh4 -mfmovd: ICE in find_costs_and_classes)
Christian Bruel [Mon, 22 Apr 2013 07:16:21 +0000 (09:16 +0200)]
re PR target/56995 (sh4 -mfmovd: ICE in find_costs_and_classes)

2013-04-18  Christian Bruel  <christian.bruel@st.com>

       PR target/56995
       * config/sh/sh.h (enum reg_class): Remove DF_HI_REGS.
       (REG_CLASS_NAMES): Idem.
       (REG_CLASS_CONTENTS): Idem.
       (REGCLASS_HAS_FP_REG): Idem.
       * config/sh/sh.c (sh_cannot_change_mode_class): Idem.
       (sh_conditional_register_usage): Idem.

From-SVN: r198123

11 years agotree-ssa-forwprop.c (simplify_conversion_from_bitmask): New function.
Jeff Law [Mon, 22 Apr 2013 02:59:00 +0000 (20:59 -0600)]
tree-ssa-forwprop.c (simplify_conversion_from_bitmask): New function.

* tree-ssa-forwprop.c (simplify_conversion_from_bitmask): New function.
(ssa_forward_propagate_and_combine): Use it.

* gcc.dg/tree-ssa/forwprop-26.c: New test.

From-SVN: r198121

11 years agoDaily bump.
GCC Administrator [Mon, 22 Apr 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198120

11 years agosystem_error.cc (generic_category_instance): Add initializer.
Evgeniy Stepanov [Sun, 21 Apr 2013 08:40:24 +0000 (08:40 +0000)]
system_error.cc (generic_category_instance): Add initializer.

2013-04-21  Evgeniy Stepanov  <eugenis@google.com>

* src/c++11/system_error.cc (generic_category_instance): Add
initializer.
(system_category_instance): Likewise.
* src/c++11/future.cc (__fec): Likewise.

From-SVN: r198115

11 years agoDaily bump.
GCC Administrator [Sun, 21 Apr 2013 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198113

11 years ago* doc/xml/manual/extensions.xml: Fix anachronism.
Jonathan Wakely [Sat, 20 Apr 2013 19:40:28 +0000 (19:40 +0000)]
* doc/xml/manual/extensions.xml: Fix anachronism.

From-SVN: r198110

11 years agore PR fortran/56907 (C_LOC shall not call internal-PACK when an array argument is...
Tobias Burnus [Sat, 20 Apr 2013 11:01:55 +0000 (13:01 +0200)]
re PR fortran/56907 (C_LOC shall not call internal-PACK when an array argument is used)

2013-04-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56907
        * trans-intrinsic.c (conv_isocbinding_function): Don't pack
        * array
        passed to C_LOC

2013-04-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56907
        * gfortran.dg/c_loc_test_22.f90: New.

From-SVN: r198109

11 years agoDaily bump.
GCC Administrator [Sat, 20 Apr 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198108

11 years agolra.c: Update the flow chart diagram.
Vladimir Makarov [Fri, 19 Apr 2013 21:09:33 +0000 (21:09 +0000)]
lra.c: Update the flow chart diagram.

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

* lra.c: Update the flow chart diagram.

From-SVN: r198102

11 years agore PR rtl-optimization/56847 ('-fpie' triggers - internal compiler error: in gen_add2...
Vladimir Makarov [Fri, 19 Apr 2013 19:55:57 +0000 (19:55 +0000)]
re PR rtl-optimization/56847 ('-fpie' triggers - internal compiler error: in gen_add2_insn, at optabs.c:4705)

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

PR rtl-optimization/56847
* lra-constraints.c (process_alt_operands): Discourage alternative
with non-matche doffsettable memory constraint fro memory with
known offset.

From-SVN: r198101

11 years agoN3638 changes to return type deduction
Jason Merrill [Fri, 19 Apr 2013 16:28:24 +0000 (12:28 -0400)]
N3638 changes to return type deduction

* decl.c (undeduced_auto_decl): New.
(require_deduced_type): New.
(fndecl_declared_return_type): New.
(decls_match): Use it.
(duplicate_decls): Don't check for auto return.
(grokdeclarator): Reject virtual auto.
* class.c (resolve_address_of_overloaded_function): Handle
auto function templates.
* decl2.c (mark_used): Use undeduced_auto_decl, require_deduced_type.
* cp-tree.h: Declare new fns.
* error.c (dump_function_decl): Use fndecl_declared_return_type.
* search.c (check_final_overrider): Likewise.
* pt.c (make_decltype_auto): New.
(do_auto_deduction): Require plain decltype(auto).
(is_auto): Adjust.

From-SVN: r198099

11 years agoDR 941
Jason Merrill [Fri, 19 Apr 2013 16:28:03 +0000 (12:28 -0400)]
DR 941

DR 941
* decl.c (duplicate_decls): Don't propagate DECL_DELETED_FN to
template specializations.

From-SVN: r198098

11 years agore PR tree-optimization/56982 (Bad optimization with setjmp())
Richard Biener [Fri, 19 Apr 2013 13:39:16 +0000 (13:39 +0000)]
re PR tree-optimization/56982 (Bad optimization with setjmp())

2013-04-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56982
* builtins.def (BUILT_IN_LONGJMP): longjmp is not a leaf
function.
* gimplify.c (gimplify_call_expr): Notice special calls.
(gimplify_modify_expr): Likewise.
* tree-cfg.c (make_abnormal_goto_edges): Handle setjmp-like
abnormal control flow receivers.
(call_can_make_abnormal_goto): Handle cfun->calls_setjmp
in the same way as cfun->has_nonlocal_labels.
(gimple_purge_dead_abnormal_call_edges): Likewise.
(stmt_starts_bb_p): Make setjmp-like abnormal control flow
receivers start a basic-block.

* gcc.c-torture/execute/pr56982.c: New testcase.

From-SVN: r198096

11 years agore PR tree-optimization/56270 (loop over array of struct float causes compiler error...
Richard Biener [Fri, 19 Apr 2013 13:37:12 +0000 (13:37 +0000)]
re PR tree-optimization/56270 (loop over array of struct float causes compiler error: segmentation fault)

2013-04-19  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (struct _slp_instance): Move load_permutation
member ...
(struct _slp_tree): ... here.  Make it a vector of unsigned ints.
(SLP_INSTANCE_LOAD_PERMUTATION): Remove.
(SLP_TREE_LOAD_PERMUTATION): Add.
(vect_transform_slp_perm_load): Adjust prototype.
* tree-vect-slp.c (vect_free_slp_tree): Adjust.
(vect_free_slp_instance): Likewise.
(vect_create_new_slp_node): Likewise.
(vect_supported_slp_permutation_p): Remove.
(vect_slp_rearrange_stmts): Adjust.
(vect_supported_load_permutation_p): Likewise.  Inline
vect_supported_slp_permutation_p here.
(vect_analyze_slp_instance): Compute load permutations per
slp node instead of per instance.
(vect_get_slp_defs): Adjust.
(vect_transform_slp_perm_load): Likewise.
(vect_schedule_slp_instance): Remove redundant code.
(vect_schedule_slp): Remove hack for PR56270, add it ...
* tree-vect-stmts.c (vectorizable_load): ... here, do not
CSE loads for SLP.  Adjust.

From-SVN: r198095

11 years agoarm.c (load_multiple_sequence, [...]): Fix spelling in two comments.
Greta Yorsh [Fri, 19 Apr 2013 13:25:09 +0000 (14:25 +0100)]
arm.c (load_multiple_sequence, [...]): Fix spelling in two comments.

2013-04-19  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.c (load_multiple_sequence, ldm_stm_operation_p): Fix
spelling in two comments.

From-SVN: r198093

11 years agore PR target/56797 (internal compiler error: in extract_insn, at recog.c:2150)
Greta Yorsh [Fri, 19 Apr 2013 12:55:26 +0000 (13:55 +0100)]
re PR target/56797 (internal compiler error: in extract_insn, at recog.c:2150)

2013-04-19  Greta Yorsh  <Greta.Yorsh@arm.com>

PR target/56797
* config/arm/arm.c (load_multiple_sequence): Require SP
as base register for loads if SP is in the register list.

From-SVN: r198091

11 years agosfp-machine.h (_FP_W_TYPE): Change to define as 'unsigned long long' instead of ...
Yufeng Zhang [Fri, 19 Apr 2013 12:17:26 +0000 (12:17 +0000)]
sfp-machine.h (_FP_W_TYPE): Change to define as 'unsigned long long' instead of 'unsigned long'.

libgcc/

* config/aarch64/sfp-machine.h (_FP_W_TYPE): Change to define
as 'unsigned long long' instead of 'unsigned long'.
(_FP_WS_TYPE): Change to define as 'signed long long' instead of
'signed long'.

From-SVN: r198090