Commit Graph

131537 Commits

Author SHA1 Message Date
Javier Miranda
384e3fb1e9 decl.c, [...]: Add handling of Inline_Always pragma.
* gcc-interface/decl.c, gcc-interface/trans.c,  
	gcc-interface/gigi.h: Add handling of Inline_Always pragma.  

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r213354
2014-07-31 14:53:19 +02:00
Arnaud Charlet
f087ea4445 [multiple changes]
2014-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_util.adb (Is_Effectively_Volatile): New routine.

2014-07-31  Fedor Rybin  <frybin@adacore.com>

	* gnat_ugn.texi: Document --test-duration option for gnattest.

2014-07-31  Javier Miranda  <miranda@adacore.com>

	* opt.ads (Back_End_Inlining): New variable which controls
	activation of inlining by back-end expansion.
	* gnat1drv.adb (Adjust_Global_Switches): Initialize Back_End_Inlining
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build
	the body to be inlined by the frontend if Back_End_Inlining
	is enabled.
	* exp_ch6.adb (Register_Backend_Call): Moved to inline.adb.
	(Expand_Call): If backend inlining is enabled let the backend to
	handle inlined subprograms.
	* inline.ads (Register_Backend_Call): Moved here from exp_ch6
	* inline.adb (Register_Backend_Call): Moved here from exp_ch6.
	(Add_Inlined_Subprogram): Add subprograms when Back_End_Inlining is set.
	(Must_Inline): Do not return Inline_Call if Back_End_Inlining is
	enabled.
	* debug.adb Document -gnatd.z
	* fe.h Import Back_End_Inlining variable.
	* gcc-interface/utils.c (create_subprog_decl): If Back_End_Inlining is
	enabled then declare attribute "always inline"

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* a-ngelfu.ads: Minor comment fix.

From-SVN: r213353
2014-07-31 14:51:34 +02:00
Arnaud Charlet
d780e54fa0 [multiple changes]
2014-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb (Freeze_Record_Type): Replace all calls to
	Is_SPARK_Volatile with Is_Effectively_Volatile and update
	related comments.
	* sem_ch3.adb (Analyze_Object_Contract, Process_Discriminants):
	Replace all calls to Is_SPARK_Volatile with
	Is_Effectively_Volatile and update related comments.
	* sem_ch5.adb (Analyze_Iterator_Specification,
	Analyze_Loop_Parameter_Specification): Replace all calls to
	Is_SPARK_Volatile with Is_Effectively_Volatile and update
	related comments.
	* sem_ch6.adb (Process_Formals): Replace all calls to
	Is_SPARK_Volatile with Is_Effectively_Volatile and update
	related comments.
	* sem_ch12.adb (Instantiate_Object): Replace the call to
	Is_SPARK_Volatile_Object with Is_Effectively_Volatile_Object
	and update related comment.
	* sem_prag.adb (Analyze_External_Property_In_Decl_Part,
	Analyze_Global_Item): Replace all calls to Is_SPARK_Volatile
	with Is_Effectively_Volatile and update related comments.
	* sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Replace
	all calls to Is_SPARK_Volatile with Is_Effectively_Volatile and
	update related comments.
	* sem_util.adb (Has_Enabled_Property,
	Variable_Has_Enabled_Property): Replace all calls
	to Is_SPARK_Volatile with Is_Effectively_Volatile and
	update related comments.
	(Is_Effectively_Volatile): New routine.
	(Is_Effectively_Volatile_Object): New routine.
	(Is_SPARK_Volatile): Removed.
	(Is_SPARK_Volatile_Object): Removed.
	* sem_util.ads (Is_Effectively_Volatile): New routine.
	(Is_Effectively_Volatile_Object): New routine.
	(Is_SPARK_Volatile): Removed.
	(Is_SPARK_Volatile_Object): Removed.

2014-07-31  Pascal Obry  <obry@adacore.com>

	* s-fileio.adb (Open): Make sure a shared file gets inserted into
	the global list atomically. This ensures that the file descriptor
	won't be freed because another tasks is closing the file.

