gcc.git
9 years agoexp_ch6.adb (Process_Contract_Cases_For): Update the call to Expand_Pragma_Contract_C...
Hristian Kirtchev [Tue, 26 May 2015 09:20:53 +0000 (09:20 +0000)]
exp_ch6.adb (Process_Contract_Cases_For): Update the call to Expand_Pragma_Contract_Cases.

2015-05-26  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch6.adb (Process_Contract_Cases_For): Update the call to
Expand_Pragma_Contract_Cases.
* exp_prag.ads, exp_prag.adb (Expand_Contract_Cases): Rename to
Expand_Pragma_Contract_Cases.
* sem_ch13.adb (Add_Invariants): Use the original aspect name
when creating the arguments of pragma Check. This ensures that
'Class is properly recognized and handled.

From-SVN: r223671

9 years agotree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
Richard Biener [Tue, 26 May 2015 09:03:53 +0000 (09:03 +0000)]
tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...

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

* tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
(vect_analyze_loop_operations): ... here.  Remove slp parameter,
detect whether we apply SLP.  Remove call to
vect_update_slp_costs_according_to_vf.
(vect_analyze_loop_2): Call vect_update_vf_for_slp and
vect_update_slp_costs_according_to_vf from here.  Dispatch
to vect_slp_analyze_operations to analyze SLP stmts.
* tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
unused bb_vec_info parameter, adjust assert.
(vect_slp_analyze_operations): Pass in the slp instance tree
instead of bb_vec_info.
(vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
* tree-vectorizer.h (vect_slp_analyze_operations): Declare.

From-SVN: r223670

9 years agognat1drv.adb: Minor adjustments.
Arnaud Charlet [Tue, 26 May 2015 08:19:55 +0000 (08:19 +0000)]
gnat1drv.adb: Minor adjustments.

* gnat1drv.adb: Minor adjustments.
(Adjust_Global_Switches): Disable some related flags in CodePeer mode.
* sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
Stop_Subtree_Climbind): Code cleanup.
* einfo.ads: Minor comment change.

From-SVN: r223669

9 years ago[multiple changes]
Arnaud Charlet [Tue, 26 May 2015 08:17:51 +0000 (10:17 +0200)]
[multiple changes]

2015-05-26  Javier Miranda  <miranda@adacore.com>

* sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
Code cleanup.
* sem_ch3.adb (Build_Derived_Record_Type,
Record_Type_Declaration): Code cleanup.
* sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
Stop_Subtree_Climbind): Tables which speed up the identification
of dangerous calls to Ada 2012 functions with writable actuals
(AI05-0144).
(Analyze_Arithmetic_Op, Analyze_Call, Analyze_Comparison_Op,
Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
Analyze_Range): Code cleanup.
(Is_Arbitrary_Evaluation_Order_Construct): Removed.
(Check_Writable_Actuals): Code cleanup using the added tables.
* sem_util.adb (Check_Function_Writable_Actuals): Return
immediately if the node does not have the flag Check_Actuals
set to True.

2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch6.adb (Add_Call_By_Copy_Code): Remove restrictive
condition in the detection of the effects of Remove_Side_Effects.
* exp_util.ads (Remove_Side_Effects): Add general and historical note.
* exp_util.adb (Is_Name_Reference): New predicate.
(Remove_Side_Effects): Use it in lieu of Is_Object_Reference
in order to decide whether to use the renaming to capture the
side effects of the subexpression.
(Side_Effect_Free): Remove obsolete test.

From-SVN: r223668

9 years ago[multiple changes]
Arnaud Charlet [Tue, 26 May 2015 08:15:24 +0000 (10:15 +0200)]
[multiple changes]

2015-05-26  Robert Dewar  <dewar@adacore.com>

* aspects.ads, aspects.adb: Add aspect Disable_Controlled.
* einfo.ads, einfo.adb (Disable_Controlled): New flag.
(Is_Controlled_Active): New function.
* exp_ch3.adb (Expand_Freeze_Record_Type): Use
Is_Controlled_Active.
* exp_util.adb (Needs_Finalization): Finalization not needed
if Disable_Controlled set.
* freeze.adb (Freeze_Array_Type): Do not set
Has_Controlled_Component if the component has Disable_Controlled.
(Freeze_Record_Type): ditto.
* sem_ch13.adb (Decorate): Minor reformatting.
(Analyze_Aspect_Specifications): Implement Disable_Controlled.
* sem_ch3.adb (Analyze_Object_Declaration): Handle
Disable_Controlled.
(Array_Type_Declaration): ditto.
(Build_Derived_Private_Type): ditto.
(Build_Derived_Type): ditto.
(Record_Type_Definition): ditto.
* snames.ads-tmpl: Add Name_Disable_Controlled.

2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch6.adb (Expand_Actuals): Use a constant declaration instead
of a renaming to capture the return value of a function call.
(Expand_Simple_Function_Return): Call Remove_Side_Effects
instead of removing side effects manually before the call to
_Postconditions.

From-SVN: r223667

9 years agoMinor reformatting.
Arnaud Charlet [Tue, 26 May 2015 08:12:26 +0000 (10:12 +0200)]
Minor reformatting.

From-SVN: r223666

9 years agoexp_ch4.adb (Expand_N_Op_Expon): Deal with problem of wrong order in calling Duplicat...
Robert Dewar [Tue, 26 May 2015 08:12:15 +0000 (08:12 +0000)]
exp_ch4.adb (Expand_N_Op_Expon): Deal with problem of wrong order in calling Duplicate_Subexpr.

2015-05-26  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb (Expand_N_Op_Expon): Deal with problem of wrong
order in calling Duplicate_Subexpr.
* einfo.ads: Fix documentation of Object/Value size for scalar types.

From-SVN: r223665

9 years agoexp_aggr.adb (Build_Array_Aggr_Code, Gen_Assign): If a component is default-initializ...
Ed Schonberg [Tue, 26 May 2015 08:10:46 +0000 (08:10 +0000)]
exp_aggr.adb (Build_Array_Aggr_Code, Gen_Assign): If a component is default-initialized and its type has an invariant procedure...

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

* exp_aggr.adb (Build_Array_Aggr_Code, Gen_Assign):
If a component is default-initialized and its type has an
invariant procedure, insert an invariant test after code for
default-initialization of the component.

From-SVN: r223664

9 years ago[multiple changes]
Arnaud Charlet [Tue, 26 May 2015 08:08:03 +0000 (10:08 +0200)]
[multiple changes]

2015-05-26  Gary Dismukes  <dismukes@adacore.com>

* einfo.ads, sem_util.adb, sem_ch4.adb: Minor reformatting.

2015-05-26  Robert Dewar  <dewar@adacore.com>

* exp_unst.adb, exp_unst.ads: Change to using Subps table index for
making AREC entity names unique.

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

* sem_cat.adb (Has_Stream_Attribute_Definition): If the type
has aspect specifications, examine the corresponding list of
representation items to determine whether there is a visible
stream operation. The attribute definition clause generated from
the aspect will be inserted at the freeze point of the type,
which may be in the private part and not directly visible,
but the aspect makes the operation available to a client.

From-SVN: r223663

9 years agosem_util.adb: Minor code reorganization.
Robert Dewar [Tue, 26 May 2015 08:06:51 +0000 (08:06 +0000)]
sem_util.adb: Minor code reorganization.

2015-05-26  Robert Dewar  <dewar@adacore.com>

* sem_util.adb: Minor code reorganization.
* sem_ch6.adb: Minor reformatting.

From-SVN: r223662

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

From-SVN: r223661

