1. 26 May, 2015 1 commit
  2. 25 May, 2015 15 commits
    • utils.c (maybe_pad_type): Do not apply adjustment to original size for… · f42dd37f
      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
      Eric Botcazou committed
    • targtyps.c (get_float_words_be): Rename into... · 1366ba41
      	* 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
      Eric Botcazou committed
    • decl.c (elaborate_expression): Take a const string suffix instead of a tree. · bf44701f
      	* 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
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Move around. · 5277688b
      	* 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
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Minor tweak. · 2117b9bb
      	* 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
      Eric Botcazou committed
    • gigi.h (build_atomic_load): Adjust prototype. · f797c2b7
      	* 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
      Eric Botcazou committed
    • i386.h (enum reg_class): Move CLOBBERED_REGS prior to Q_REGS. · 2e24efd3
      	* 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
      Alexander Monakov committed
    • re PR target/66274 (gcc6: x86 -m32 emits 64bit register in inline asm) · 979455ea
      	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
      Uros Bizjak committed
    • avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base register if not marked… · 9e46366d
      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
      Pitchumani Sivanupandi committed
    • * c-ubsan.c (ubsan_instrument_shift): Use type0. · 9677ef52
      From-SVN: r223646
      Marek Polacek committed
    • ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into... · ea292448
      	* 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
      Eric Botcazou committed
    • einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute is now present in subprograms... · 288cbbbd
      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
      Javier Miranda committed
    • pr64317.c: Use 'dg-require-effective-target ia32' and 'dg-require-effective-target pie'. · 27742021
      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
      Andreas Tobler committed
    • Daily bump. · 627eba4c
      From-SVN: r223640
      GCC Administrator committed
  3. 24 May, 2015 15 commits
  4. 23 May, 2015 9 commits