From-SVN: r213352
2014-07-31 14:46:16 +02:00
Robert Dewar
16b5e0b7c5 sem_ch3.adb (Process_Range_Expr_In_Decl): Add comments on generation of _FIRST and _LAST variables even in GNATprove_Mode.
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb (Process_Range_Expr_In_Decl): Add comments on
	generation of _FIRST and _LAST variables even in GNATprove_Mode.
	* gnat_ugn.texi: Minor editing.
	* sem_prag.adb (Ensure_Aggregate_Form): Make sure generated
	aggregate is marked Comes_From_Source if argument is CFS.

From-SVN: r213351
2014-07-31 14:43:28 +02:00
Arnaud Charlet
f15749aa1c [multiple changes]
2014-07-31  Pascal Obry  <obry@adacore.com>

	* s-fileio.adb: Remove obsolete comment.

2014-07-31  Vincent Celier  <celier@adacore.com>

	* a-strbou.ads ("=" (Bounded_String, Bounded_String): Add
	overriding keyword before function to avoid error when compiler
	is called with -gnatyO (check overriding indicators).

2014-07-31  Tucker Taft  <taft@adacore.com>

	* gnat_ugn.texi: Add a paragraph pointing the reader
	to the "plugins" example.

2014-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb (Freeze_Expression): Document the
	purpose of the parent chain traversal.

From-SVN: r213350
2014-07-31 14:40:36 +02:00
Arnaud Charlet
396eb900bb [multiple changes]
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* checks.ads, checks.adb (Activate_Overflow_Check): Do not set flag for
	unconstrained fpt ops.

2014-07-31  Pascal Obry  <obry@adacore.com>

	* s-fileio.adb (Open): Make sure a shared file gets inserted into
	the global list atomically. This ensures that the file descriptor
	won't be freed because another tasks is closing the file.

From-SVN: r213349
2014-07-31 14:37:03 +02:00
Arnaud Charlet
e8cddc3b5a [multiple changes]
2014-07-31  Vincent Celier  <celier@adacore.com>

	* projects.texi: Minor spelling error fix.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document No_Elaboration_Code_All restriction.
	* lib-writ.adb, lib-load.adb: Initialize No_Elab_Code field in unit
	information.
	* lib.ads, lib.adb (No_Elab_Code): New field in unit information.
	* restrict.adb (Process_Restriction_Synonyms): Add handling
	of No_Elaboration_Code_All.
	* restrict.ads (Process_Restriction_Synonyms): Now handles
	No_Elaboration_Code_All.
	* sem_ch10.adb (Analyze_Context): Enforce transitive with for
	No_Elaboration_Code_All.
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Handle setting of No_Elab_Code in unit information. Handle
	No_Elaboration_Code_All.
	* snames.ads-tmpl (Name_No_Elaboration_Code): New name for
	pragma processing.
	(Name_No_Elaboration_Code_All): New name for pragma processing.

2014-07-31  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject array
	types with a null range and use the Esize of the component
	instead of its RM_Size to identify appropriate values.

2014-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb Add with and use clause for Aspects.
	(Freeze_Expression): Emit an error when a volatile constant lacks
	Boolean aspect Import.
	(Has_Boolean_Aspect_Import): New routine.

From-SVN: r213347
2014-07-31 14:32:10 +02:00
Arnaud Charlet
f3296dd398 [multiple changes]
2014-07-31  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb: Minor reformatting.

2014-07-31  Vincent Celier  <celier@adacore.com>

	* errutil.adb (Error_Msg): Make sure that all components of
	the error message object are initialized.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Try_Container_Indexing): If the container type is
	class-wide, use specific type to locate iteration primitives.
	* sem_ch13.adb (Check_Indexing_Functions): Add legality checks for
	rules in RM 4.1.6 (Illegal_Indexing): New diagnostic procedure.
	Minor error message reformating.
	* exp_ch5.adb (Expand_Iterator_Loop): Handle properly Iterator
	aspect for a derived type.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Document debug flag d.X.