9 years agoutils.c (maybe_pad_type): Do not apply adjustment to original size for elementary...
Eric Botcazou [Mon, 25 May 2015 21:30:39 +0000 (21:30 +0000)]
utils.c (maybe_pad_type): Do not apply adjustment to original size for elementary types before issuing...

* gcc-interface/utils.c (maybe_pad_type): Do not apply adjustment to
original size for elementary types before issuing the size warning.

From-SVN: r223657

9 years agotargtyps.c (get_float_words_be): Rename into...
Eric Botcazou [Mon, 25 May 2015 21:12:39 +0000 (21:12 +0000)]
targtyps.c (get_float_words_be): Rename into...

* gcc-interface/targtyps.c (get_float_words_be): Rename into...
(get_target_float_words_be): ...this.
(get_words_be): Rename into...
(get_target_words_be): ...this.
(get_bytes_be): Rename into...
(get_target_bytes_be): ...this.
(get_bits_be): Rename into...
(get_target_bits_be): ...this.
* gcc-interface/gigi.h (standard_datatypes): Remove ADT_ptr_void_type.
(ptr_void_type_node): Delete.
(get_target_float_size): Likewise.
(get_target_double_size): Likewise.
(get_target_long_double_size): Likewise.
(get_float_words_be): Likewise.
(get_words_be): Likewise.
(get_bytes_be): Likewise.
(get_bits_be): Likewise.
(get_target_float_words_be): Declare.
(get_target_words_be): Likewise.
(get_target_bytes_be): Likewise.
(get_target_bits_be): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity): Replace ptr_void_type_node
with ptr_type_node.
(intrin_return_compatible_p): Likewise.
* gcc-interface/trans.c (gigi): Likewise.
* gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
(maybe_wrap_free): Likewise.
* gcc-interface/utils.c (maybe_pad_type): Remove superfluous space.
* gcc-interface/misc.c (gnat_init): Do not set ptr_void_type_node.

From-SVN: r223656

9 years agodecl.c (elaborate_expression): Take a const string suffix instead of a tree.
Eric Botcazou [Mon, 25 May 2015 21:09:25 +0000 (21:09 +0000)]
decl.c (elaborate_expression): Take a const string suffix instead of a tree.

* gcc-interface/decl.c (elaborate_expression): Take a const string
suffix instead of a tree.
(elaborate_expression_1): Likewise.
(elaborate_expression_2): Likewise.
(gnat_to_gnu_entity): Adjust to above changes.
(build_subst_list): Likewise.
(get_entity_char): New static function.

From-SVN: r223655

9 years agodecl.c (gnat_to_gnu_entity): Move around.
Eric Botcazou [Mon, 25 May 2015 21:05:03 +0000 (21:05 +0000)]
decl.c (gnat_to_gnu_entity): Move around.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Move around.
<E_Exception>: Merge with E_Variable case.
<E_Variable>: Remove 'object' label.

From-SVN: r223654

9 years agodecl.c (gnat_to_gnu_entity): Minor tweak.
Eric Botcazou [Mon, 25 May 2015 20:59:27 +0000 (20:59 +0000)]
decl.c (gnat_to_gnu_entity): Minor tweak.

* gcc-interface/decl.c (gnat_to_gnu_entity): Minor tweak.
* gcc-interface/trans.c (finalize_nrv_unc_r): Use CONSTRUCTOR_ELT.
* gcc-interface/utils.c (convert): Likewise and simplify.
(remove_conversions): Likewise.
* gcc-interface/utils2.c (compare_fat_pointers): Likewise.
(build_unary_op): Likewise and simplify.

From-SVN: r223653

9 years agogigi.h (build_atomic_load): Adjust prototype.
Eric Botcazou [Mon, 25 May 2015 20:18:44 +0000 (20:18 +0000)]
gigi.h (build_atomic_load): Adjust prototype.

* gcc-interface/gigi.h (build_atomic_load): Adjust prototype.
(build_atomic_store): Likewise.
(build_load_modify_store): Declare.
(VECTOR_TYPE_P): Delete.
* gcc-interface/decl.c (gnat_to_gnu_entity): Replace Is_Atomic with
Is_Atomic_Or_VFA throughout.
<E_Array_Type>: Build a variant of the XUA type instead of forcing
TYPE_VOLATILE on it.
<E_Array_Subtype>: Use the main variant of the base type.
Do not force TYPE_VOLATILE on the type being built.
<E_Record_Type>: Likewise.
<E_Array_Subtype>: Likewise.
<E_Subprogram_Type>: Rename local variable.
Add Atomic qualifier in conjunction with Volatile on types if needed.
Force BLKmode for by-ref types only at the end of the processing.
Change qualifiers only after changing the mode of the type.  Set
TYPE_UNIVERSAL_ALIASING_P on the type directly.
(check_ok_for_atomic_type): Issue specific error message for VFA.
(gnat_to_gnu_component_type): Replace Is_Atomic with
Is_Atomic_Or_VFA throughout.
* gcc-interface/misc.c (gnat_get_alias_set): Test
TYPE_UNIVERSAL_ALIASING_P on the type directly.
* gcc-interface/trans.c (lvalue_required_p): Replace Is_Atomic with
Is_Atomic_Or_VFA throughout.  Add missing guard.
(node_is_atomic): New predicate.
(node_has_volatile_full_access): Likewise.
(gnat_strip_type_conversion): New function.
(outer_atomic_access_required_p): New predicate.
(atomic_sync_required_p): Rename into...
(atomic_access_required_p): ...this.  Add SYNC parameter, scan the
parent node first and then look for the atomic setting.  Add support
for Volatile_Full_Access.
(Call_to_gnu): Add atomic_access and outer_atomic_access parameters
and adjusts calls to above functions.  Use load-modify-store sequence
for updates of In/Out and Out parameters if required, as well as for
moving the result to the target if required.  Add couple of missing
guards.
(gnat_to_gnu): Adjust calls to above functions.
<N_Object_Renaming_Declaration>: If the renamed object has side-effects
evaluate only its address.
<N_Assignment_Statement>: Adjust call to Call_to_gnu.  Use load-modify
store sequence if required.
<N_Function_Call>: Adjust call to Call_to_gnu.
(extract_values): Adjust comment.
* gcc-interface/utils2.c (build_atomic_load): Add SYNC parameter and
use relaxed memory model if it is not set.
(build_atomic_store): Likewise.
(call_is_atomic_load): New predicate.
(build_load_modify_store): New function.
(build_binary_op) <MODIFY_EXPR>: Accept SAVE_EXPR on the LHS.
(gnat_stabilize_reference) <CALL_EXPR>: Deal with atomic loads.

From-SVN: r223652

9 years agoi386.h (enum reg_class): Move CLOBBERED_REGS prior to Q_REGS.
Alexander Monakov [Mon, 25 May 2015 18:07:26 +0000 (21:07 +0300)]
i386.h (enum reg_class): Move CLOBBERED_REGS prior to Q_REGS.

* config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
Q_REGS.  Expand comment.
(REG_CLASS_NAMES): Ditto.
(REG_CLASS_CONTENTS): Ditto.
testsuite:
* gcc.target/i386/pr66232-1.c: Adjust scan pattern.
* gcc.target/i386/pr66232-3.c: Likewise.

From-SVN: r223650

9 years agore PR target/66274 (gcc6: x86 -m32 emits 64bit register in inline asm)
Uros Bizjak [Mon, 25 May 2015 17:49:28 +0000 (19:49 +0200)]
re PR target/66274 (gcc6: x86 -m32 emits 64bit register in inline asm)

PR target/66274
* config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
when LEGACY_INT_REGNO_P is processed.

testsuite/ChangeLog:

PR target/66274
* gcc.target/i386/pr66274.c: New test.

From-SVN: r223649

