Commit Graph

111594 Commits

Author SHA1 Message Date
Arnaud Charlet b991dd43ae [multiple changes]
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.

2011-09-06  Pascal Obry  <obry@adacore.com>

	* s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
	types.

From-SVN: r178578
2011-09-06 11:37:22 +02:00
Arnaud Charlet 516785cc7f [multiple changes]
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* g-socket.adb: Minor reformatting

2011-09-06  Javier Miranda  <miranda@adacore.com>

	* ali.adb (Scan_ALI): Add missing support to load references of
	entities imported from other languages.
	* ali.ads (Xref_Record): Adding new fields to store the language and
	name of an imported entity.
	* lib-xref.adb (Output_Import_Export_Info): Fix typo
	in comment.

2011-09-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
	is allowed on a full type declaration if it is the completion of
	a private declarations.
	* sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
	aspect is allowed on a full type declaration in the private part
	of a package.

From-SVN: r178577
2011-09-06 11:32:56 +02:00
Arnaud Charlet 9669194386 [multiple changes]
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.ads: Minor reformatting

2011-09-06  Thomas Quinot  <quinot@adacore.com>

	* s-oscons-tmplt.c, g-socket.adb (GNAT.Sockets.Clear,Set,Is_Set):
	Guard against socket values that are not in [0;FD_SETSIZE[

From-SVN: r178576
2011-09-06 11:28:33 +02:00
Arnaud Charlet 54bf19e458 [multiple changes]
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* s-osinte-linux.ads, a-iteint.ads, exp_ch6.adb, s-solita.adb: Minor
	reformatting.

2011-09-06  Arnaud Charlet  <charlet@adacore.com>

	* s-linux-alpha.ads: Minor reformatting
	* s-oscons-tmplt.c: Fix generated comments in s-oscons template.
	Use sizeof instead of corresponding C defines in s-oscons template.

From-SVN: r178575
2011-09-06 11:26:02 +02:00
Vadim Godunko 5d42cba16f a-convec.ads, [...]: Minor reformatting.
2011-09-06  Vadim Godunko  <godunko@adacore.com>

	* a-convec.ads, a-iteint.ads: Minor reformatting.

From-SVN: r178574
2011-09-06 11:20:36 +02:00
Arnaud Charlet 77aa62e72f [multiple changes]
2011-09-06  Vincent Celier  <celier@adacore.com>

	* projects.texi: Add menus and @node lines.

2011-09-06  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_Inlined_Call): Handle properly the case
	where the return type is an unconstrained array and the context
	is an assignment. Optimize the case when the target of the
	assignment is a selected component.

2011-09-06  Arnaud Charlet  <charlet@adacore.com>

	* s-solita.adb: Update comments.

2011-09-06  Pascal Obry  <obry@adacore.com>

	* s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, s-linux-mipsel.ads,
	s-linux-sparc.ads: Remove hard coded and now wrong definitions.
	* s-oscons-tmplt.c: Add support for generating pthread related
	types size on GNU/Linux as done for Darwin.
	* s-osinte-linux.ads: Use s-oscons to define the pthread types.

From-SVN: r178573
2011-09-06 11:15:15 +02:00
Arnaud Charlet 886b5a18d5 [multiple changes]
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb: Fix minor typo.

2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb: Remove with and use clauses for Get_Targ.
	(Alignment_Of): Moved to the body of Nearest_Multiple_Rounded_Up.
	(Double_Size_Of): Alphabetized. Update the comment on usage.
	(Make_Finalize_Address_Stmts): Update comments and reformat code.
	(Nearest_Multiple_Rounded_Up): New routine.
	(Size_Of): Update comment on usage. The generated expression now
	accounts for alignment gaps by rounding the size of the type to the
	nearest multiple rounded up of the type's alignment.

From-SVN: r178572
2011-09-06 11:02:44 +02:00
Arnaud Charlet 57a3fca931 [multiple changes]
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb, g-comlin.adb: Minor reformatting.

2011-09-06  Steve Baird  <baird@adacore.com>

	* exp_ch4.adb (Expand_Allocator_Expression): Look through
	derived subprograms in checking for presence of an
	Extra_Accessibility_Of_Result formal parameter.
	* exp_ch6.adb (Expand_Call): Look through derived subprograms in
	checking for presence of an Extra_Accessibility_Of_Result formal
	parameter.
	(Expand_Call.Add_Actual_Parameter): Fix a bug in the
	case where the Parameter_Associatiations attribute is already set,
	but set to an empty list.
	(Needs_Result_Accessibility_Level):
	Unconditionally return False. This is a temporary
	change, disabling the Extra_Accessibility_Of_Result
	mechanism.
	(Expand_Simple_Function_Return): Check for
	Extra_Accessibility_Of_Result parameter's presence instead of
	testing Ada_Version when generating a runtime accessibility
	check which makes use of the parameter.

From-SVN: r178571
2011-09-06 10:27:42 +02:00
Arnaud Charlet eaed0c3777 [multiple changes]
2011-09-06  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
	expression in a given case alternative must be attached to the
	statement list of the ccrresponding case statement alternative
	They cannot be propagated ahead of the case statement, because
	the validity of the expression that generated the action may
	hold only for that alternative.

2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb: Remove with and use clauses for Get_Targ.
	(Alignment_Of): Remove the code for strict alignment targets.
	(Double_Alignment_Of): Removed.
	(Double_Size_Of): New routine.
	(Make_Finalize_Address_Stmts): Change the
	calculation of the dope's size.  Update relevant comments.
	(Size_Of): New routine.

From-SVN: r178570
2011-09-06 10:07:27 +02:00
Arnaud Charlet b8a93198c2 [multiple changes]
2011-09-06  Steve Baird  <baird@adacore.com>

	* einfo.ads (Extra_Accessibility): Update associated comment to use
	the term "present" correctly ("present" just means that it is not
	an error to query the value of the attribute - it does not imply
	that the value must be non-null).
	(Extra_Constrained): Ditto.
	(Is_Visible_Formal): Ditto.
	(Extra_Accessibility_Of_Result) Ditto; also add Inline pragma.
	(Set_Extra_Accessibility_Of_Result): Add Inline pragma.
	* exp_ch4.adb (Expand_Allocator_Expression): Improve a comment.
	* exp_ch6.adb (Expand_Call): The callee may require an
	Extra_Accessibility_Of_Result actual parameter even if Ada_Version
	< Ada_2012. This can occur if the callee is exported from a Gnat
	runtimes unit. Also improve a comment.

2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb: Add with and use clauses for Get_Targ.
	(Alignment_Of): Rename formal parameter Some_Typ
	to Typ, update related comment. Use the allocator alignment on
	strict alignment targets such as SPARC.
	(Double_Alignment_Of): Rename formal parameter Some_Typ to Typ, update
	related comment.

2011-09-06  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch9.adb (Check_Interfaces): Test
	Is_Limited_Type rather than Is_Limited_Record when checking that
	the partial view of a synchronized full view must be limited.

2011-09-06  Emmanuel Briot  <briot@adacore.com>

	* g-comlin.adb (Free): Fix memory leak.

From-SVN: r178569
2011-09-06 10:03:04 +02:00
Robert Dewar ebf494ec28 sem_util.adb, [...]: Minor reformatting and code reorganization.
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb, exp_ch6.adb: Minor reformatting and code reorganization.

From-SVN: r178568
2011-09-06 09:56:50 +02:00
Steve Baird 63585f754c einfo.ads (Extra_Accessibility_Of_Result): New function...
2011-09-06  Steve Baird  <baird@adacore.com>

	* einfo.ads (Extra_Accessibility_Of_Result): New function; in the
	(Ada2012) cases described in AI05-0234 where the accessibility
	level of a function result is "determined by the point of
	call", an implicit parameter representing that accessibility
	level is passed in. Extra_Accessibilty_Of_Result yields this
	additional formal parameter. Extra_Accessibility_Of_Result
	is analogous to the existing Extra_Accessibility
	function used in the implementation of access parameters.
	(Set_Extra_Accessibility_Of_Result): New procedure; sets
	Extra_Accessibility_Of_Result attribute.
	* einfo.adb (Extra_Accessibility_Of_Result): New function.
	(Set_Extra_Accessibility_Of_Result): New procedure.
	(Write_Field19_Name): Display Extra_Accessibilty_Of_Result attribute.
	* sem_util.adb (Dynamic_Accessibility_Level): Set Etype of
	an accessibility level literal to Natural; introduce a nested
	function, Make_Level_Literal, to do this.
	* exp_ch6.ads (Needs_Result_Accessibility_Level): New function;
	determines whether a given function (or access-to-function
	type) needs to have an implicitly-declared accessibility-level
	parameter added to its profile.
	(Add_Extra_Actual_To_Call): Export an existing procedure which was
	previously declared in the body of Exp_Ch6.
	* exp_ch6.adb (Add_Extra_Actual_To_Call): Export declaration by moving
	it to exp_ch6.ads.
	(Has_Unconstrained_Access_Discriminants): New Function; a
	predicate on subtype entities which returns True if the given
	subtype is unconstrained and has one or more access discriminants.
	(Expand_Call): When expanding a call to a function which takes an
	Extra_Accessibility_Of_Result parameter, pass in the appropriate
	actual parameter value. In the case of a function call which is
	used to initialize an allocator, this may not be possible because
	the Etype of the allocator may not have been set yet. In this
	case, we defer passing in the parameter and handle it later in
	Expand_Allocator_Expression.
	(Expand_Simple_Function_Return): When returning from a function which
	returns an unconstrained subtype having at least one access
	discriminant, generate the accessibility check needed to ensure that
	the function result will not outlive any objects designated by its
	discriminants.
	(Needs_Result_Accessibility_Level): New function; see exp_ch6.ads
	description.
	* exp_ch4.adb (Expand_Allocator_Expression): When a function call
	is used to initialize an allocator, we may need to pass in "the
	accessibility level determined by the point of call" (AI05-0234)
	to the function. Expand_Call, where such actual parameters are
	usually generated, is too early in this case because the Etype of
	the allocator (which is used in determining the level to be passed
	in) may not have been set yet when Expand_Call executes. Instead,
	we generate code to pass in the appropriate actual parameter
	in Expand_Allocator_Expression.
	* sem_ch6.adb (Create_Extra_Formals): Create
	the new Extra_Accessibility_Of_Result formal if
	Needs_Result_Accessibility_Level returns True. This includes the
	introduction of a nested procedure, Check_Against_Result_Level.

From-SVN: r178567
2011-09-06 09:46:28 +02:00
Arnaud Charlet 1a982c6e28 Makefile.in (X86_TARGET_PAIRS): Remove duplicate declaration.
* gcc-interface/Makefile.in (X86_TARGET_PAIRS): Remove duplicate
	declaration.

From-SVN: r178566
2011-09-06 09:06:52 +02:00
GCC Administrator 5a80bdf9ee Daily bump.
From-SVN: r178562
2011-09-06 00:18:39 +00:00
David S. Miller 4f4f4f542a sol2-64.h: Move ...
* config/sparc/sol2-64.h: Move ...
	* config/sparc/default-64.h: ... to here.  Update comment.
	* config.gcc: Update Solaris sparc to use default-64.h, also
	prefix this header into the list on sparc64-*-linux.
	* config/sparc/linux64.h (TARGET_DEFAULT): Only override if
	TARGET_64BIT_DEFAULT is defined.  Remove commented out reference
	to MASK_HARD_QUAD.

From-SVN: r178558
2011-09-05 15:23:40 -07:00
Richard Sandiford 81a478c889 re PR target/49606 (mips64: o64 Unrecognizable insn when one noreturn function calling another noreturn function)
gcc/
	PR target/49606
	* config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): Check Pmode.
	(PMODE_INSN): New macro.
	* config/mips/mips.c (gen_load_const_gp): Use PMODE_INSN.
	(mips_got_load, mips_expand_synci_loop): Likewise.
	(mips_save_gp_to_cprestore_slot): Handle SImode and DImode
	cprestore patterns.
	(mips_emit_loadgp): Use PMODE_INSN.  Handle SImode and DImode
	copygp_mips16 patterns.
	(mips_expand_prologue): Handle SImode and DImode potential_cprestore
	and use_cprestore patterns.
	(mips_override_options): Check for incompatible -mabi and -mlong
	combinations.
	* config/mips/mips.md (unspec_got<mode>): Rename to...
	(unspec_got_<mode>): ...this.
	(copygp_mips16): Use the Pmode iterator.
	(potential_cprestore, cprestore, use_cprestore): Likewise.
	(clear_cache, indirect_jump): Use PMODE_INSN.
	(indirect_jump<mode>): Rename to...
	(indirect_jump_<mode>): ...this.
	(tablejump): Use PMODE_INSN.
	(tablejump<mode>): Rename to...
	(tablejump_<mode>): ...this.
	(exception_receiver): Handle restore_gp_si and restore_gp_di.
	(restore_gp): Use the Pmode iterator.
	* config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Use
	PMODE_INSN.