From-SVN: r213346
2014-07-31 14:28:48 +02:00
Ed Schonberg
3dddb11ea4 sem_util.ads (Find_Specific_Type): Moved here from exp_disp.adb.
2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.ads (Find_Specific_Type): Moved here from exp_disp.adb.
	* sem_util.adb (Find_Specific_Type): If type is untagged private,
	retrieve full view so that primitive operations can be located.
	* exp_disp.adb Move Find_Specific_Type to sem_util.
	* exp_ch4.adb (Expand_N_Op_Eq): If operands are class-wide, use
	Find_Specific_Type to locate primitive equality.
	* exp_util.adb (Make_CW_Equivalent_Type): A class_wide equivalent
	type does not require initialization.
	* exp_attr.adb (Compile_Stream_Body_In_Scope): Within an instance
	body all visibility is established, and the enclosing package
	declarations must not be installed.

From-SVN: r213345
2014-07-31 14:26:19 +02:00
Yannick Moy
9420f51f05 sem_parg.adb, [...] (Collect_Subprogram_Inputs_Outputs): Make subprogram public.
2014-07-31  Yannick Moy  <moy@adacore.com>

	* sem_parg.adb, sem_prag.ads (Collect_Subprogram_Inputs_Outputs):
	Make subprogram public.

From-SVN: r213344
2014-07-31 14:24:57 +02:00
Bob Duff
9697805c7a * gcc-interface/Makefile.in (s-traceb.o): Adjust rules.
From-SVN: r213342
2014-07-31 12:16:33 +02:00
Arnaud Charlet
022ed1787e [multiple changes]
2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): New
	predicate Discriminated_Size, to distinguish between private
	components that depend on discriminants from those whose size
	depends on some other non-static expression.

2014-07-31  Nicolas Setton  <setton@adacore.com>

	* g-exptty.adb (Close): Fix binding to Waitpid: use the
	tty version.

From-SVN: r213341
2014-07-31 12:13:59 +02:00
Richard Biener
936ddf9211 lto-streamer.h (struct output_block): Remove global.
2014-07-31  Richard Biener  <rguenther@suse.de>

	* lto-streamer.h (struct output_block): Remove global.
	(struct data_in): Remove labels, num_named_labels and
	num_unnamed_labels.
	* lto-streamer-in.c (lto_data_in_delete): Do not free labels.
	* lto-streamer-out.c (produce_asm_for_decls): Do not set global.

From-SVN: r213340
2014-07-31 10:11:44 +00:00
Arnaud Charlet
9d827cd579 [multiple changes]
2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Make_Index): Reject properly the use of 'Length
	in a discrete range, when 'range was probably intended.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb, sem_warn.ads (Has_Junk_Name): Moved from body to spec.

From-SVN: r213339
2014-07-31 12:11:39 +02:00
Arnaud Charlet
9d2a20713d [multiple changes]
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* frontend.adb: Minor reformatting.
	* sem.adb: Minor reformatting.
	* sem_ch6.adb (Analyze_Null_Procedure): Set proper sloc for
	identifiers on rewrite.
	* par.adb: Minor comment updates.
	* a-ngelfu.adb (Cos): Minor simplification.
	* par-ch13.adb (Get_Aspect_Specifications): Improve messages
	and recovery for bad aspect.
	* exp_ch3.adb: Code clean up.
	* sem_util.ads: Minor comment correction.
	* sem_ch13.adb (Check_Array_Type): Properly handle large types.
	* sem_ch3.adb: Code clean up.
	* binderr.ads: Minor comment correction.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* exp_disp.adb (Expand_Interface_Conversion): A call whose
	prefix is a static conversion to an interface type that is not
	class-wide is not dispatching.

From-SVN: r213338
2014-07-31 12:09:08 +02:00
Arnaud Charlet
7bfff488f8 [multiple changes]
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* inline.adb, s-traceb.adb, s-traceb-hpux.adb, memtrack.adb,
	s-traceb-mastop.adb: Minor reformatting.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Expand_Record_Extension): In ASIS_Mode perform
	expansion, to handle properly visibility of selected components
	in instance bodies.

