Commit Graph

125968 Commits

Author SHA1 Message Date
Hristian Kirtchev b447a7578e sem_prag.adb (Analyze_Global_In_Decl_Part): Remove local variable Contract_Seen.
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Global_In_Decl_Part): Remove local
	variable Contract_Seen. Add local variable Proof_Seen.
	(Analyze_Global_List): Remove the processing for mode
	Contract_In. Add support for mode Proof_In.
	(Analyze_Pragma): Update the grammar of pragmas Global and
	Refined_Global.
	* snames.ads-tmpl: Remove predefined name Contract_In. Add
	predefined name Proof_In.

From-SVN: r203525
2013-10-14 14:39:11 +02:00
Arnaud Charlet 577ee3a966 [multiple changes]
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* exp_prag.adb (Expand_Pragma_Check): Generate proper string
	for invariant
	* gnat_rm.texi: Add documentation for pragmas
	Type_Invariant[_Class]
	* par-prag.adb: Add entries for pragmas Type_Invariant[_Class]
	* sem_ch13.adb: Minor reformatting
	* sem_prag.adb: Implement pragmas Type_Invariant[_Class]
	* snames.ads-tmpl: Add entries for pragmas Type_Invariant[_Class]

2013-10-14  Johannes Kanig  <kanig@adacore.com>

	* debug.adb: Release now unused debug switches that were only
	relevant for gnat2why backend, not the frontend
	* frontend.adb (Frontend) Do not stop when -gnatd.H is present,
	was unused

From-SVN: r203524
2013-10-14 14:37:45 +02:00
Arnaud Charlet d1d81616ec [multiple changes]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Global_Item): Allow
	references to enclosing formal parameters.

2013-10-14  Thomas Quinot  <quinot@adacore.com>

	* einfo.adb (Equivalent_Type): Add missing case
	E_Access_Subprogram_Type in guard (for remote access to
	subprograms) * sem_ch8.adb (Find_Direct_Name, Find_Expanded_Name):
	Add missing guards to account for the presence of RAS types
	that have already been replaced with the corresponding fat
	pointer type.

From-SVN: r203523
2013-10-14 14:35:51 +02:00
Hristian Kirtchev 54e28df21a aspects.adb: Add an entry in table Canonical_Aspect for Initializes.
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb: Add an entry in table Canonical_Aspect for
	Initializes.
	* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
	Aspect_Names and Aspect_Delay for Initializes.
	* atree.ads, atree.adb (Ekind_In): New seven argument versions of the
	routines.
	* einfo.adb: Remove Refined_State_Pragma from the list of node
	usage. Finalizer is now at position 28.
	(Contract): Package
	and package bodies now have a contract.
	(Finalizer): Update
	the assertion and node usage.
	(Get_Pragma): Update the Is_CDG
	flag to include Abstract_State, Initializes and Refined_State.
	(Refined_State_Pragma): Removed.
	(Set_Contract): Package and
	package bodies now have a contract.
	(Set_Finalizer): Update the
	assertion and node usage.
	(Set_Refined_State_Pragma): Removed.
	(Write_Field8_Name): Remove the output for Refined_State_Pragma.
	(Write_Field24_Name): Remove the output for Finalizer. Package
	and package bodies now have a contract.
	(Write_Field28_Name):
	Add output for Finalizer.
	* einfo.ads: Update the documentation and usage in entities
	of attribute Contract. Update the node position and usage in
	entities of attribute Finalizer. Remove the documentation
	and usage in entities for attribute Refined_State_Pragma.
	(Refined_State_Pragma): Removed along with pragma Inline.
	(Set_Refined_State_Pragma): Removed along with pragma Inline.
	* par-prag.adb: Add Initializes to the pragmas that do not
	require special processing by the parser.
	* sem_ch3.adb (Analyze_Declarations): Add local variable
	Prag. Update the retrieval of pragma Refined_State. Analyze
	aspect/pragma Initializes at the end of the visible declarations
	of the related package.
	* sem_ch6.adb (Analyze_Subprogram_Body_Contract):
	Add local variables Ref_Depends and Ref_Global. Analyze
	pragmas Refined_Global and Refined_Depends in that order.
	(Analyze_Subprogram_Contract): Add local variables Depends and
	Global. Analyze pragmas Global and Depends in that order.
	* sem_ch7.adb (Analyze_Package_Body_Helper): Package
	bodies now have a contract. Move the analysis of the aspect
	specifications after the defining entity has been decorated.
	(Analyze_Package_Declaration): Packages now have a contract. Move
	the analysis of the aspect specifications after the defining
	entity has been decorated.
	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Packages
	now have contracts.
	* sem_ch13.adb (Analyze_Pragma): Code cleanup for aspect
	Abstract_State. Add processing for aspect Initializes.
	(Check_Aspect_At_Freeze_Point): Add an entry for Initializes.
	* sem_prag.adb: Use Get_Pragma_Arg to extract the expression
	of a pragma argument. Add an entry in table Sig_Flags for
	Initializes.
	(Analyze_Initializes_In_Decl_Part): New routine.
	(Analyze_Pragma): Check the declaration order of pragmas
	Abstract_State and Initializes. Abstract_State is now part of
	the package contract. Analyze pragma Initializes. Check for
	duplicate Refined_State pragma. Refined_State is now part of
	the package contract.
	(Check_Declaration_Order): New routine.
	(Check_Test_Case): Alphabetized.
	* sem_prag.ads (Analyze_Initializes_In_Decl_Part): New routine.
	* sem_util.adb (Add_Contract_Item): Rename formal Subp_Id
	to Id. This routine can now support contracts on packages and
	package bodies.
	* sem_util.ads (Add_Contract_Item): Rename formal Subp_Id to
	Id. Update comment on usage.
	* sinfo.ads: Update the usage of N_Contract nodes.
	* snames.ads-tmpl: Add predefined name Initializes. Add new
	pragma id for Initializes.