gcc/testsuite/
	PR target/49606
	* gcc.target/mips/abi-main.h: New file.
	* gcc.target/mips/abi-o32-long32.c: New test.
	* gcc.target/mips/abi-o32-long64.c: Likewise.
	* gcc.target/mips/abi-o64-long32.c: Likewise.
	* gcc.target/mips/abi-o64-long64.c: Likewise.
	* gcc.target/mips/abi-n32-long32.c: Likewise.
	* gcc.target/mips/abi-n32-long64.c: Likewise.
	* gcc.target/mips/abi-n64-long32.c: Likewise.
	* gcc.target/mips/abi-n64-long64.c: Likewise.
	* gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
	* gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
	* gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
	* gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
	* gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
	* gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
	* gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
	* gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
	* gcc.target/mips/abi-o32-long32-pic.c: Likewise.
	* gcc.target/mips/abi-o32-long64-pic.c: Likewise.
	* gcc.target/mips/abi-o64-long32-pic.c: Likewise.
	* gcc.target/mips/abi-o64-long64-pic.c: Likewise.
	* gcc.target/mips/abi-n32-long32-pic.c: Likewise.
	* gcc.target/mips/abi-n32-long64-pic.c: Likewise.
	* gcc.target/mips/abi-n64-long32-pic.c: Likewise.
	* gcc.target/mips/abi-n64-long64-pic.c: Likewise.
	* gcc.target/mips/abi-eabi32-long32.c: Likewise.
	* gcc.target/mips/abi-eabi32-long64.c: Likewise.
	* gcc.target/mips/abi-eabi64-long32.c: Likewise.
	* gcc.target/mips/abi-eabi64-long64.c: Likewise.
	* gcc.target/mips/mips.exp: Make -mshared implied -mabicalls.
	* gcc.target/mips/branch-2.c: Remove -mabicalls.
	* gcc.target/mips/branch-3.c: Likewise.
	* gcc.target/mips/branch-4.c: Likewise.
	* gcc.target/mips/branch-5.c: Likewise.
	* gcc.target/mips/branch-6.c: Likewise.
	* gcc.target/mips/branch-7.c: Likewise.
	* gcc.target/mips/branch-8.c: Likewise.
	* gcc.target/mips/branch-9.c: Likewise.
	* gcc.target/mips/branch-10.c: Likewise.
	* gcc.target/mips/branch-11.c: Likewise.
	* gcc.target/mips/branch-12.c: Likewise.
	* gcc.target/mips/branch-13.c: Likewise.
	* gcc.target/mips/lazy-binding-1.c: Likewise.