9 years ago* config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
Alexander Monakov [Mon, 25 May 2015 17:44:45 +0000 (20:44 +0300)]
* config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.

From-SVN: r223648

9 years agoavr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base register if not marked dead...
Pitchumani Sivanupandi [Mon, 25 May 2015 16:43:05 +0000 (16:43 +0000)]
avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base register if not marked dead/unused, before return.

* config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
register if not marked dead/unused, before return.

From-SVN: r223647

9 years ago* c-ubsan.c (ubsan_instrument_shift): Use type0.
Marek Polacek [Mon, 25 May 2015 15:46:01 +0000 (15:46 +0000)]
* c-ubsan.c (ubsan_instrument_shift): Use type0.

From-SVN: r223646

9 years agoada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...
Eric Botcazou [Mon, 25 May 2015 14:00:28 +0000 (14:00 +0000)]
ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...

* gcc-interface/ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...
(DECL_GLOBAL_NONCONSTANT_RENAMING_P): ...this.
* gcc-interface/gigi.h (record_global_renaming_pointer): Delete.
(invalidate_global_renaming_pointers): Likewise.
(record_global_nonconstant_renaming): New.
(invalidate_global_nonconstant_renamings): Likewise.
(get_inner_constant_reference): Likewise.
(gnat_constant_reference_p): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Adjust to above
and register the renaming pointer only if the object is non-constant.
(elaborate_expression_1): Call get_inner_constant_reference instead
of get_inner_reference.
* gcc-interface/trans.c (fold_constant_decl_in_expr): Minor tweak.
(Identifier_to_gnu): Adjust to above and do not recheck the renamed
object before substituting it.
(Compilation_Unit_to_gnu): Adjust to above renaming.  Minor tweaks.
(gnat_to_gnu) <N_Object_Renaming_Declaration>: Do not return the
result at the global level.
(N_Exception_Renaming_Declaration): Likewise.
* gcc-interface/utils.c (global_renaming_pointers): Rename into...
(global_nonconstant_renamings): ...this.
(destroy_gnat_utils): Adjust to above renaming.
(record_global_renaming_pointer): Rename into...
(record_global_nonconstant_renaming): ...this.
(invalidate_global_renaming_pointers): Rename into...
(invalidate_global_nonconstant_renamings): ...this and do not recheck
the renamed object before invalidating.
* gcc-interface/utils2.c (gnat_stabilize_reference): Minor tweak.
(get_inner_constant_reference): New public function.
(gnat_constant_reference_p): New predicate.

From-SVN: r223644

9 years agoeinfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute is now present...
Javier Miranda [Mon, 25 May 2015 12:37:37 +0000 (12:37 +0000)]
einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute is now present in subprograms...

2015-05-25  Javier Miranda  <miranda@adacore.com>

* einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute
is now present in subprograms, generic subprograms, entries and
entry families.
* sem_ch6.adb (Set_Formal_Mode): Set As_Out_Or_In_Out_Parameter
on entries, entry families, subprograms and generic subprograms.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
Minor code reorganization to ensure that the Ekind attribute
of the subprogram entity is set before its formals are
processed. Required to allow the use of the attribute
Has_Out_Or_In_Out_Parameter on the subprogram entity.
* sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
Perform the check on writable actuals only if the value of some
component of the aggregate involves calling a function with
out-mode parameters.
(Resolve_Record_Aggregate): Propagate the Check_Actuals flag to the
internally built aggregate.
* sem_ch3.adb (Build_Derived_Record_Type, Record_Type_Declaration):
Perform the check on writable actuals only if the initialization of
some component involves calling a function with out-mode parameters.
* sem_ch4.adb (Analyze_Arithmetic_Op, Analyze_Comparison_Op,
Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
Analyze_Range): Check writable actuals only if the
subtrees have a call to a function with out-mode parameters
(Analyze_Call.Check_Writable_Actuals): New subprogram. If the call
has out or in-out parameters then mark its outermost enclosing
construct as a node on which the writable actuals check must
be performed.
(Analyze_Call): Check if the flag must be set and if the outermost
enclosing construct.
* sem_util.adb (Check_Function_Writable_Actuals): Code cleanup
and reorganization. We skip processing aggregate discriminants
since their precise analysis involves two phases traversal.
* sem_res.adb (Resolve_Actuals, Resolve_Arithmetic_Op,
Resolve_Logical_Op, Resolve_Membership_Op): Remove call to
check_writable_actuals.

From-SVN: r223643

9 years agopr64317.c: Use 'dg-require-effective-target ia32' and 'dg-require-effective-target...
Andreas Tobler [Mon, 25 May 2015 08:50:43 +0000 (10:50 +0200)]
pr64317.c: Use 'dg-require-effective-target ia32' and 'dg-require-effective-target pie'.

2015-05-25  Andreas Tobler  <andreast@gcc.gnu.org>

        * gcc.target/i386/pr64317.c: Use 'dg-require-effective-target ia32'
and 'dg-require-effective-target pie'.

From-SVN: r223642

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

From-SVN: r223640