From-SVN: r213337
2014-07-31 12:03:25 +02:00
Arnaud Charlet
aa3efecdfb [multiple changes]
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* par-ch13.adb (Get_Aspect_Specifications): Set Inside_Depends.
	* par-ch2.adb (P_Pragma): Set Inside_Depends.
	* par-ch4.adb (P_Simple_Expression): Pass Inside_Depends to
	Check_Unary_Plus_Or_Minus.
	* scans.ads (Inside_Depends): New flag.
	* scng.adb (Scan): Pass Inside_Depends to Check_Arrow.
	* style.ads: Add Inside_Depends parameter to Check_Arrow Add
	Inside_Depends parameter to Check_Unary_Plus_Or_Minus.
	* styleg.adb (Check_Arrow): Handle Inside_Depends case.
	(Check_Unary_Plus_Or_Minus): Handle Inside_Depends case.
	* styleg.ads: Add Inside_Depends parameter to Check_Arrow Add.
	Inside_Depends parameter to Check_Unary_Plus_Or_Minus.

2014-07-31  Javier Miranda  <miranda@adacore.com>

	* s-vaflop.adb Move the body of function T_To_G before
	T_To_D. Required for frontend inlining.
	* inline.adb (Has_Excluded_Contract): New subprogram used to
	check if a subprogram inlined by the frontend has contracts
	which cannot be inlined.

2014-07-31  Bob Duff  <duff@adacore.com>

	* s-traceb.adb, s-traceb-hpux.adb, s-traceb-mastop.adb:
	(Call_Chain): Add 1 to number of frames to skip, to account for
	the fact that there's one more frame on the stack.

From-SVN: r213336
2014-07-31 12:02:13 +02:00
Arnaud Charlet
b7c874a77c [multiple changes]
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Enable_Overflow_Check): More precise setting of
	Do_Overflow_Check flag for division.

2014-07-31  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Reject packed
	array types with implementation type.

2014-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch10.adb (Process_State): Remove local variable Name. Add
	local variable Decl. Partially declare an abstract state by
	generating an entity and storing it in the state declaration.
	* sem_prag.adb (Create_Abstract_State): Fully declare a
	semi-declared abstract state.

From-SVN: r213335
2014-07-31 11:58:06 +02:00
Arnaud Charlet
e1360f501b [multiple changes]
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* prj-nmsc.adb: Minor reformatting.

2014-07-31  Bob Duff  <duff@adacore.com>

	* s-tasdeb.adb (System.Tasking.Debug): Remove
	all usage of the secondary stack from this package.

From-SVN: r213334
2014-07-31 11:56:12 +02:00
Arnaud Charlet
33ca28671f [multiple changes]
2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): If the domain of
	iteration is an array component that depends on discriminants,
	create an actual subtype for it, because the preanalysis of the
	iterator name does not create actual subtypes of components.

2014-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb (Freeze_Expression): Update the loop in charge
	of finding a proper insertion place for freeze nodes to handle
	N_Expression_With_Actions nodes.

From-SVN: r213333
2014-07-31 11:54:35 +02:00
Robert Dewar
0407af53dd sem_util.adb, [...]: Minor reformatting.
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb, a-ngelfu.ads, prj-nmsc.adb, prj-conf.adb: Minor
	reformatting.

From-SVN: r213332
2014-07-31 11:52:57 +02:00
Pascal Obry
3affd6d4eb prj-nmsc.adb: Minor reformatting.
2014-07-31  Pascal Obry  <obry@adacore.com>

	* prj-nmsc.adb: Minor reformatting.

From-SVN: r213331
2014-07-31 11:52:07 +02:00
Arnaud Charlet
972fb59e54 [multiple changes]
2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Has_Preelaborable_Initialization): Check that
	type is tagged before checking whether a user-defined Initialize
	procedure is present.

2014-07-31  Gary Dismukes  <dismukes@adacore.com>

	* a-ngelfu.ads (Sqrt): Augment postcondition.