From-SVN: r178557
2011-09-05 19:39:27 +00:00
Richard Sandiford 1ab9ec7b7f mips.c (mips_gimplify_va_arg_expr): Unshare off.
gcc/
	* config/mips/mips.c (mips_gimplify_va_arg_expr): Unshare off.
	Fix the type of the BIT_AND_EXPR.

From-SVN: r178556
2011-09-05 19:38:20 +00:00
David S. Miller 70847a486f config.gcc: Recognize niagara3 and niagara4 in --with-cpu and --with-tune options.
* config.gcc: Recognize niagara3 and niagara4 in --with-cpu
	and --with-tune options.

From-SVN: r178555
2011-09-05 09:57:00 -07:00
David S. Miller 3e64c239dd sparc-opts.h (PROCESSOR_NIAGARA3, [...]): New.
* config/sparc/sparc-opts.h (PROCESSOR_NIAGARA3,
	PROCESSOR_NIAGARA4): New.
	* config/sparc/sparc.opt: Handle new processor types.
	* config/sparc/sparc.md: Add to "cpu" attribute.
	* config/sparc/sparc.h (TARGET_CPU_niagara3,
	TARGET_CPU_niagara4): New, treat as niagara2.
	* config/sparc/linux64.h: Handle niagara3 and niagara4
	like niagara2.
	* config/sparc/sol2.h: Likewise.
	* config/sparc/niagara2.md: Schedule niagara3 like
	niagara2.
	* config/sparc/sparc.c (sparc_option_override): Add
	niagara3 and niagara4 handling.
	(sparc32_initialize_trampoline): Likewise.
	(sparc64_initialize_trampoline): Likewise.
	(sparc_use_sched_lookahead): Likewise.
	(sparc_issue_rate): Likewise.
	(sparc_register_move_cost): Likewise.
	* config/sparc/driver-sparc.c (cpu_names): Use niagara3
	and niagara4 as appropriate.
	* doc/invoke.texi: Document new processor types.

