1. 14 Oct, 2013 2 commits
  2. 13 Oct, 2013 12 commits
    • Make-lang.in (ada/%.o): Replace individual rules with generic rule and add $(POSTCOMPILE). · 8219336f
      	* gcc-interface/Make-lang.in (ada/%.o): Replace individual rules with
      	generic rule and add $(POSTCOMPILE).
      	(ADA_DEPS): New.
      	(.adb.o): Add @$(ADA_DEPS).
      	(.ads.o): Likewise.
      	(ada/a-except.o): Likewise.
      	(ada/s-excdeb.): Likewise.
      	(ada/s-assert.o): Likewise.
      	(ada/a-tags.o): Likewise.
      	(ada_generated_files): New variable.
      	Use them as dependency order for GNAT1_ADA_OBJS and GNATBIND_OBJS.
      	(ADA_DEPFILES): New variable.
      	Include them.
      	(ada_OBJS): Define.
      
      Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
      
      From-SVN: r203508
      Nicolas Roche committed
    • decl.c (gnat_to_gnu_entity): Force all local variables with aggregate types in… · f036807a
      decl.c (gnat_to_gnu_entity): Force all local variables with aggregate types in memory if not optimizing.
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force all local
      	variables with aggregate types in memory if not optimizing.
      
      From-SVN: r203507
      Eric Botcazou committed
    • [multiple changes] · d67f5bbb
      2013-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Check_Mode): Do
      	not emit an error when we are looking at inputs and
      	the item is an unconstrained or tagged out parameter.
      	(Check_Mode_Restriction_In_Enclosing_Context): Use Get_Pragma
      	to find whether the context is subject to aspect/pragma Global.
      	(Collect_Subprogram_Inputs_Outputs): Unconstrained or tagged
      	out parameters are now considered inputs. Use Get_Pragma to
      	find wheher the subprogram is subject to aspect/pragma Global.
      	(Is_Unconstrained_Or_Tagged_Item): New routine.
      
      2013-10-13  Thomas Quinot  <quinot@adacore.com>
      
      	* einfo.ads: Minor reformatting.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      From-SVN: r203506
      Arnaud Charlet committed
    • gnat_rm.texi: Add documentation for pragmas Pre[_Class] Post[_Class]. · ff7a7e12
      2013-10-13  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Add documentation for pragmas Pre[_Class]
      	Post[_Class].
      	* par-ch2.adb (Skip_Pragma_Semicolon): Handle extra semicolon nicely.
      	* par-prag.adb: Add entries for pragmas Pre[_Class] and
      	Post[_Class].
      	* sem_prag.adb: Add handling of pragmas Pre[_Class] and
      	Post[_Class].
      	* sem_util.adb (Original_Aspect_Name): Moved here from
      	Sem_Prag.Original_Name, and modified to handle pragmas
      	Pre/Post/Pre_Class/Post_Class.
      	* sem_util.ads (Original_Aspect_Name): Moved here from
      	Sem_Prag.Original_Name.
      	* snames.ads-tmpl: Add entries for pragmas Pre[_Class] and
      	Post[_Class].
      
      2013-10-13  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.adb, sem_ch6.adb: Minor reformatting.
      
      From-SVN: r203505
      Robert Dewar committed
    • einfo.adb: Add node/list usage for Refined_State and Refinement_Constituents. · ab8843fa
      2013-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb: Add node/list usage for Refined_State
      	and Refinement_Constituents.
      	(Get_Pragma): Update the
      	initialization of Is_CDG to include Refined_Global and
      	Refined_Depends. Rename constant Delayed to In_Contract and update
      	all of its occurrences.
      	(Is_Non_Volatile_State): New routine.
      	(Is_Volatile_State): Removed.
      	(Refined_State): New routine.
      	(Refinement_Constituents): New routine.
      	(Set_Refined_State): New routine.
      	(Set_Refinement_Constituents): New routine.
      	(Write_Field8_Name): Add output for Refinement_Constituents.
      	(Write_Field10_Name): Add output for Refined_State.
      	* einfo.ads: Add new synthesized attribute Is_Non_Volatile_State.
      	Remove synthesized attribute Is_Volatile_State.  Add new
      	attributes Refined_State and Refinement_Constituents along with
      	usage in nodes.
      	(Get_Pragma): Update the comment on usage.
      	(Is_Non_Volatile_State): New routine.
      	(Is_Volatile_State): Removed.
      	(Refined_State): New routine and pragma Inline.
      	(Refinement_Constituents): New routine and pragma Inline.
      	(Set_Refined_State): New routine and pragma Inline.
      	(Set_Refinement_Constituents): New routine and pragma Inline.
      	* elists.ads, elists.adb (Clone): Removed.
      	(New_Copy_Elist): New routine.
      	(Remove): New routine.
      	* sem_ch3.adb (Analyze_Declarations): Use Defining_Entity
      	to get the entity of the subprogram [body].
      	(Analyze_Object_Declaration): Add initialization for
      	Refined_State.
      	* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing
      	for Refined_Global and Refined_Depends. Emit an error when
      	the body requires Refined_Global, but the aspect/pragma is
      	not present.
      	* sem_ch6.ads (Analyze_Subprogram_Body_Contract): Change
      	procedure signature and add comment on usage.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
      	for aspect Refined_Global.
      	* sem_prag.adb (Analyze_Abstract_State): Add initialization
      	of attributes Refined_State and Refinement_Constituents.
      	(Analyze_Depends_In_Decl_Part, Analyze_Global_In_Decl_Part,
      	Analyze_Contract_Cases_In_Decl_Part): Remove local
      	constant Arg1.
      	(Analyze_Pragma): Add processing for pragma
      	Refined_Global. The analysis of Refined_Post and Refined_Pre
      	has been merged. Update an error message in the processing of
      	pragma Refined_State.
      	(Analyze_Refined_Global_In_Decl_Part): Provide implementation.
      	(Analyze_Refined_Pragma): New routine.
      	(Analyze_Refined_Pre_Post_Condition): Removed.
      	(Analyze_Refined_State_In_Decl_Part): Update the call to Clone.
      	(Analyze_Refinement_Clause): Make State_Id visible to all
      	nested subprogram.
      	(Check_Matching_Constituent): Establish
      	a relation between a refined state and its constituent.
      	(Collect_Hidden_States_In_Decls): Remove ??? comment. Look at
      	the entity of the object declaration to establish its kind.
      	* sem_util.adb: Alphabetize with and use clauses.
      	(Contains_Refined_State): New routine.
      	* sem_util.ads (Contains_Refined_State): New routine.
      
      From-SVN: r203504
      Hristian Kirtchev committed
    • [multiple changes] · ad0d71b5
      2013-10-13  Thomas Quinot  <quinot@adacore.com>
      
      	* scos.ads: Minor documentation clarification.
      
      2013-10-13  Thomas Quinot  <quinot@adacore.com>
      
      	* s-oscons-tmplt.c (CLOCK_RT_Ada): Set to CLOCK_MONOTONIC when
      	building on AIX 5.3 or later, and to CLOCK_REALTIME on older
      	versions of AIX.
      	* init.c (pthread_condattr_setclock): Remove now useless weak symbol.
      	* thread.c(__gnat_pthread_condattr_setup): Remove bogus AIX 5.2
      	compatibility shim.
      	* s-osinte-aix.ads(clock_id_t): Fix C mapping (this is a 64-bit
      	type).
      	(clock_gettime): Import from C runtime library.
      	* s-osinte-aix.adb (clock_gettime): Remove bogus emulation body,
      	this routine is provided by the system in current supported
      	versions of AIX.
      
      2013-10-13  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb: Minor reformatting.
      
      2013-10-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb (Freeze_Entity): For a function whose return type
      	is incomplete, do not replace the type with the full view if the
      	type is a limited view.  In that case the full view appears in a
      	different unit, and the back-end will retrieve it at the proper
      	elaboration point.
      
      2013-10-13  Yannick Moy  <moy@adacore.com>
      
      	* exp_spark.adb (Expand_SPARK_Call): Do not introduce temporaries for
      	actuals.
      
      From-SVN: r203503
      Arnaud Charlet committed
    • [multiple changes] · cf895a01
      2013-10-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb: in Ada 2012 access_to_function types can have
      	in-out parameters.
      	(Derived_Type_Declaration): SPARK restriction
      	must be flagged on the original node, since it may have been
      	written as a subtype declaration.
      	(Analyze_Subtype_Declaration): Do not enter name of
      	entity in declaration if it is the current entity, because it may
      	have been inserted in a previous analysis and it appears in the
      	else_part of an if-statement that is rewritten during expansion.
      
      2013-10-13  Yannick Moy  <moy@adacore.com>
      
      	* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove procedure.
      	(Expand_SPARK): Remove call to Expand_SPARK_N_Attribute_Reference and
      	Expand_SPARK_N_Simple_Return_Statement.
      	(Expand_SPARK_N_Simple_Return_Statement,
       	Expand_SPARK_Simple_Function_Return): Remove procedures.
      
      From-SVN: r203502
      Arnaud Charlet committed
    • [multiple changes] · 409274f1
      2013-10-13  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Minor editing.
      
      2013-10-13  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Check_Abstract_Overriding): If a synchronized
      	operation implements an interface primitive, mark the operation
      	as referenced, to prevent usually spurious messages about unused
      	entities: such operations are called in dispatching select
      	statements that are not visible to the compiler.
      
      From-SVN: r203501
      Arnaud Charlet committed
    • re PR rtl-optimization/58662 (wrong code at -O2 for dumb condition) · 3246afaa
      	PR rtl-optimization/58662
      	* combine.c (try_combine): Take into account death nodes on I2 when
      	splitting a PARALLEL of two independent SETs.  Fix dump message.
      
      From-SVN: r203498
      Eric Botcazou committed
    • Daily bump. · 713b26d0
      From-SVN: r203495
      GCC Administrator committed
  3. 12 Oct, 2013 9 commits
    • re PR target/51244 ([SH] Inefficient conditional branch and code around T bit) · 5d30dc5b
      	PR target/51244
      	* config/sh/sh_treg_combine.cc: New SH specific RTL pass.
      	* config.gcc (SH extra_objs): Add sh_ifcvt.o.
      	* config/sh/t-sh (sh_treg_combine.o): New entry.
      	* config/sh/sh.c (sh_fixed_condition_code_regs): New function that
      	implements the target hook TARGET_FIXED_CONDITION_CODE_REGS.
      	(register_sh_passes): New function.  Register sh_treg_combine pass.
      	(sh_option_override): Invoke it.
      	(sh_canonicalize_comparison): Handle op0_preserve_value.
      	* sh.md (*cbranch_t"): Do not try to optimize missed test and branch
      	opportunities.  Canonicalize branch condition.
      	(nott): Allow only if pseudos can be created for non-SH2A.
      
      	PR target/51244
      	* gcc.dg/torture/p51244-21.c: New.
      	* gcc.target/sh/pr51244-20.c: New.
      	* gcc.target/sh/pr51244-20-sh2a.c: New.
      
      From-SVN: r203492
      Oleg Endo committed
    • Slightly related to PR/58645: · 585a0b99
      	* gnat.dg/specs/linker_section.ads: Update test.
      
      From-SVN: r203490
      Arnaud Charlet committed
    • ChangeLog: Fix whitespace. · adcfd489
      	* ChangeLog: Fix whitespace.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r203489
      Uros Bizjak committed
    • Truncate x32 DImode TLS address to a SImode register · 37d1c5db
      gcc/
      
      	PR target/58690
      	* config/i386/i386.c (ix86_copy_addr_to_reg): New function.
      	(ix86_expand_movmem): Replace copy_addr_to_reg with
      	ix86_copy_addr_to_reg.
      	(ix86_expand_setmem): Likewise.
      
      gcc/testsuite/
      
      	PR target/58690
      	* gcc.target/i386/pr58690.c: New test
      
      From-SVN: r203486
      H.J. Lu committed
    • i386.c (ix86_expand_sse_compare_and_jump): Use mode provided by… · b86a70ff
      i386.c (ix86_expand_sse_compare_and_jump): Use mode provided by ix86_fp_compare_mode instead of CCFPUmode.
      
      	* config/i386/i386.c (ix86_expand_sse_compare_and_jump): Use mode
      	provided by ix86_fp_compare_mode instead of CCFPUmode.
      
      testsuite/:
      	* gcc.target/i386/builtin-ucmp.c: New test.
      
      From-SVN: r203483
      Alexander Monakov committed
    • re PR libgomp/58691 (OpenMP 4: Surprising results with OMP_PLACES=) · f89163fd
      	PR libgomp/58691
      	* config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
      	to check variable.
      	(gomp_init_num_threads): Move i variable declaration into
      	#ifdef CPU_ALLOC_SIZE block.
      	* config/linux/affinity.c (gomp_affinity_init_level): Test
      	gomp_places_list_len == 0 rather than gomp_places_list == 0
      	when checking for topology reading error.
      	* team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
      	* env.c (parse_affinity): Add ignore argument, if true, don't populate
      	gomp_places_list, only parse env var and always return false.
      	(parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
      	(initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
      	vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
      	and either of these variables were parsed correctly into a places
      	list.
      
      From-SVN: r203479
      Jakub Jelinek committed
    • [AArch64] Fix early-clobber operands to vtbx[1,3] · 6e1d5961
      gcc/
      	* config/aarch64/arm_neon.h
      	(vtbx<1,3>_<psu>8): Fix register constriants.
      
      From-SVN: r203478
      James Greenhalgh committed
    • cp-demangle.c (d_name): Demangle local-source-names. · ea0882a0
      2013-10-11  Paul Pluzhnikov  <ppluzhnikov@google.com>
      
      	* cp-demangle.c (d_name): Demangle local-source-names.
      	* testsuite/demangle-expected: New test.
      
      From-SVN: r203476
      Paul Pluzhnikov committed
    • Daily bump. · 5954261c
      From-SVN: r203475
      GCC Administrator committed
  4. 11 Oct, 2013 17 commits