9 years agore PR c++/66243 (enum class value is allowed to be initialized by value from other...
Nathan Sidwell [Sun, 24 May 2015 23:17:58 +0000 (23:17 +0000)]
re PR c++/66243 (enum class value is allowed to be initialized by value from other enum class)

cp/
PR c++/66243
* decl.c (build_enumerator): Don't silently convert scoped enums.

testsuite/
PR c++/66243
* g++.dg/cpp0x/pr66243.C: New.

From-SVN: r223636

9 years ago* configure: Regenerate.
Eric Botcazou [Sun, 24 May 2015 21:58:37 +0000 (21:58 +0000)]
* configure: Regenerate.

From-SVN: r223635

9 years ago* ChangLog: Fix whitespace.
Uros Bizjak [Sun, 24 May 2015 19:57:47 +0000 (21:57 +0200)]
* ChangLog: Fix whitespace.

From-SVN: r223634

9 years agore PR lto/66180 (many -Wodr false positives when building LLVM with -flto)
Jan Hubicka [Sun, 24 May 2015 19:38:14 +0000 (21:38 +0200)]
re PR lto/66180 (many -Wodr false positives when building LLVM with -flto)

PR lto/66180
* ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
is set; check for assembler name at LTO time.
(type_in_anonymous_namespace): Remove hacks, check that all
anonymous types are called "<anon>"
(odr_type_p): Simplify; add check for "<anon>"
(odr_subtypes_equivalent): Add odr_type_p check.
* tree.c (need_assembler_name_p): Even anonymous namespace needs
assembler name.
* mangle.c (mangle_decl): Mangle anonymous namespace types as
"<anon>".
* g++.dg/lto/pr66180_0.C: New testcase.
* g++.dg/lto/pr66180_1.C: New testcase.

From-SVN: r223633

9 years agore PR fortran/66257 (ELEMENTAL procedure pointer component XX is not allowed as an...
Mikael Morin [Sun, 24 May 2015 14:55:50 +0000 (14:55 +0000)]
re PR fortran/66257 (ELEMENTAL procedure pointer component XX is not allowed as an actual argument)

PR fortran/66257
gcc/fortran/
* resolve.c (resolve_actual_arglist): Don't throw an error
if the argument with procedure pointer component is not a variable.
gcc/testsuite/
* typebound_call_27.f90: New file.

From-SVN: r223631

9 years agoipa-utils.h (method_class_type): Remove.
Jan Hubicka [Sun, 24 May 2015 06:13:44 +0000 (08:13 +0200)]
ipa-utils.h (method_class_type): Remove.

* ipa-utils.h (method_class_type): Remove.
* cgraphunit.c (walk_polymorphic_call_targets): Use TYPE_METHOD_BASETYPE.
* ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
on main variants only.
(method_class_type): Remove.
(update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
(build_type_inheritance_graph): Likewise.
* ipa-icf.c (sem_function::equals_wpa): Likewise.
* pa-polymorphic-call.c (decl_maybe_in_construction_p,
check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.

From-SVN: r223629

9 years agotree.c (prototype_p, [...]): Constify.
Jan Hubicka [Sun, 24 May 2015 04:22:35 +0000 (06:22 +0200)]
tree.c (prototype_p, [...]): Constify.

* tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
is_typedef_decl, typedef_variant_p): Constify.
* tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
is_typedef_decl, typedef_variant_p): Constify.

From-SVN: r223628

9 years agoadd default for HAVE_tablejump
Trevor Saunders [Sun, 24 May 2015 00:33:06 +0000 (00:33 +0000)]
add default for HAVE_tablejump

gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (gen_tablejump): New function.
(HAVE_tablejump): Add default value.
* expr.c: Adjust.
* stmt.c: Likewise.

From-SVN: r223625

9 years agoadd default for HAVE_store_multiple
Trevor Saunders [Sun, 24 May 2015 00:33:00 +0000 (00:33 +0000)]
add default for HAVE_store_multiple

gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (gen_store_multiple): New function.
(HAVE_store_multiple): Add default value.
* expr.c (move_block_from_reg): Adjust.

From-SVN: r223624

9 years agoadd default for HAVE_load_multiple
Trevor Saunders [Sun, 24 May 2015 00:32:54 +0000 (00:32 +0000)]
add default for HAVE_load_multiple

gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (gen_load_multiple): New function.
(HAVE_load_multiple): Add default value.
* expr.c (move_block_to_reg): Adjust.

From-SVN: r223623

9 years agoprovide default for HAVE_mem_signal_fence
Trevor Saunders [Sun, 24 May 2015 00:32:49 +0000 (00:32 +0000)]
provide default for HAVE_mem_signal_fence

gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (gen_mem_signal_fence): New function.
(HAVE_mem_signal_fence): Add default value.
* optabs.c: Adjust.

From-SVN: r223622

9 years agoalways define HAVE_memory_barrier
Trevor Saunders [Sun, 24 May 2015 00:32:43 +0000 (00:32 +0000)]
always define HAVE_memory_barrier

gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (gen_memory_barrier): New function.
(HAVE_memory_barrier): Add default value.
* optabs.c: Adjust.

From-SVN: r223621

9 years agoprovide default for HAVE_mem_thread_fence
Trevor Saunders [Sun, 24 May 2015 00:32:37 +0000 (00:32 +0000)]
provide default for HAVE_mem_thread_fence

gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (gen_mem_thread_fence): New function.
(HAVE_mem_thread_fence): Add default definition.
* optabs.c: Adjust.

From-SVN: r223620

9 years agoalways define HAVE_lo_sum
Trevor Saunders [Sun, 24 May 2015 00:32:31 +0000 (00:32 +0000)]
always define HAVE_lo_sum

gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* combine.c (find_split_point): Check the value of HAVE_lo_sum
instead of if it is defined.
(combine_simplify_rtx): Likewise.
* lra-constraints.c (process_address_1): Likewise.
* config/darwin.c: Adjust.
* genconfig.c (main): Always define HAVE_lo_sum.

From-SVN: r223619

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

From-SVN: r223618

9 years agore PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagn...
Manuel López-Ibáñez [Sat, 23 May 2015 23:02:52 +0000 (23:02 +0000)]
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)

gcc/fortran/ChangeLog:

2015-05-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* gfortran.h (struct gfc_error_buf): Rename as
gfc_error_buffer. Move closer to push, pop and free
methods. Reimplement using an output_buffer.
* error.c (errors, warnings, warning_buffer, cur_error_buffer):
Delete everywhere in this file.
(error_char): Delete all contents.
(gfc_increment_error_count): Delete.
(gfc_error_now): Update comment. Set error_buffer.flag.
(gfc_warning_check): Do not handle warning_buffer.
(gfc_error_1): Delete.
(gfc_error_now_1): Delete.
(gfc_error_check): Simplify.
(gfc_move_error_buffer_from_to): Renamed from
gfc_move_output_buffer_from_to.
(gfc_push_error): Handle only gfc_error_buffer.
(gfc_pop_error): Likewise.
(gfc_free_error): Likewise.
(gfc_get_errors): Remove warnings and errors.
(gfc_diagnostics_init): Use static error_buffer.
(gfc_error_1,gfc_error_now_1): Delete declarations.
* symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
frontend-passes.c, resolve.c, match.c, parse.c: Replace
gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
everywhere.
* f95-lang.c (gfc_be_parse_file): Do not update errorcount and
warningcount here.
* primary.c (match_complex_constant): Replace gfc_error_buf and
output_buffer with gfc_error_buffer.

From-SVN: r223614

9 years agore PR c++/65936 (ICE: canonical types differ for identical types)
Nathan Sidwell [Sat, 23 May 2015 22:28:54 +0000 (22:28 +0000)]
re PR c++/65936 (ICE: canonical types differ for identical types)

cp/
PR c++/65936
* pt.c (lookup_template_class_1): Copy may_alias attribute too.

testsuite/
PR c++/65936
* g++.dg/template/pr65936.C: New.

From-SVN: r223613

9 years agogenmatch.c (parser::parse_operation): Reject expanding operator-list inside 'for'.
Prathamesh Kulkarni [Sat, 23 May 2015 21:22:18 +0000 (21:22 +0000)]
genmatch.c (parser::parse_operation): Reject expanding operator-list inside 'for'.

2015-05-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* genmatch.c (parser::parse_operation): Reject expanding operator-list inside 'for'.

From-SVN: r223612

9 years agoFix date in ChangeLog entry for r223610
Prathamesh Kulkarni [Sat, 23 May 2015 19:53:51 +0000 (19:53 +0000)]
Fix date in ChangeLog entry for r223610

From-SVN: r223611

9 years agogenmatch.c (parser::parse_for): Reject iterator if used as operator-list.
Prathamesh Kulkarni [Sat, 23 May 2015 19:52:05 +0000 (19:52 +0000)]
genmatch.c (parser::parse_for): Reject iterator if used as operator-list.

2015-05-23  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* genmatch.c (parser::parse_for): Reject iterator if used as operator-list.

From-SVN: r223610

9 years agogenmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN after end of...
Prathamesh Kulkarni [Sat, 23 May 2015 19:36:32 +0000 (19:36 +0000)]
genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN after end of id-list.

2015-05-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN after end of id-list.

From-SVN: r223609

9 years agolto.c (hash_canonical_type): Be sure we hash only types that need alias set.
Jan Hubicka [Sat, 23 May 2015 18:25:41 +0000 (20:25 +0200)]
lto.c (hash_canonical_type): Be sure we hash only types that need alias set.

* lto.c (hash_canonical_type): Be sure we hash only types that
need alias set.
(gimple_register_canonical_type_1): Do not produce canonical
types for types that do not need alias sets.
* tree.c (gimple_canonical_types_compatible_p): Sanity check that
we do not try to compute canonical type for type that does not need
alias set.
(verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
FUNCITON_TYPE.
* tree.h (type_with_alias_set_p): New.

From-SVN: r223608

9 years ago* lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
Jan Hubicka [Sat, 23 May 2015 14:32:26 +0000 (16:32 +0200)]
* lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.

From-SVN: r223607

9 years agotree.c (gimple_canonical_types_compatible_p): Do not compare function attributes.
Jan Hubicka [Sat, 23 May 2015 13:51:26 +0000 (15:51 +0200)]
tree.c (gimple_canonical_types_compatible_p): Do not compare function attributes.

* tree.c (gimple_canonical_types_compatible_p):  Do not compare
function attributes.
(verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.

From-SVN: r223606

9 years ago2015-05-23 François Dumont fdumont@gcc.gnu.org>
François Dumont [Sat, 23 May 2015 11:17:38 +0000 (11:17 +0000)]
2015-05-23  François Dumont  fdumont@gcc.gnu.org>

PR libstdc++/64657
* include/debug/functions.h (__check_sorted_aux): Cast expression to
void.

From-SVN: r223605

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

From-SVN: r223603

9 years agoMakefile.in (check_gcc_parallelize): Delete.
Jim Wilson [Fri, 22 May 2015 23:39:06 +0000 (23:39 +0000)]
Makefile.in (check_gcc_parallelize): Delete.

gcc/
* Makefile.in (check_gcc_parallelize): Delete.
(lang_checks_parallelized): Update comment.
gcc/c
* Make-lang.in (check_gcc_pallelize): Define.
gcc/cp
* Make-lang.in (check_g++_parallelize): Update comment.
gcc/fortran
* Make-lang.in (check_gfortran_parallelize): Update comment.

From-SVN: r223597

9 years agore PR rtl-optimization/66237 (FAIL: gcc.dg/tree-prof/pr34999.c compilation, -fprofil...
Mikhail Maltsev [Fri, 22 May 2015 22:58:22 +0000 (22:58 +0000)]
re PR rtl-optimization/66237 (FAIL: gcc.dg/tree-prof/pr34999.c compilation,  -fprofile-use -D_PROFILE_USE (internal compiler error))

PR rtl-optimization/66237

* bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
location of an "as_a" cast.

From-SVN: r223596

9 years agopa.md (non-canonical shift-add insns): Remove.
Jeff Law [Fri, 22 May 2015 21:25:26 +0000 (15:25 -0600)]
pa.md (non-canonical shift-add insns): Remove.

* config/pa/pa.md (non-canonical shift-add insns): Remove.
(peepholes with non-canonical RTL sources): Remove.
(peepholes for indexed stores of FP regs in integer modes): Match and
generate canonical RTL.

From-SVN: r223592

9 years agore PR other/63387 (Optimize pairs of isnan() calls into a single isunordered())
Marc Glisse [Fri, 22 May 2015 21:05:26 +0000 (23:05 +0200)]
re PR other/63387 (Optimize pairs of isnan() calls into a single isunordered())

2015-05-22  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/63387
gcc/
* match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
((x ord x) & (y ord y) -> (x ord y),
(x ord x) & (x ord y) -> (x ord y)): New simplifications.
* fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
vectors like scalars.
gcc/testsuite/
* gcc.dg/pr63387-2.c: New testcase.

From-SVN: r223591

9 years agoconvert.c (convert_to_integer, [...]): Include the types in the error message.
Marc Glisse [Fri, 22 May 2015 20:59:27 +0000 (22:59 +0200)]
convert.c (convert_to_integer, [...]): Include the types in the error message.

2015-05-22  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* convert.c (convert_to_integer, convert_to_vector): Include the
types in the error message.
gcc/testsuite/
* gcc.dg/simd-1.c: Update to the new message.

From-SVN: r223590

9 years agolibiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is not defined.
Yunlian Jiang [Fri, 22 May 2015 20:53:45 +0000 (20:53 +0000)]
libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is not defined.

include/:
* libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is
not defined.
libiberty/:
* configure.ac: Add AC_GNU_SOURCE.
* Makefile.in (COMPILE.c): Add -D_GNU_SOURCE.
* configure, config.in: Rebuild.
* floatformat.c (_GNU_SOURCE): Don't define if already defined.

From-SVN: r223589

9 years agomatch.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New simplifications.
Marc Glisse [Fri, 22 May 2015 20:37:04 +0000 (22:37 +0200)]
match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New simplifications.

2015-05-22  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
simplifications.
gcc/testsuite/
* gcc.dg/nand.c: New testcase.

From-SVN: r223587

9 years agopa.md (integer_indexed_store splitters): Use mem_shadd_operand.
Jeff Law [Fri, 22 May 2015 20:17:09 +0000 (14:17 -0600)]
pa.md (integer_indexed_store splitters): Use mem_shadd_operand.

* config/pa/pa.md (integer_indexed_store splitters): Use
mem_shadd_operand.  Use ASHIFT rather than MULT in the resulting
insns -- adjusting the constant 2nd operand accordingly.

From-SVN: r223586

9 years agocombine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into (plus (ashift X...
Jeff Law [Fri, 22 May 2015 20:08:43 +0000 (14:08 -0600)]
combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into (plus (ashift X log2) Y) if...

* combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
(plus (ashift X log2) Y) if it is a split point.

* gcc.target/hppa/shadd-3.c: New test.

From-SVN: r223583

9 years agoadvsimd-intrinsics.exp: Set dg-do-what-default to compile only on ARM targets without...
Sandra Loosemore [Fri, 22 May 2015 16:34:35 +0000 (12:34 -0400)]
advsimd-intrinsics.exp: Set dg-do-what-default to compile only on ARM targets without arm_neon_hw...

2015-05-22  Sandra Loosemore  <sandra@codesourcery.com>

gcc/testsuite/
* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
Set dg-do-what-default to compile only on ARM targets without
arm_neon_hw execution support.  Remove redundant c-torture-execute
in loop over test cases.

From-SVN: r223580

9 years agopa.c (mem_shadd_or_shadd_rtx_p): New function factored out of hppa_legitimize_address...
Jeff Law [Fri, 22 May 2015 16:13:07 +0000 (10:13 -0600)]
pa.c (mem_shadd_or_shadd_rtx_p): New function factored out of hppa_legitimize_address to handle both forms of a...

* pa.c (mem_shadd_or_shadd_rtx_p): New function factored out
of hppa_legitimize_address to handle both forms of a multiply
by 2, 4 or 8.
(hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
Always generate the ASHIFT variant as the result is not directly
used in a MEM.  Update comments and refactor slightly to improve
readability.

From-SVN: r223579

9 years agoconfig.host (i[34567]-*-*, x86_64-*-*): Add t-crtfm instead of i386/t-crtfm to tmake_...
Uros Bizjak [Fri, 22 May 2015 14:39:22 +0000 (16:39 +0200)]
config.host (i[34567]-*-*, x86_64-*-*): Add t-crtfm instead of i386/t-crtfm to tmake_file.

* config.host (i[34567]-*-*, x86_64-*-*): Add t-crtfm instead of
i386/t-crtfm to tmake_file.
* config/i386/crtfastmath.c (set_fast_math_sse): New function.
(set_fast_math): Use set_fast_math_sse for SSE targets.
* config/i386/t-crtfm: Remove.

From-SVN: r223578

9 years ago[AArch64] PR target/65491: Classify V1TF vectors as AAPCS64 short vectors rather...
Kyrylo Tkachov [Fri, 22 May 2015 14:36:27 +0000 (14:36 +0000)]
[AArch64] PR target/65491: Classify V1TF vectors as AAPCS64 short vectors rather than composite types

PR target/65491
* config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
aarch64_composite_type_p.  Remove check for aarch64_composite_type_p.
(aarch64_composite_type_p): Return false if given type and mode are
for a short vector.

PR target/65491
* gcc.target/aarch64/pr65491_1.c: New test.
* gcc.target/aarch64/aapcs64/type-def.h (vlf1_t): New typedef.
* gcc.target/aarch64/aapcs64/func-ret-1.c: Add test for vlf1_t.

From-SVN: r223577

9 years agore PR c++/65598 (Fix column location for 'explicit')
Paolo Carlini [Fri, 22 May 2015 14:14:38 +0000 (14:14 +0000)]
re PR c++/65598 (Fix column location for 'explicit')

/cp
2015-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65598
* decl.c (grokdeclarator): Use the correct location in error
messages about 'explicit'.

/testsuite
2015-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65598
* g++.dg/cpp0x/explicit9.C: New.
* g++.dg/cpp0x/explicit8.C: Check the locations too.

From-SVN: r223576

9 years agotree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern member.
Richard Biener [Fri, 22 May 2015 13:52:58 +0000 (13:52 +0000)]
tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern member.

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

* tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
member.
* tree-vect-loop.c (vect_analyze_loop_operations): Look at
patterns when determining whether SLP is pure.
(vect_is_slp_reduction): Remove check for pattern stmts.
(vect_is_simple_reduction_1): Remove dead code.
* tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
(vect_get_and_check_slp_defs): Pass in the stmt number.
Allow the first def in a reduction to be not a pattern stmt when
the rest of the stmts def are patterns.
(vect_build_slp_tree_1): Allow tcc_expression codes like
SAD_EXPR and DOT_PROD_EXPR.
(vect_build_slp_tree): Adjust.
(vect_analyze_slp): Refactor and move BB vect error message ...
(vect_slp_analyze_bb_1): ... here.

From-SVN: r223574

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 13:33:18 +0000 (15:33 +0200)]
[multiple changes]

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

* sem_ch3.adb (Constrain_Concurrent): If the context is a
type declaration, generate an Itype_Reference for the anonymous
subtype, to force elaboration at this point in gigi.

2015-05-22  Gary Dismukes  <dismukes@adacore.com>

* layout.adb, einfo.ads, sem_ch12.adb, freeze.adb, sem_util.ads,
exp_ch4.adb, sem_ch6.adb: Minor reformatting and typo fixes.

From-SVN: r223573

9 years agotree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P for CSWTCH temporary.
Aldy Hernandez [Fri, 22 May 2015 13:31:29 +0000 (13:31 +0000)]
tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P for CSWTCH temporary.

* tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
for CSWTCH temporary.

From-SVN: r223572

9 years agofix to use rvalue where expected
Nathan Sidwell [Fri, 22 May 2015 13:22:19 +0000 (13:22 +0000)]
fix to use rvalue where expected

From-SVN: r223571

9 years agoMinor reformatting.
Arnaud Charlet [Fri, 22 May 2015 13:19:46 +0000 (15:19 +0200)]
Minor reformatting.

From-SVN: r223570

9 years agosem_res.adb (Resolve_Actuals): If the call is to an overridden operation...
Ed Schonberg [Fri, 22 May 2015 13:17:54 +0000 (13:17 +0000)]
sem_res.adb (Resolve_Actuals): If the call is to an overridden operation...

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

* sem_res.adb (Resolve_Actuals): If the call is to an overridden
operation, replace the names of the actuals in named associations
with the names of the actuals of the subprogram that is eventually
executed. The names of the formals and the defaults can differ
between the two operations when they are operations of a formal
derived type.

From-SVN: r223569

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 13:09:47 +0000 (15:09 +0200)]
[multiple changes]

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

* a-convec.ads, a-convec.adb (Append): Check for fast path. Split
out slow path into separate procedure. Inline Append. Fast path
now avoids calling Insert.
(Finalize): Do the busy checking last, so the container gets emptied.
(Insert, Insert_Space): Remove redundancy.

2015-05-22  Robert Dewar  <dewar@adacore.com>

* switch-c.adb (Scan_Front_End_Switches): Insist on -gnatc
for -gnatd.V.

From-SVN: r223567

9 years agognatvsn.ads: Minor code reorg to remember more easily to update variables.
Arnaud Charlet [Fri, 22 May 2015 13:06:34 +0000 (13:06 +0000)]
gnatvsn.ads: Minor code reorg to remember more easily to update variables.

* gnatvsn.ads: Minor code reorg to remember more easily to update
variables.

From-SVN: r223566

9 years agosem_ch10.adb (Analyze_With_Clause): In ASIS_Mode...
Ed Schonberg [Fri, 22 May 2015 13:04:01 +0000 (13:04 +0000)]
sem_ch10.adb (Analyze_With_Clause): In ASIS_Mode...

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

* sem_ch10.adb (Analyze_With_Clause): In ASIS_Mode, a
limited_with clause on a predefined unit is not transformed into
a regular with_clause, to preserve the original tree structure.
* sinfo.ads (N_With_Clause): Add comment on handling of
Limited_With.
* sem_ch10.adb: Minor reformatting.

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

* sem_ch8.adb (Freeze_Profile): A limited view of a type in
the profile of a subprogram renaming does not require freezing,
because it is declared in a different unit.

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

* exp_aggr.adb (Get_Constraint_Association): If type (of ancestor
composite type) is private, go to full view. This was previously
done only in an instance context, but is happen whenever a chain
of private extensions includes one inherited discriminant.

From-SVN: r223565

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 13:01:37 +0000 (15:01 +0200)]
[multiple changes]

2015-05-22  Robert Dewar  <dewar@adacore.com>

* einfo.ads: Minor comment updates.
* exp_unst.adb: Move Subps table to spec Don't remove old entries
from table Add Last field to record last entry used.
* exp_unst.ads: Move Subps table here from body So that Cprint
can access saved values.

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

* a-cdlili.adb, a-cdlili.ads, a-cohama.adb, a-cohama.ads,
* a-cohase.adb, a-cohase.ads, a-convec.adb, a-convec.ads,
* a-coorma.adb, a-coorma.ads, a-coorse.adb, a-coorse.ads:
(Pseudo_Reference, Element_Access, Get_Element_Access): New
declarations added for use by performance improvements in exp_ch5.adb.
* snames.ads-tmpl: New names referenced by exp_ch5.adb.
* exp_ch5.adb: Speed up "for ... of" loops for predefined containers.
Instead of doing literally what the RM calls for, we do something
equivalent that avoids expensive operations inside the loop. If the
container package has appropriate Next, Pseudo_Reference,
Element_Access, Get_Element_Access declarations, we invoke the
optimization.
* snames.ads-tmpl: Note speed improvement.

From-SVN: r223563

9 years agoeinfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.
Eric Botcazou [Fri, 22 May 2015 12:56:34 +0000 (12:56 +0000)]
einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.

2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

* einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.
* xeinfo.adb: Replace a-einfo.h with einfo.h throughout.
Add pattern to translate "or else" into "||".

From-SVN: r223562

9 years agoeinfo.ads (Has_Volatile_Full_Access): Rename into...
Eric Botcazou [Fri, 22 May 2015 12:54:59 +0000 (12:54 +0000)]
einfo.ads (Has_Volatile_Full_Access): Rename into...

2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

* einfo.ads (Has_Volatile_Full_Access): Rename into...
(Is_Volatile_Full_Access): ...this.
(Set_Has_Volatile_Full_Access): Rename into...
(Set_Is_Volatile_Full_Access): ...this.
* einfo.adb (Has_Volatile_Full_Access): Rename into...
(Is_Volatile_Full_Access): ...this.
(Set_Has_Volatile_Full_Access): Rename into...
(Set_Is_Volatile_Full_Access): ...this.
(Is_Atomic_Or_VFA): Adjust to above renaming.
* errout.adb (Special_Msg_Delete): Likewise.
* exp_pakd.adb (Install_PAT): Likewise.
* freeze.adb (Freeze_Array_Type): Likewise.
* sem_ch8.adb (Analyze_Object_Renaming): Likewise.
* sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise.
(Inherit_Aspects_At_Freeze_Point): Likewise.
* sem_prag.adb (Set_Atomic_VFA): Likewise.
(Process_Atomic_Independent_Shared_Volatile): Likewise.
* sem_util.adb (Is_Atomic_Or_VFA_Object): Likewise.

From-SVN: r223561

9 years agoexp_ch5.adb, [...]: This is a general change that deals with the fact that most of...
Robert Dewar [Fri, 22 May 2015 12:53:21 +0000 (12:53 +0000)]
exp_ch5.adb, [...]: This is a general change that deals with the fact that most of the special...

2015-05-22  Robert Dewar  <dewar@adacore.com>

* exp_ch5.adb, layout.adb, einfo.adb, einfo.ads, sem_prag.adb,
freeze.adb, freeze.ads, sem_util.adb, sem_util.ads, exp_ch2.adb,
exp_ch4.adb, errout.adb, exp_aggr.adb, sem_ch13.adb: This is a general
change that deals with the fact that most of the special coding for
Atomic should also apply to the case of Volatile_Full_Access.
A new attribute Is_Atomic_Or_VFA is introduced, and many of the
references to Is_Atomic now use this new attribute.

From-SVN: r223560

9 years agoexp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result comparison.
Robert Dewar [Fri, 22 May 2015 12:51:36 +0000 (12:51 +0000)]
exp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result comparison.

2015-05-22  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result
comparison.

From-SVN: r223559

9 years ago[ARM] Handle UNSPEC_VOLATILE in rtx costs and don't recurse inside the unspec
Kyrylo Tkachov [Fri, 22 May 2015 12:51:34 +0000 (12:51 +0000)]
[ARM] Handle UNSPEC_VOLATILE in rtx costs and don't recurse inside the unspec

* config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
(arm_unspec_cost): Allow UNSPEC_VOLATILE.  Do not recurse inside
unknown unspecs.

From-SVN: r223558

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 12:50:35 +0000 (14:50 +0200)]
[multiple changes]

2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

* sprint.adb (Source_Dump): When generating debug files, deal
with the case of a stand-alone package instantiation by dumping
together the spec and the body in the common debug file.

2015-05-22  Robert Dewar  <dewar@adacore.com>

* sem_ch13.adb (Minimum_Size): Size is zero for null range
discrete subtype.

2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Anonymous_Master): This attribute now applies
to package and subprogram bodies.
(Set_Anonymous_Master): This attribute now applies to package and
subprogram bodies.
(Write_Field36_Name): Add output for package and subprogram bodies.
* einfo.ads Update the documentation on attribute Anonymous_Master
along with occurrences in entities.
* exp_ch4.adb (Create_Anonymous_Master): Reimplemented to
handle spec and body anonymous masters of the same unit.
(Current_Anonymous_Master): Reimplemented. Handle a
package instantiation that acts as a compilation unit.
(Insert_And_Analyze): Reimplemented.

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

* sem_ch10.adb (Analyze_With_Clause): A limited_with_clause on a
predefined unit is treated as a regular with_clause.

From-SVN: r223557

9 years agoMinor reformatting.
Arnaud Charlet [Fri, 22 May 2015 12:46:00 +0000 (14:46 +0200)]
Minor reformatting.

From-SVN: r223556

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 12:45:14 +0000 (14:45 +0200)]
[multiple changes]

2015-05-22  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb, prj.ads, makeutl.ads, sem_ch6.adb, prj-nmsc.adb,
prj-conf.adb, sem_disp.adb: Minor reformatting.

2015-05-22  Vincent Celier  <celier@adacore.com>

* clean.adb (Parse_Cmd_Line): For native gnatclean, check
for switch -P and, if found and gprclean is available, invoke
silently gprclean.
* make.adb (Initialize): For native gnatmake, check for switch -P
and, if found and gprbuild is available, invoke silently gprbuild.

2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch13.adb (Validate_Unchecked_Conversions): Also issue
specific warning for discrete types when the source is larger
than the target.

From-SVN: r223555

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 12:42:05 +0000 (14:42 +0200)]
[multiple changes]

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