From-SVN: r178554
2011-09-05 09:00:53 -07:00
David S. Miller 0913b2d64e config.host: Add driver-sparc.o and sparc/x-sparc on native sparc*-*-linux* builds.
* config.host: Add driver-sparc.o and sparc/x-sparc on
	native sparc*-*-linux* builds.
	* config/sparc/driver-sparc.c: Correct Linux strings.
	* config/sparc/linux.h: Add DRIVER_SELF_SPECS.
	* config/sparc/linux64.h: Likewise.
	* doc/invoke.texi: Document that Linux also supports
	-mcpu=native and -mtune=native on sparc.

From-SVN: r178553
2011-09-05 08:58:57 -07:00
Arnaud Charlet e42bcfa38c [multiple changes]
2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* s-finmas.adb (Set_Finalize_Address): Explain the reason
	for the synchronization. Move the test for null from
	s-stposu.Allocate_Any_Controlled to this routine since the check
	needs to be protected too.
	(Set_Heterogeneous_Finalize_Address): Explain the reason for the
	synchronization code.
	* s-finmas.ads (Set_Heterogeneous_Finalize_Address): Add comment
	explaining the context in which this routine is used.
	* s-stposu.adb (Allocate_Any_Controlled): Move the test for null
	to s-finmas.Set_Finalize_Address.