2014-07-31  Pascal Obry  <obry@adacore.com>

	* prj-nmsc.adb (Check_Library_Attributes): An aggegate library
	directory and ALI directory must be different than all object
	and library directories of aggregated projects.

2014-07-31  Vincent Celier  <celier@adacore.com>

	* prj-pars.adb, prj-conf.ads, prj-conf.adb (Locate_Runtime): Move spec
	to package body, as it is not called from outside. Remove argument
	Project_Tree, no longer used. When runtime cannot be found,
	call Raise_Invalid_Config instead of failing the program.

From-SVN: r213330
2014-07-31 11:51:11 +02:00
Robert Dewar
c1c8247201 bindgen.adb (Gen_Output_File_Ada): Generate pragma Suppress (Overflow_Check).
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* bindgen.adb (Gen_Output_File_Ada): Generate pragma Suppress
	(Overflow_Check).
	* gnatlink.adb (Process_Args): Remove generation of -gnato0,
	no longer needed.

From-SVN: r213329
2014-07-31 11:48:12 +02:00
Robert Dewar
e95ad7ea78 gnat_ugn.texi: Document new switch -gnato0.
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document new switch -gnato0.
	* sem_ch3.ads: Minor reformatting.
	* gnatlink.adb (Process_Args): Compile bind file with -gnato0
	(we do not want overflow checks when incrementing elaboration
	counters).
	* einfo.ads: Minor reformatting.

From-SVN: r213328
2014-07-31 11:46:06 +02:00
Robert Dewar
e9a794351b exp_ch5.adb, [...]: Minor comment correction.
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, freeze.adb, exp_ch3.adb: Minor comment correction.
	* s-arit64.adb: Minor reformatting.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Default for overflow
	checking is enabled except in GNAT_Mode.
	* switch-c.adb (Scan_Front_End_Switches): Implement -gnato0
	(suppress overflow checks).

From-SVN: r213327
2014-07-31 11:43:55 +02:00
Arnaud Charlet
7c0c194ba4 [multiple changes]
2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Expand_Freeze_Record_Type): Do not build an
	invariant procedure for an internally generated subtype that is
	created for an object of a class-wide type.

2014-07-31  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb, errutil.adb: Make code similar to Errout.

2014-07-31  Gary Dismukes  <dismukes@adacore.com>

	* gnat_rm.texi, sem_aux.ads, einfo.ads, sem_util.ads, sem_ch6.adb,
	exp_disp.adb: Minor reformatting.

From-SVN: r213326
2014-07-31 11:38:40 +02:00
Robert Dewar
1fb63e89df exp_ch5.adb, [...]: Minor reformatting.
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, sem_ch3.adb, exp_ch7.adb, exp_util.adb, exp_ch9.adb,
	sem_ch7.adb, checks.adb, s-exctra.adb, exp_ch6.adb, exp_disp.adb,
	exp_dist.adb, sem_ch13.adb, exp_strm.adb, exp_ch3.adb: Minor
	reformatting.

From-SVN: r213325
2014-07-31 11:37:12 +02:00
Arnaud Charlet
2fe258bf93 [multiple changes]
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb: Minor reformatting.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Build_Invariant_Checks): If the enclosing record
	is an unchecked_union, warn that invariants will not be checked
	on components that have them.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Check for error of
	Type_Invariant'Class applied to a untagged type.
	* sem_ch6.adb (Analyze_Null_Procedure): Unconditionally rewrite
	as null body, so that we perform error checks even if expansion
	is off.

From-SVN: r213324
2014-07-31 11:35:27 +02:00
Marc Glisse
b4dfdc11a5 re PR c++/60517 (warning/error for taking address of member of a temporary object)
2014-07-31  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/60517
gcc/c/
	* c-typeck.c (c_finish_return): Return 0 instead of the address of
	a local variable.
gcc/cp/
	* typeck.c (maybe_warn_about_returning_address_of_local): Return
	whether it is returning the address of a local variable.
	(check_return_expr): Return 0 instead of the address of a local
	variable.