* einfo.ads, einfo.adb (Incomplete_Actuals): New attribute of
package instantiations. Holds the list of actuals in the instance
that are incomplete types, to determine where the corresponding
instance body must be placed.
* sem_ch6.adb (Conforming_Types): An incomplete type used as an
actual in an instance matches an incomplete formal.
* sem_disp.adb (Check_Dispatching_Call): Handle missing case of
explicit dereference.
(Inherited_Subprograms): In the presence of a limited view there
are no subprograms to inherit.
* sem_ch12.adb (Preanalyze_Actuals): Build list of incomplete
actuals of instance, for later placement of instance body and
freeze nodes for actuals.
(Install_Body): In the presence of actuals that incomplete types
from a limited view, the instance body cannot be placed after
the declaration because full views have not been seen yet. Any
use of the non-limited views in the instance body requires
the presence of a regular with_clause in the enclosing unit,
and will fail if this with_clause is missing.  We place the
instance body at the beginning of the enclosing body, which is
the unit being compiled, and ensure that freeze nodes for the
full views of the incomplete types appear before the instance.

2015-05-22  Pascal Obry  <obry@adacore.com>

* makeutl.ads, prj-conf.adb, prj-nmsc.adb, prj.ads
(In_Place_Option): Removed.
(Relocate_Build_Tree_Option): New constant.
(Root_Dir_Option): New constant.
(Obj_Root_Dir): Removed.
(Build_Tree_Dir): New variable.
(Root_Src_Tree): Removed.
(Root_Dir): New variable.
* prj-conf.adb (Get_Or_Create_Configuration_File): Add check
for improper relocation.
* prj-nmsc.adb (Locate_Directory): Add check for improper
relocation.