2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* einfo.ads: Document that itypes have no parent field.

2011-09-05  Robert Dewar  <dewar@adacore.com>

	* rtsfind.adb (Check_CRT): Check for overloaded entity
	* rtsfind.ads: Document that entities to be found by rtsfind
	cannot be overloaded
	* s-taenca.adb, s-tasren.adb, s-tpobop.adb, s-tpoben.ads, s-tpoben.adb
	(Lock_Entries_With_Status): New name for Lock_Entries with two
	arguments (changed to meet rtsfind no overloading rule).

From-SVN: r178551
2011-09-05 16:30:30 +02:00
Arnaud Charlet 544e7c17b5 [multiple changes]
2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* s-finmas.adb (Set_Finalize_Address (Address,
	Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
	(Set_Finalize_Address (in out Finalization_Master,
	Finalize_Address_Ptr): Add synchronization code.
	* s-finmas.ads (Set_Finalize_Address (Address,
	Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
	* s-stposu.adb (Allocate_Any_Controlled): Update the call to
	Set_Finalize_Address for the heterogeneous case.

2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb: Undo previous change, not suitable after all.

2011-09-05  Robert Dewar  <dewar@adacore.com>

	* einfo.ads: Minor comment clarification.

From-SVN: r178550
2011-09-05 16:18:54 +02:00
Arnaud Charlet 0613fb3358 [multiple changes]
2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
	no longer needs to search through the entities of the return
	statement scope to find the _chain.
	* sem_ch5.adb: Add with and use clauses for Exp_Ch6 and Sem_Ch6.
	(Analyze_Block_Statement): Add local variable
	Is_BIP_Return_Statement. Add machinery to install all entities
	produced by the expansion of the return object declaration.
	(Install_Return_Entities): New routine.
	* sem_ch6.ads, sem_ch6.adb (Install_Entity): Moved from body to spec.

2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_Context): Apply simple fixup if context
	of subunit is incomplete.
	(Analyze_Proper_Body): If parent spec is not available, do not
	attempt analysis.

From-SVN: r178549
2011-09-05 16:15:16 +02:00
Arnaud Charlet 5dcab3ca08 [multiple changes]
2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_disp.adb (Find_Controlling_Arg): Add checks for
	interface type conversions, that are expanded into dereferences.

2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
	Examine the parameter and return profile of a subprogram and swap
	any incomplete types coming from a limited context with their
	corresponding non-limited views.
	(Exchange_Limited_Views): New routine.

2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Prepare_Private_Subtype_Completion): Set parent
	of internal entity to the subtype declaration, so that when
	entities are subsequently exchanged in a package body, the tree
	remains properly formatted for ASIS.

From-SVN: r178548
2011-09-05 16:12:04 +02:00
Arnaud Charlet 8da1a31296 [multiple changes]
2011-09-05  Johannes Kanig  <kanig@adacore.com>

	* g-comlin.adb (Set_Usage): Additional optional argument to set help
	message.
	(Display_Help): display the user given help message, if available.

2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (OK_For_Limited_Init_In_05): The expression
	is legal if the original node is an identifier that is a
	parameterless function call.

From-SVN: r178547
2011-09-05 16:08:42 +02:00
Pascal Obry 69b73847d7 prj-nmsc.adb: Minor reformatting.
2011-09-05  Pascal Obry  <obry@adacore.com>

	* prj-nmsc.adb: Minor reformatting.
	Add support for standalone aggregate library.
	(Check_Stand_Alone_Library): Handle standalone aggregate library.
	* projects.texi: Fix documentation for aggregate library projects.

From-SVN: r178546
2011-09-05 16:03:26 +02:00
Georg-Johann Lay 4e5bc13544 ipcp-3.c (mark_cell): Use mask 1 << 14 instead of 1 << 18 to avoid warning on int=16 platforms..
* gcc.dg/ipa/ipcp-3.c (mark_cell): Use mask 1 << 14 instead of 1
	<< 18 to avoid warning on int=16 platforms..

From-SVN: r178545
2011-09-05 14:00:37 +00:00
Arnaud Charlet 81bf23820f [multiple changes]
2011-09-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb: Minor reformatting.

2011-09-05  Matthew Gingell  <gingell@adacore.com>

	* s-tassta.adb (Task_Wrapper): Ensure that we don't try to write the
	stack guard page on PPC Linux. This patch ensures the 64K guard page at
	the bottom of the stack is not overwritten.

From-SVN: r178544
2011-09-05 16:00:30 +02:00
Arnaud Charlet 13a0b1e8dd [multiple changes]
2011-09-05  Thomas Quinot  <quinot@adacore.com>

	* exp_intr.adb, s-tasini.adb: Minor reformatting.

2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Access_Definition): If an access type declaration
	appears in a child unit, the scope of whatever anonymous type
	may be generated is the child unit itself.

2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Do not set
	Comes_From_Source on rewritten body.
	(Analyze_Subprogram_Body_Helper): Check that the original node for
	the body comes from source, when determining whether expansion
	of a protected operation is needed.

From-SVN: r178543
2011-09-05 15:58:39 +02:00
Arnaud Charlet 2042872573 [multiple changes]
2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Replace_Type): If the target of the assignment is
	a selected component and the right-hand side is a self-referential
	access, the proper prefix of the rewritten attribute is a copy
	of the left-hand side, not of its prefix.

2011-09-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb: Minor reformatting.
	* sem_ch3.adb: Minor code clean up.

2011-09-05  Jose Ruiz  <ruiz@adacore.com>

	* exp_ch9.adb (Make_Initialize_Protection): The fact that
	restriction No_Dynamic_Attachment is in effect or not should
	not influence the default priority associated to a protected
	object. With this change, when the restriction is in effect (as
	is the case for the Ravenscar profile) the default priority of
	a protected object with an interrupt handler is in the range of
	interrupt priorities (Default_Interrupt_Priority) as required
	by D.3(10).

2011-09-05  Arnaud Charlet  <charlet@adacore.com>

	* a-iteint.ads: Fix header.

2011-09-05  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
	with a directory separator to avoid output such as:
	  "/path/to/objauto.cgpr" has been deleted.

From-SVN: r178542
2011-09-05 15:53:59 +02:00
Jakub Jelinek e8b803e6e5 struct-layout-1_test.h: Decrease bitfield size to work even with -fshort-enums.
* gcc.dg/compat/struct-layout-1_test.h: Decrease bitfield size
	to work even with -fshort-enums.

From-SVN: r178540
2011-09-05 15:53:08 +02:00
Arnaud Charlet 4a1bfefb84 [multiple changes]
2011-09-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor reformatting.

2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: Better error message.

2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_aggr.adb: Add with and use clause for Exp_Ch6.
	(Expand_Array_Aggregate): Detect a special case of an aggregate
	which contains tasks in the context of an unexpanded return
	statement of a build-in-place function.
	* exp_ch6.adb: Add with and use clause for Exp_Aggr.
	(Expand_N_Extended_Return_Statement): Detect a delayed aggregate
	which contains tasks and expand it now that the original simple
	return statement has been rewritten.
	* exp_ch9.adb (Build_Activation_Chain_Entity): Code
	reformatting. Do not create a chain for an extended return
	statement if one is already available.
	(Has_Activation_Chain): New routine.

From-SVN: r178539
2011-09-05 15:48:16 +02:00
Arnaud Charlet 9ec080cb21 [multiple changes]
2011-09-05  Marc Sango  <sango@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Remove
	the wrong test and add the correct test to detect the violation
	of illegal use of unconstrained string type in SPARK mode.

2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iteration_Specification): Improve error
	message on an iterator over an array.

