Yannick Moy [Wed, 24 Apr 2013 14:37:37 +0000 (14:37 +0000)]
snames.ads-tmpl: Minor change to list Loop_(In)variant not in configuration pragma.
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.
From-SVN: r198239
Arnaud Charlet [Wed, 24 Apr 2013 14:35:42 +0000 (16:35 +0200)]
[multiple changes]
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.
From-SVN: r198238
Arnaud Charlet [Wed, 24 Apr 2013 14:33:20 +0000 (16:33 +0200)]
[multiple changes]
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.
From-SVN: r198237
Arnaud Charlet [Wed, 24 Apr 2013 14:22:24 +0000 (16:22 +0200)]
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.
From-SVN: r198236
Arnaud Charlet [Wed, 24 Apr 2013 14:18:30 +0000 (16:18 +0200)]
[multiple changes]
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.
From-SVN: r198235
Yannick Moy [Wed, 24 Apr 2013 14:14:27 +0000 (14:14 +0000)]
adabkend.adb, [...]: Everything with name 'Alfa' renamed in 'SPARK'.
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.
From-SVN: r198234
Marek Polacek [Wed, 24 Apr 2013 14:04:44 +0000 (14:04 +0000)]
Prune SCEV
From-SVN: r198233
Paolo Carlini [Wed, 24 Apr 2013 13:58:11 +0000 (13:58 +0000)]
re PR c++/56970 (SFINAE does not apply correctly to sizeof.)
/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.
From-SVN: r198232
Robert Dewar [Wed, 24 Apr 2013 13:19:24 +0000 (13:19 +0000)]
gnat_rm.texi: Document pragma Assume.
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
From-SVN: r198231
Robert Dewar [Wed, 24 Apr 2013 13:18:21 +0000 (13:18 +0000)]
gnat_rm.texi: Document pragma Assert_And_Cut.
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.
From-SVN: r198230
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
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
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
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
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
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
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
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
Alan Modra [Wed, 24 Apr 2013 11:09:55 +0000 (20:39 +0930)]
fix comment pasto
From-SVN: r198221
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
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
GCC Administrator [Wed, 24 Apr 2013 00:16:37 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198216
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
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
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
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
Xinliang David Li [Tue, 23 Apr 2013 16:44:17 +0000 (16:44 +0000)]
Support slim switch for cfg graph dump
From-SVN: r198201
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
Arnaud Charlet [Tue, 23 Apr 2013 16:10:13 +0000 (18:10 +0200)]
Update dependencies.
From-SVN: r198199
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 23 Apr 2013 00:16:31 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198168
Xinliang David Li [Tue, 23 Apr 2013 00:14:38 +0000 (00:14 +0000)]
Display profile info in graph cfg dump
From-SVN: r198165
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
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
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
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
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
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
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
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
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
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
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
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
Jason Merrill [Mon, 22 Apr 2013 18:49:01 +0000 (14:49 -0400)]
* mangle.c (write_type): Mangle decltype(auto).
From-SVN: r198150
Uros Bizjak [Mon, 22 Apr 2013 17:05:26 +0000 (19:05 +0200)]
* testsuite/ChangeLog: Fix whitespace.
From-SVN: r198148
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Christian Bruel [Mon, 22 Apr 2013 07:39:54 +0000 (09:39 +0200)]
fix date
From-SVN: r198124
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
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
GCC Administrator [Mon, 22 Apr 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198120
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
GCC Administrator [Sun, 21 Apr 2013 00:16:36 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198113
Jonathan Wakely [Sat, 20 Apr 2013 19:40:28 +0000 (19:40 +0000)]
* doc/xml/manual/extensions.xml: Fix anachronism.
From-SVN: r198110
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