From-SVN: r223553

9 years agore PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c...
Richard Biener [Fri, 22 May 2015 12:34:46 +0000 (12:34 +0000)]
re PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1484)

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

PR tree-optimization/66251
* tree-vect-stmts.c (vectorizable_conversion): Properly
set STMT_VINFO_VEC_STMT even for the SLP case.

* gfortran.fortran-torture/compile/pr66251.f90: New testcase.

From-SVN: r223552

9 years agoeinfo.adb (Default_Init_Cond_Procedure): Code cleanup.
Hristian Kirtchev [Fri, 22 May 2015 12:34:33 +0000 (12:34 +0000)]
einfo.adb (Default_Init_Cond_Procedure): Code cleanup.

2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Default_Init_Cond_Procedure): Code cleanup. The
attribute now applies to the base type.
(Has_Default_Init_Cond): Now applies to the base type.
(Has_Inherited_Default_Init_Cond): Now applies to the base type.
(Set_Default_Init_Cond_Procedure): Code cleanup. The attribute now
applies to the base type.
(Set_Has_Default_Init_Cond): Now applies to the base type.
(Set_Has_Inherited_Default_Init_Cond): Now applies to the base type.
* exp_ch3.adb (Expand_N_Object_Declaration): No need to use the
base type when adding a call to the Default_Initial_Condition.