2011-09-05  Robert Dewar  <dewar@adacore.com>

	* lib-xref-alfa.adb: Minor reformatting.

From-SVN: r178538
2011-09-05 15:40:04 +02:00
Arnaud Charlet 94bbf008ba [multiple changes]
2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb (Write_Field28_Name): Update the choices for
	Extra_Formals.
	* einfo.ads: Update the use of Extra_Formals in various entities.
	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): Code
	reformatting. Handle the case where the function call returns
	an incomplete type coming from a limited with context. Generate
	a reference to the _master when the master id is associated
	with an access type.
	(Is_Build_In_Place_Function_Call): Code
	reformatting. The Alfa mode case must appear first since otherwise
	we will carry out the function name retrieval regardless of the
	compilation mode.
	(Make_Build_In_Place_Call_In_Allocator): Code
	reformatting. Handle the case where the function call returns
	an incomplete type coming from a limited with context. Remove
	the reference creation when adding the task-related actuals,
	this is now done in Add_Task_Actuals_To_Build_In_Place_Call.
	* exp_ch7.adb (Make_Set_Finalize_Address_Call): Remove local
	variable Call. Remove the useless wrapping of Set_Finalize_Address
	when the finalization master is a build-in-place extra formal. The
	whole mechanism of controlled allocation in a build-in-place
	context is already protected by an if statement.
	* sem_aux.adb (Is_Immutably_Limited_Type): Handle the case
	where the type might be related to a function which returns an
	incomplete type coming from a limited with.
	* sem_ch6.adb (Create_Extra_Formals): Comment
	reformatting. Handle the case where the function returns an
	incomplete type coming from a limited with context.