From-SVN: r203522
2013-10-14 14:34:33 +02:00
Richard Biener 83fd5d110e gimple.c (gimple_canonical_types, [...]): Move to lto/lto.c
2013-10-14  Richard Biener  <rguenther@suse.de>

	* gimple.c (gimple_canonical_types, canonical_type_hash_cache,
	iterative_hash_canonical_type, gimple_canonical_type_hash,
	gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
	gimple_register_canonical_type, print_gimple_types_stats,
	free_gimple_type_tables): Move to lto/lto.c
	(gt-gimple.h): Do not include.
	* gimple.h (gimple_register_canonical_type,
	print_gimple_types_stats, free_gimple_type_tables): Remove.
	* Makefile.in (GTFILES): Remove gimple.c.

	lto/
	* lto-lang.c (lto_init): Do not re-init canonical types here.
	(lto_register_canonical_types): Move to ...
	* lto.c (lto_register_canonical_types): ... here.
	(gimple_canonical_types, canonical_type_hash_cache,
	iterative_hash_canonical_type, gimple_canonical_type_hash,
	gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
	gimple_register_canonical_type): Add canonical type merging machinery
	moved from gimple.c.
	(read_cgraph_and_symbols): Init and free canonical type tables
	here.
	(print_lto_report_1): Report canonical type table stats here.

From-SVN: r203521
2013-10-14 12:06:38 +00:00
Travis Snoozy a6dbd0f72b re PR target/58716 ([PATCH] MSP430X check is inverted)
PR target/58716
	* config/msp430/msp430.c (msp430_option_override): Correct thinko
	scanning for msp430x targets.

From-SVN: r203520
2013-10-14 11:24:17 +00:00
Eric Botcazou b5ccb9edcb re PR bootstrap/58509 (ICE in calc_dfs_tree, at dominance.c:397 during Ada runtime build)
PR bootstrap/58509
	* config/sparc/sparc-protos.h (widen_mem_for_ldd_peep): Declare.
	(registers_ok_for_ldd_peep): Move around.
	* config/sparc/sparc.c (widen_mem_for_ldd_peep): New.
	* config/sparc/sparc.md (widening peepholes): Use it.

From-SVN: r203518
2013-10-14 10:13:12 +00:00
Richard Biener fd7e50840c re PR other/58712 (issues found by --enable-checking=valgrind)
2013-10-14  Richard Biener  <rguenther@suse.de>

	PR middle-end/58712
	PR middle-end/55358
	* gimple.c (iterative_hash_canonical_type): Make sure to
	record the hash into the correct hashtable slot.

From-SVN: r203517
2013-10-14 09:24:36 +00:00
Richard Biener d19d091ca0 re PR tree-optimization/58640 (wrong code (segfaults) at -O3 on x86_64-linux-gnu)
2013-10-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58640
	* gcc.c-torture/execute/pr58640-2.c: New testcase.

From-SVN: r203516
2013-10-14 09:17:20 +00:00
Jakub Jelinek c86738810e env.c (parse_bind_var): Initialize value to avoid (false positive) warning.
* env.c (parse_bind_var): Initialize value to avoid
	(false positive) warning.