From-SVN: r223551

9 years ago2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
Hristian Kirtchev [Fri, 22 May 2015 12:32:55 +0000 (12:32 +0000)]
2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb Node36 is now used as Anonymous_Master. Flag253
is now unused.
(Anonymous_Master): New routine.
(Has_Anonymous_Master): Removed.
(Set_Anonymous_Master): New routine.
(Set_Has_Anonymous_Master): Removed.
(Write_Entity_Flags): Remove the output for Has_Anonymous_Maser.
(Write_Field36_Name): Add output for Anonymous_Master.
* einfo.ads Add new attribute Anonymous_Master along with
occurrences in nodes. Remove attribute Has_Anonymous_Master along
with occurrences in nodes.
(Anonymous_Master): New routine along with pragma Inline.
(Has_Anonymous_Master): Removed along with pragma Inline.
(Set_Anonymous_Master): New routine along with pragma Inline.
(Set_Has_Anonymous_Master): Removed along with pragma Inline.
* exp_ch4.adb (Create_Anonymous_Master): New routine.
(Current_Anonymous_Master): Reimplemented.

From-SVN: r223550

9 years agofreeze.adb (Freeze_Profile): Suppress warning if imported subprogram is not at librar...
Bob Duff [Fri, 22 May 2015 12:31:03 +0000 (12:31 +0000)]
freeze.adb (Freeze_Profile): Suppress warning if imported subprogram is not at library level.

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