2011-09-05  Johannes Kanig  <kanig@adacore.com>

	* lib-xref-alfa.adb (Is_Alfa_Reference): Improve test for constant
	objects and rewrite case statement as /if/elsif/endif.

2011-09-05  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb, sem_ch4.adb: Minor reformatting.

From-SVN: r178537
2011-09-05 15:19:04 +02:00
Robert Dewar aeae67edd7 sem_ch3.adb, [...]: Minor reformatting.
2011-09-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_res.adb, par.adb, par-ch6.adb, g-comlin.adb,
	exp_ch6.adb, lib-xref-alfa.adb: Minor reformatting.

From-SVN: r178536
2011-09-05 15:12:33 +02:00
Arnaud Charlet d72e76282a [multiple changes]
2011-09-05  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch7.adb, exp_ch6.adb: Minor reformatting.

2011-09-05  Johannes Kanig  <kanig@adacore.com>

	* lib-xref-alfa.adb: Update comments.

2011-09-05  Thomas Quinot  <quinot@adacore.com>

	* sem_res.adb: Minor reformatting

From-SVN: r178535
2011-09-05 15:11:29 +02:00
Ed Schonberg 0d566e0157 exp_ch6.adb (Build_In_Place_Formal): If extra formals are not present, create them now.
2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Build_In_Place_Formal): If extra formals are not
	present, create them now.  Needed in case the return type was
	a limited view in the function declaration.
	(Make_Build_In_Place_Call_In_Allocator): If return type contains
	tasks, build the activation chain for it.  Pass a reference to
	the Master_Id in call to Add_Task_Actuals_To_Build_In_Place call.
	* exp_ch7.adb (Make_Set_Finalize_Address_Call): Clean up interface
	with build_in_place calls.
	* sem_ch9.adb (Analyze_Task_Type_Declaration): If partial view was
	incomplete, inatialize its Corresponding_Record_Type component.
	* sem_ch10.adb (Build_Chain): Initialize Private_Dependents field
	of limited views.

From-SVN: r178534
2011-09-05 15:08:30 +02:00
Arnaud Charlet fb19dec9b4 Fix typo.
From-SVN: r178533
2011-09-05 15:02:49 +02:00
Arnaud Charlet ec09f2616d [multiple changes]
2011-09-05  Johannes Kanig  <kanig@adacore.com>

	* lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
	information.

2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
	appears within a package specification and the token after "IS"
	is not a parenthesis, assume that this is an unparenthesized
	expression function, even if the token appears in a line by
	itself.
	* par.adb: Clarify use of Labl field of scope stack in error
	recovery.

From-SVN: r178532
2011-09-05 15:01:17 +02:00
Arnaud Charlet 7109f4f52d [multiple changes]
2011-09-05  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Resolve_Intrinsic_Operator): Use unchecked
	conversions instead of normal type conversions in all cases where a
	type conversion would be illegal. In particular, use unchecked
	conversions when the operand types are private.

2011-09-05  Johannes Kanig  <kanig@adacore.com>

	* lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
	objects of task type or protected type.

