1. 26 May, 2015 6 commits
    • Minor reformatting. · 2945460b
      From-SVN: r223666
      Arnaud Charlet committed
    • exp_ch4.adb (Expand_N_Op_Expon): Deal with problem of wrong order in calling Duplicate_Subexpr. · 5389e4ae
      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
      Robert Dewar committed
    • exp_aggr.adb (Build_Array_Aggr_Code, Gen_Assign): If a component is… · ffcfb997
      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
      Ed Schonberg committed
    • [multiple changes] · 551e1935
      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
      Arnaud Charlet committed
    • sem_util.adb: Minor code reorganization. · 07aa5e6f
      2015-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb: Minor code reorganization.
      	* sem_ch6.adb: Minor reformatting.
      
      From-SVN: r223662
      Robert Dewar committed
    • Daily bump. · 70ce4679
      From-SVN: r223661
      GCC Administrator committed
  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 4 commits
    • re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$… · fea70c99
      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
      Manuel López-Ibáñez committed
    • re PR c++/65936 (ICE: canonical types differ for identical types) · 84a3423b
      	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
      Nathan Sidwell committed
    • genmatch.c (parser::parse_operation): Reject expanding operator-list inside 'for'. · 94cbafd1
      2015-05-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* genmatch.c (parser::parse_operation): Reject expanding operator-list inside 'for'.
      
      From-SVN: r223612
      Prathamesh Kulkarni committed
    • Fix date in ChangeLog entry for r223610 · 7f0c6bad
      From-SVN: r223611
      Prathamesh Kulkarni committed