From-SVN: r203514
2013-10-14 10:26:18 +02:00
GCC Administrator 9e58eee783 Daily bump.
From-SVN: r203511
2013-10-14 00:16:25 +00:00
Nicolas Roche 8219336f4f Make-lang.in (ada/%.o): Replace individual rules with generic rule and add $(POSTCOMPILE).
* 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
2013-10-13 20:27:26 +00:00
Eric Botcazou f036807af8 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
2013-10-13 17:20:58 +00:00
Arnaud Charlet d67f5bbb91 [multiple changes]
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
2013-10-13 18:37:01 +02:00
Robert Dewar ff7a7e12be gnat_rm.texi: Add documentation for pragmas Pre[_Class] Post[_Class].
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
2013-10-13 18:34:01 +02:00
Hristian Kirtchev ab8843fac0 einfo.adb: Add node/list usage for Refined_State and Refinement_Constituents.
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
2013-10-13 18:31:00 +02:00
Arnaud Charlet ad0d71b531 [multiple changes]
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
2013-10-13 18:21:32 +02:00
Arnaud Charlet cf895a0159 [multiple changes]
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
2013-10-13 18:17:09 +02:00
Arnaud Charlet 409274f155 [multiple changes]
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
2013-10-13 18:14:16 +02:00
Eric Botcazou 2e151b6dbc * gcc-interface/decl.c (gnat_to_gnu_param): Remove obsolete comment.
From-SVN: r203499
2013-10-13 14:58:43 +00:00
Eric Botcazou 3246afaa93 re PR rtl-optimization/58662 (wrong code at -O2 for dumb condition)
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
2013-10-13 13:29:28 +00:00
Ian Lance Taylor 6137391a48 compiler: Fix handling of imported struct with embedded builtin type.
From-SVN: r203496
2013-10-13 04:15:20 +00:00
GCC Administrator 713b26d056 Daily bump.
From-SVN: r203495
2013-10-13 00:16:46 +00:00
Oleg Endo 5d30dc5b6d re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
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
2013-10-12 20:47:22 +00:00
Arnaud Charlet 585a0b9916 Slightly related to PR/58645:
* gnat.dg/specs/linker_section.ads: Update test.

From-SVN: r203490
2013-10-12 20:40:25 +02:00
Uros Bizjak adcfd4893c ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r203489
2013-10-12 18:17:24 +02:00
H.J. Lu 37d1c5db3a Truncate x32 DImode TLS address to a SImode register
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
2013-10-12 07:55:28 -07:00
Alexander Monakov b86a70ff8d 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
2013-10-12 16:48:23 +04:00
Jakub Jelinek f89163fd48 re PR libgomp/58691 (OpenMP 4: Surprising results with OMP_PLACES=)
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
2013-10-12 09:52:15 +02:00
James Greenhalgh 6e1d5961ce [AArch64] Fix early-clobber operands to vtbx[1,3]
gcc/
	* config/aarch64/arm_neon.h
	(vtbx<1,3>_<psu>8): Fix register constriants.

From-SVN: r203478
2013-10-12 07:49:47 +00:00
Paul Pluzhnikov ea0882a0ab cp-demangle.c (d_name): Demangle local-source-names.
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
2013-10-11 17:31:18 -07:00
GCC Administrator 5954261c4d Daily bump.
From-SVN: r203475
2013-10-12 00:16:42 +00:00
Brooks Moses a9e6b8368a altivec-7.C: Check for standard vector-type name mangling.
* g++.dg/ext/altivec-7.C: Check for standard vector-type name
  mangling.

From-SVN: r203469
2013-10-11 16:23:08 -07:00
Ian Lance Taylor 55e0ab1ad9 compiler: Fix handling of hidden methods for unnamed types.
If an interface has hidden methods, we must make the interface
table comdat if it is for an unnamed type.

When we create a stub method for an unnamed type, don't make
it publically visible.

From-SVN: r203468
2013-10-11 22:53:17 +00:00
Chris Manghane b7d93b468a compiler: Use backend interface for function code expressions.
* go-gcc.cc (Gcc_backend::function_code_expression): New
	function.

From-SVN: r203467
2013-10-11 22:17:47 +00:00
Jeff Law ef3cfba23d re PR tree-optimization/58640 (wrong code (segfaults) at -O3 on x86_64-linux-gnu)
PR tree-optimization/58640
	* tree-ssa-threadupdate.c (mark_threaded_blocks): Truncate jump threading
	paths that cross over two loop entry points.

	* gcc.c-torture/execute/pr58640.c: New test.

From-SVN: r203463
2013-10-11 14:31:25 -06:00
Bill Schmidt 6e8b7d9cd6 vsx.md (*vsx_le_perm_load_v2di): Generalize to handle vector float as well.
2013-10-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (*vsx_le_perm_load_v2di): Generalize to
	handle vector float as well.
	(*vsx_le_perm_load_v4si): Likewise.
	(*vsx_le_perm_store_v2di): Likewise.
	(*vsx_le_perm_store_v4si): Likewise.