From-SVN: r178531
2011-09-05 14:58:26 +02:00
Arnaud Charlet 66dc8075f3 [multiple changes]
2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): If the expression
	function comes from source, indicate that so does its rewriting,
	so it is compatible with any subsequent expansion of the
	subprogram body (e.g. when it is a protected operation).
	* sem_ch4.adb: minor reformatting

2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* lib.adb (Check_Same_Extended_Unit): Comment rewriting. Use
	Get_Source_Unit rather than Get_Code_Unit as instantiation unfolding
	may lead to wrong ancestor package in the case of instantiated subunit
	bodies. If a subunit is instantiated, follow the chain of instantiations
	rather than the stub structure.

From-SVN: r178530
2011-09-05 14:51:44 +02:00
Georg-Johann Lay 1e3a7e8662 re PR target/50289 ([avr]: call-prologues saving/restoring global register variables)
PR target/50289
	* config/avr/avr.c (sequent_regs_live): Don't recognize sequences
	that contain global register variable.

From-SVN: r178528
2011-09-05 12:20:03 +00:00
Richard Guenther e1ab3876d2 tree-cfg.c (replace_uses_by): Use fold_stmt, not fold_stmt_inplace.
2011-09-05  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (replace_uses_by): Use fold_stmt, not fold_stmt_inplace.

From-SVN: r178527
2011-09-05 10:31:04 +00:00
Richard Guenther 830c740f17 stor-layout.c (layout_type): Use size_binop for array size calculations.
2011-09-05  Richard Guenther  <rguenther@suse.de>

	* stor-layout.c (layout_type): Use size_binop for array size
	calculations.

	c-family/
	* c-common.c (complete_array_type): Use ssize_int (-1) instead
	of integer_minus_one_node for empty array upper bounds.

From-SVN: r178526
2011-09-05 09:03:08 +00:00
Georg-Johann Lay c149e48765 avr.h (progmem_section): Remove Declaration.
* config/avr/avr.h (progmem_section): Remove Declaration.
	* config/avr/avr.c (progmem_section): Make static and rename to
	progmem_swtable_section.
	(avr_output_addr_vec_elt): No need to switch sections.
	(avr_asm_init_sections): Use output_section_asm_op as section
	callback for progmem_swtable_section.
	(avr_output_progmem_section_asm_op): Remove Function.
	(TARGET_ASM_FUNCTION_RODATA_SECTION): New Define.
	(avr_asm_function_rodata_section): New static Function.
	* config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Output
	alignment 2**1 for jump tables.

From-SVN: r178525
2011-09-05 08:30:17 +00:00
Jan Hubicka c5ceeb8763 ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that parameter is SSA name.
* ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that
	parameter is SSA name.

From-SVN: r178524
2011-09-05 07:39:36 +00:00
Richard Guenther 5b970a1aaf revert: fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing.
2011-09-05  Richard Guenther  <rguenther@suse.de>

        Revert
        2011-08-31  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE
	special-casing.

From-SVN: r178523
2011-09-05 07:32:37 +00:00
Jason Merrill 1a94ffae36 re PR c++/49267 (Ambiguity with conversion functions "T&" and "T&&", initializing a "T&&")
PR c++/49267
	* call.c (reference_binding): Don't set is_lvalue for an rvalue
	reference rfrom.

From-SVN: r178521
2011-09-05 00:33:57 -04:00
Jason Merrill 0ad2cde83d re PR c++/49267 (Ambiguity with conversion functions "T&" and "T&&", initializing a "T&&")
PR c++/49267
	PR c++/49458
	DR 1328
	* call.c (reference_binding): Set rvaluedness_matches_p properly
	for reference to function conversion ops.
	(compare_ics): Adjust.

From-SVN: r178520
2011-09-05 00:33:48 -04:00
Jason Merrill fd3faf2b21 class.c (trivial_default_constructor_is_constexpr): Rename from synthesized_default_constructor_is_constexpr.
* class.c (trivial_default_constructor_is_constexpr): Rename from
	synthesized_default_constructor_is_constexpr.
	(type_has_constexpr_default_constructor): Adjust.
	(add_implicitly_declared_members): Call it instead.
	(explain_non_literal_class): Explain about non-constexpr default ctor.
	* cp-tree.h: Adjust.
	* method.c (synthesized_method_walk): Adjust.
	* semantics.c (explain_invalid_constexpr_fn): Handle defaulted
	functions, too.

From-SVN: r178519
2011-09-05 00:33:40 -04:00