gcc/c-family/
	* c.opt (-Wreturn-local-addr): Move to common.opt.
gcc/
	* common.opt (-Wreturn-local-addr): Moved from c.opt.
	* gimple-ssa-isolate-paths.c: Include diagnostic-core.h and intl.h.
	(isolate_path): New argument to avoid inserting a trap.
	(find_implicit_erroneous_behaviour): Handle returning the address
	of a local variable.
	(find_explicit_erroneous_behaviour): Likewise.
gcc/testsuite/
	* c-c++-common/addrtmp.c: New file.
	* c-c++-common/uninit-G.c: Adapt.

From-SVN: r213323
2014-07-31 09:33:58 +00:00
Ed Schonberg
3e50df4de7 sem_ch13.adb (Build_Invariant_Procedure): If body of procedure is already present, nothing to do.
2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Build_Invariant_Procedure): If body of procedure
	is already present, nothing to do.
	* exp_ch3.adb (Build_Component_Invariant_Call): For an access
	component, check whether the access type has an invariant before
	checking the designated type.
	(Build_Record_Invariant_Proc): Change suffix of generated
	name to prevent ambiguity when record type has invariants
	in addition to those of components, and two subprograms are
	constructed. Consistent with handling of array types.
	(Insert_Component_Invariant_Checks): Build invariant procedure
	body when one has not been created yet, in the case of composite
	types that are completions and whose full declarations carry
	invariants.

From-SVN: r213322
2014-07-31 11:33:10 +02:00
Bingfeng Mei
a793528482 re PR lto/61868 (-frandom-seed always results in random_seed of 0)
2014-07-31  Bingfeng Mei <bmei@broadcom.com>

	PR lto/61868
	* toplev.c (init_random_seed): Move piece of code never called to
	set_random_seed.
	(set_random_seed): see above.
	
	* gcc.dg/pr61868.c: New test.

From-SVN: r213321
2014-07-31 08:50:50 +00:00
Tom de Vries
3e455386cf Remove dead code in pass_tree_loop_init::execute
2014-07-31  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-loop.c (pass_tree_loop_init::execute): Remove dead code.

From-SVN: r213319
2014-07-31 08:28:35 +00:00
Richard Sandiford
f33a8d10d2 ira.c (insn_contains_asm_1, [...]): Delete.
gcc/
	* ira.c (insn_contains_asm_1, insn_contains_asm): Delete.
	(compute_regs_asm_clobbered): Use extract_asm_operands instead.

From-SVN: r213318
2014-07-31 08:25:56 +00:00
Richard Biener
bfa2ebe3d7 data-streamer.h (streamer_write_data_stream): Declare here, renamed from ...
2014-07-31  Richard Biener  <rguenther@suse.de>

	* data-streamer.h (streamer_write_data_stream): Declare here,
	renamed from ...
	* lto-streamer.h (lto_output_data_stream): ... this.  Remove.
	* lto-cgraph.c (lto_output_node): Adjust.
	(lto_output_varpool_node): Likewise.
	* data-streamer-out.c (streamer_string_index): Likewise.
	(streamer_write_data_stream, lto_append_block): Move from ...
	* lto-section-out.c (lto_output_data_stream,
	lto_append_block): ... here.

From-SVN: r213317
2014-07-31 07:51:41 +00:00
GCC Administrator
c5fbeafd47 Daily bump.
From-SVN: r213316
2014-07-31 00:16:42 +00:00
Jason Merrill
e00f67c6e0 re PR lto/53808 (Undefined symbol when building a library with lto)
PR lto/53808
	PR c++/61659
	* pt.c (push_template_decl_real): Don't set DECL_COMDAT on friends.

From-SVN: r213311
2014-07-30 17:29:25 -04:00
Paolo Carlini
5b9802c45c re PR c++/57397 (Off-by-one error in diagnostic when calling variadic function template with too few arguments)
/cp
2014-07-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57397
	* pt.c (unify_arity): Add boolean parameter.
	(unify_too_few_arguments): Likewise.
	(type_unification_real): Diagnose correctly insufficient
	arguments in the presence of trailing variadic parameters;
	deducing multiple trailing packs as empty is fine.