* freeze.adb (Freeze_Profile): Suppress warning if imported
subprogram is not at library level.

From-SVN: r223549

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 10:53:29 +0000 (12:53 +0200)]
[multiple changes]

2015-05-22  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb (Analyze_Object_Renaming): Check for renaming
component of an object to which Volatile_Full_Access applies.

2015-05-22  Jerome Guitton  <guitton@adacore.com>

* exp_dbug.ads: Add note about non bit-packed arrays.

2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>

* sem_prag.adb: Fix typo.
* einfo.ads: Grammar fixes in comments.

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

* a-cborma.ads, a-cidlli.ads, a-cimutr.ads, a-ciormu.ads,
* a-cihase.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
* a-cborse.ads, a-comutr.ads, a-ciorma.ads, a-cobove.ads,
* a-coormu.ads, a-convec.ads, a-cohase.ads, a-coinho.ads,
* a-cbdlli.ads, a-cbmutr.ads, a-cbhase.ads, a-cdlili.ads,
* a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
* a-coinho-shared.ads (Constant_Reference_Type, Reference_Type):
Add an initialization expression "raise Program_Error". See,
for example, RM-A.18.2(148.4).

From-SVN: r223548

9 years agofix some dates in ChangeLogs
Trevor Saunders [Fri, 22 May 2015 10:50:49 +0000 (10:50 +0000)]
fix some dates in ChangeLogs

From-SVN: r223547

9 years agodebug.adb: Update documentation.
Robert Dewar [Fri, 22 May 2015 10:50:19 +0000 (10:50 +0000)]
debug.adb: Update documentation.

2015-05-22  Robert Dewar  <dewar@adacore.com>

* debug.adb: Update documentation.
* einfo.ads, einfo.adb (Needs_Typedef): New flag
* exp_unst.adb (Unnest_Subprogram): Mark AREC types as needing
typedef's in C.
* frontend.adb: Update comments.
* gnat1drv.adb (Adjust_Global_Switches): Set all needed flags
for -gnatd.V
* opt.ads (Generate_C_Code): New switch.
* osint-c.adb (Write_C_File_Info): Removed, not used
(Write_H_File_Info): Removed, not used
* osint-c.ads (Write_C_File_Info): Removed, not used
(Write_H_File_Info): Removed, not used
* osint.ads (Write_Info): Minor comment updates.
(Output_FD): Moved from private part to public part of spec.
* sem.adb (Semantics): Force expansion on if in Generate_C_Code
mode.
* atree.ads: minor typo in comment.
* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
Do not allow VFA on composite object with aliased component.

From-SVN: r223546

9 years ago[multiple changes]
Arnaud Charlet [Fri, 22 May 2015 10:42:23 +0000 (12:42 +0200)]
[multiple changes]

2015-05-22  Arnaud Charlet  <charlet@adacore.com>

* osint-c.adb, osint-c.ads (Set_File_Name): Move back to spec.

2015-05-22  Pascal Obry  <obry@adacore.com>

* prj-util.adb: Minor comment editing.

From-SVN: r223545

9 years agoMinor reformatting.
Arnaud Charlet [Fri, 22 May 2015 10:40:27 +0000 (12:40 +0200)]
Minor reformatting.

From-SVN: r223544

9 years agomakeutl.ads (In_Place_Option): New constant.
Pascal Obry [Fri, 22 May 2015 10:40:07 +0000 (10:40 +0000)]
makeutl.ads (In_Place_Option): New constant.

2015-05-22  Pascal Obry  <obry@adacore.com>

* makeutl.ads (In_Place_Option): New constant.
* prj.ads (Obj_Root_Dir): New variable (absolute path to relocate
objects).
(Root_Src_Tree): New variable (absolute path of root source tree).
* prj-conf.adb (Do_Autoconf): Take into account the object root
directory (if defined) to generate configuration project.
* prj-nmsc.adb (Get_Directories): Handle case where Obj_Root_Dir
is defined.
(Locate_Directory): Likewise.

From-SVN: r223543

9 years agoprj-util.ads, [...] (Relative_Path): New routine.
Pascal Obry [Fri, 22 May 2015 10:38:07 +0000 (10:38 +0000)]
prj-util.ads, [...] (Relative_Path): New routine.

2015-05-22  Pascal Obry  <obry@adacore.com>

* prj-util.ads, prj-util.adb (Relative_Path): New routine.

From-SVN: r223542

9 years agoexp_utils.ads, [...] (Find_Optional_Prim_Op): New interface to return Empty when...
Bob Duff [Fri, 22 May 2015 10:36:56 +0000 (10:36 +0000)]
exp_utils.ads, [...] (Find_Optional_Prim_Op): New interface to return Empty when not found...

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

* exp_utils.ads, exp_utils.adb (Find_Optional_Prim_Op): New
interface to return Empty when not found, so we can avoid handling
Program_Error in that case.
(Find_Prim_Op): Fix latent bug: raise Program_Error when there are no
primitives.
* exp_ch7.adb, sem_util.adb: Use Find_Optional_Prim_Op when the
code is expecting Empty.
* sem_ch8.adb: Use Find_Optional_Prim_Op to avoid handling
Program_Error.

From-SVN: r223541

9 years agosem_ch3.adb, [...]: Remove incorrect hyphen in non-binary.
Robert Dewar [Fri, 22 May 2015 10:35:33 +0000 (10:35 +0000)]
sem_ch3.adb, [...]: Remove incorrect hyphen in non-binary.

2015-05-22  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_intr.adb, exp_ch4.adb, s-rannum.adb,
sem_eval.adb, s-fatgen.adb, s-expmod.ads: Remove incorrect hyphen in
non-binary.
* exp_util.adb: Add comment.
* osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move from spec to
body.
(Set_File_Name): New name for the above.
(Create_C_File, Create_H_File, Write_C_File_Info, Write_H_File_Info,
Close_C_File, Close_H_File): New procedure.
* osint.adb: Minor reformatting.
* osint.ads: Minor comment updates.

From-SVN: r223540

9 years agoexp_ch4.adb: Minor rewording.
Robert Dewar [Fri, 22 May 2015 10:32:15 +0000 (10:32 +0000)]
exp_ch4.adb: Minor rewording.

2015-05-22  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor rewording.
* exp_util.ads: Clarify that Find_Prim_Op is only for
tagged types.

From-SVN: r223539

9 years agoatree.adb, [...]: Change name Needs_Actuals_Check to Check_Actuals.
Robert Dewar [Fri, 22 May 2015 10:30:37 +0000 (10:30 +0000)]
atree.adb, [...]: Change name Needs_Actuals_Check to Check_Actuals.

2015-05-22  Robert Dewar  <dewar@adacore.com>

* atree.adb, atree.ads, treepr.adb: Change name Needs_Actuals_Check to
Check_Actuals.
* exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**x in modular
and overflow cases.

From-SVN: r223538