From-SVN: r203458
2013-10-11 18:53:52 +00:00
Bill Schmidt f200869abc vector.md (vec_realign_load<mode>): Generate vperm directly to circumvent subtract from splat{31} workaround.
2013-10-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vector.md (vec_realign_load<mode>): Generate vperm
	directly to circumvent subtract from splat{31} workaround.
	* config/rs6000/rs6000-protos.h (altivec_expand_vec_perm_le): New
	prototype.
	* config/rs6000/rs6000.c (altivec_expand_vec_perm_le): New.
	* config/rs6000/altivec.md (define_c_enum "unspec"): Add
	UNSPEC_VPERM_X and UNSPEC_VPERM_UNS_X.
	(altivec_vperm_<mode>): Convert to define_insn_and_split to
	separate big and little endian logic.
	(*altivec_vperm_<mode>_internal): New define_insn.
	(altivec_vperm_<mode>_uns): Convert to define_insn_and_split to
	separate big and little endian logic.
	(*altivec_vperm_<mode>_uns_internal): New define_insn.
	(vec_permv16qi): Add little endian logic.

From-SVN: r203457
2013-10-11 18:52:07 +00:00
H.J. Lu 39aeb94e3d Update x32 baseline_symbols.txt
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.

From-SVN: r203456
2013-10-11 11:46:22 -07:00
Ian Lance Taylor 08580c3477 compiler: Error if receiver and parameter have same name.
From-SVN: r203455
2013-10-11 18:28:04 +00:00
Ian Lance Taylor d621811443 compiler: Better error message of unsafe.Offsetof(method value).
From-SVN: r203454
2013-10-11 18:10:03 +00:00
Ian Lance Taylor 0213a547b0 compiler: accept integral float constants as string indices.
From-SVN: r203452
2013-10-11 17:45:29 +00:00
Marc Glisse 8d28e3fc18 extend.texi (returns_nonnull): Remove arguments.
2013-10-11  Marc Glisse  <marc.glisse@inria.fr>

	* doc/extend.texi (returns_nonnull): Remove arguments.

From-SVN: r203451
2013-10-11 17:37:44 +00:00
Ian Lance Taylor e169e8b0ca compiler: Improve handling of invalid ASCII characters in identifiers.
From-SVN: r203450
2013-10-11 17:04:42 +00:00
Paolo Carlini 20e8fa5327 re PR c++/58633 (ICE with decltype of destructor call)
/cp
2013-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58633
	* parser.c (cp_parser_commit_to_topmost_tentative_parse): New.
	(cp_parser_pseudo_destructor_name): Use it.

/testsuite
2013-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58633
	* g++.dg/cpp0x/decltype57.C: New.

From-SVN: r203448
2013-10-11 14:35:23 +00:00
Jakub Jelinek acd15a286e c-common.h (omp_clause_mask::operator !=): New method.
* c-common.h (omp_clause_mask::operator !=): New method.
	* c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
	instead of if (mask & something) tests everywhere.

From-SVN: r203447
2013-10-11 16:34:18 +02:00
Paolo Carlini ddc757fe19 re PR c++/31671 (Non-type template of type const ref accepted as a non-const ref)
/cp
2013-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/31671
	* pt.c (convert_nontype_argument): Set expr_type to
	TREE_TYPE (probe_type).

/testsuite
2013-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/31671
	* g++.dg/template/nontype26.C: New.

From-SVN: r203444
2013-10-11 14:18:42 +00:00
Alexander Ivchenko 3c87b77b1e sse.md (VI48F_256_512): New.
* config/i386/sse.md (VI48F_256_512): New.
        (avx2_permvar<mode>): Change to ...
        (<avx2_avx512f>_permvar<mode>): This.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203442
2013-10-11 14:05:40 +00:00
Alexander Ivchenko 50e60d7d5d i386.c (bdesc_args): Change corresponding pattern for __builtin_ia32_cvtps2dq...
* config/i386/i386.c (bdesc_args): Change corresponding pattern  for
        __builtin_ia32_cvtps2dq, __builtin_ia32_cvtps2dq256.
        * config/i386/sse.md (VI4_AVX): New.
        (sf2simodelower): Ditto.
        (sse2_cvtps2dq): Change to ...
        (<sse2_avx_avx512f>_fix_notrunc<sf2simodelower><mode>): This.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203441
2013-10-11 14:03:53 +00:00
Alexander Ivchenko f62ce24ff7 sse.md (V_512): New.
* config/i386/sse.md (V_512): New.
        (VI_512): Ditto.
        (vcond<V_512:mode><VF_512:mode>): Ditto.
        (vcond<V_512:mode><VI_512:mode>): Ditto.
        (vcondu<V_512:mode><VI_512:mode>): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203440
2013-10-11 14:02:07 +00:00