/testsuite
2014-07-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57397
	* g++.dg/cpp0x/vt-57397-1.C: New.
	* g++.dg/cpp0x/vt-57397-2.C: Likewise.

From-SVN: r213310
2014-07-30 20:06:29 +00:00
Mike Stump
b6d9404508 configure.ac: Also check for popen.
* configure.ac: Also check for popen.
	* tree-loop-distribution.c (dot_rdg): Autoconfize popen use.
	* configure: Regenerate.
	* config.in:  Regenerate.

From-SVN: r213309
2014-07-30 18:29:41 +00:00
Jason Merrill
a41844e513 re PR ipa/61659 (Extra undefined symbol because of devirtualization)
PR c++/61659
	PR c++/61687
Revert:
gcc/c-family/
	* c.opt (-fuse-all-virtuals): New.
gcc/cp/
	* decl2.c (mark_all_virtuals): New variable.
	(maybe_emit_vtables): Check it instead of flag_devirtualize.
	(cp_write_global_declarations): Set it and give helpful diagnostic
	if it introduces errors.
	* class.c (finish_struct_1): Check it.

From-SVN: r213308
2014-07-30 13:27:20 -04:00
Jason Merrill
d5d0ed2d89 re PR lto/53808 (Undefined symbol when building a library with lto)
PR lto/53808
	PR c++/61659
	* pt.c (push_template_decl_real): Set DECL_COMDAT on templates.
	(check_explicit_specialization): Clear it on specializations.
	* decl.c (duplicate_decls, start_decl): Likewise.
	(grokmethod, grokfndecl): Set DECL_COMDAT on inlines.
	* method.c (implicitly_declare_fn): Set DECL_COMDAT.  Determine
	linkage after setting the appropriate flags.
	* tree.c (decl_linkage): Don't check DECL_COMDAT.
	* decl2.c (mark_needed): Mark clones.
	(import_export_decl): Not here.

From-SVN: r213307
2014-07-30 13:27:14 -04:00
Martin Jambor
ea3e455ac7 tree-sra.c (sra_ipa_modify_assign): Change type of the first parameter to gimple.
2014-07-30  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (sra_ipa_modify_assign): Change type of the first
	parameter to gimple.

From-SVN: r213306
2014-07-30 18:39:23 +02:00
Ulrich Weigand
87cb0c0cdb s390.c (s390_emit_tpf_eh_return): Pass original return address as second parameter to __tpf_eh_return routine.
gcc/

2014-07-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/s390/s390.c (s390_emit_tpf_eh_return): Pass original return
	address as second parameter to __tpf_eh_return routine.

libgcc/

2014-07-30  J. D. Johnston  <jjohnst@us.ibm.com>

	* config/s390/tpf-unwind.h: Include <stdbool.h>.
	(__tpf_eh_return): Add original return address as second parameter.
	Handle cases where unwinder routines were called directly, instead
	of from within the C++ library.

From-SVN: r213305
2014-07-30 16:26:15 +00:00
Jiong Wang
e58d3b417c Fix Thumb2 testsuite fallout.
Applied for Jiong.

2014-07-30  Jiong Wang  <jiong.wang@arm.com>

	* config/arm/arm.c (arm_get_frame_offsets): Adjust condition for
	Thumb2.

From-SVN: r213304
2014-07-30 16:24:12 +00:00
Arnaud Charlet
3fa699d1d3 * gnat.dg/case_null.adb, gnat.dg/specs/debug1.ads: Adjust tests.
From-SVN: r213303
2014-07-30 18:05:46 +02:00
Arnaud Charlet
72b4f1fc78 Code clean ups.
From-SVN: r213302
2014-07-30 17:20:45 +02:00
Arnaud Charlet
0be7dcbbdb [multiple changes]
2014-07-30  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi: Minor doc fixes.

2014-07-30  Robert Dewar  <dewar@adacore.com>

	* a-rbtgbo.adb, sem_ch13.adb: Minor reformatting.

2014-07-30  Vincent Celier  <celier@adacore.com>

	* errutil.adb (Set_Msg_Text): Process tilde ('~'): no processing
	of error message.
	* prj-nmsc.adb (Locate_Directory): Use a tilde ('~') in the
	message to report that a directory cannot be created, to avoid
	processing of the directory path that may contains special
	insertion characters.

From-SVN: r213301
2014-07-30 17:19:17 +02:00
Arnaud Charlet
a18e3d6279 [multiple changes]
2014-07-30  Ed Schonberg  <schonberg@adacore.com>

	* a-crdlli.ads: Place declaration of Empty_List after full type
	declaration for Curosr, to prevent freezing error.

2014-07-30  Robert Dewar  <dewar@adacore.com>

	* get_targ.adb: Minor code reorganization.
	* prj-proc.adb, prj-proc.ads, get_targ.ads, sem_ch6.adb: Minor
	reformatting.

2014-07-30  Ed Schonberg  <schonberg@adacore.com>

	* a-cbhase.adb: a-cbhase.adb (Insert): Raise Constraint_Error,
	not Program_Error, when attempting to remove an element not in
	the set. This is the given semantics for all set containers.

2014-07-30  Ed Schonberg  <schonberg@adacore.com>

	* a-rbtgbo.adb: -rbtgbo.adb (Delete_Node_Sans_Free): If
	element is not present in tree return rather than violating
	an assertion. Constraint_Error will be raised in the caller if
	element is not in the container.

From-SVN: r213300
2014-07-30 17:17:33 +02:00
Arnaud Charlet
1ebc2612da [multiple changes]
2014-07-30  Arnaud Charlet  <charlet@adacore.com>

	* set_targ.adb (Read_Target_Dependent_Values): New subprogram.
	(elab body): Add provision for default target config file.
	* get_targ.ads, get_targ.adb (Get_Back_End_Config_File): New subprogram.

2014-07-30  Ed Schonberg  <schonberg@adacore.com>

	* a-cbhase.adb (Delete): Raise Constraint_Error, not Program_Error,
	when attempting to remove an element not in the set. This is
	the given semantics for all set containers.
	* a-cborse.adb (Delete): Attempt removal first, to check for
	tampering, before checking whether this is an attempt to
	delete a  non-existing element, and in fthe latter case raise
	Constraint_Error.

2014-07-30  Vincent Celier  <celier@adacore.com>

	* prj-proc.adb (Recursive_Process): Do not create a new
	Project_Id if the project is already in the list of projects of
	the tree.

2014-07-30  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Function_Return): Reject a return expression
	whose type is an incomplete formal type.
	(Analyze_Return_Type): Reject a return type that is an untagged
	imcomplete formal type.
	(Process_Formals): Reject a formal parameter whose type is an
	untagged formal incomplete type.
	* sem_res.adb (Resolve_Actuals): Reject an actual whose type is
	an untagged formal incomplete type.

From-SVN: r213299
2014-07-30 17:15:32 +02:00
Robert Dewar
45ec05e18a gnat_ugn.texi: Minor spelling correction.
2014-07-30  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Minor spelling correction.
	* makeutl.adb: Minor code reorganization.
	* exp_ch4.adb, exp_aggr.adb, exp_ch3.adb: Minor reformatting.

2014-07-30  Robert Dewar  <dewar@adacore.com>

	* einfo.ads (Has_Unchecked_Union): Document that this is used
	to check for illegal Valid_Scalars attribute references.
	* exp_attr.adb (Build_Record_VS_Func): New function
	(Expand_N_Attribute_Reference, case Valid_Scalars): Call this
	function.
	* gnat_rm.texi: Document 'Valid_Scalars cannot be applied to
	Unchecked_Union Add note on 'Valid_Scalars generating a lot
	of code.
	* sem_attr.adb (Analyze_Attribute, case Valid_Scalars): Give
	error on attempt to apply Valid_Scalars to Unchecked_Union type.

From-SVN: r213298
2014-07-30 17:13:23 +02:00