Commit Graph

101210 Commits

Author SHA1 Message Date
Arnaud Charlet
e771c08509 [multiple changes]
2010-06-23  Javier Miranda  <miranda@adacore.com>

	* atree.ads (Set_Reporting_Proc): New subprogram.
	* atree.adb: Remove dependency on packages Opt and SCIL_LL.
	(Allocate_Initialize_Node, Replace, Rewrite): Replace direct calls
	to routines of package Scil_ll by indirect call to the registered
	subprogram.
	(Set_Reporting_Proc): New subprogram. Used to register a subprogram
	that is invoked when a node is allocated, replaced or rewritten.
	* scil_ll.adb (Copy_SCIL_Node): New routine that takes care of copying
	the SCIL node. Used as argument for Set_Reporting_Proc.
	(Initialize): Register Copy_SCIL_Node as the reporting routine that
	is invoked by atree.

2010-06-23  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.ads: Minor reformatting.

2010-06-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Package_Instantiation): In CodePeer mode,
	always analyze the generic body and instance, because it may be needed
	downstream.
	(Mark_Context): Prepend the with clauses for needed generic units, so
	they appear in a better order for CodePeer.
	* sem_util.adb, sem_util.ads: Prototype code for AI05-0144.

2010-06-23  Emmanuel Briot  <briot@adacore.com>

	* prj.ads, prj-nmsc.adb (Error_Or_Warning): New subprogram.

From-SVN: r161252
2010-06-23 08:50:13 +02:00
Arnaud Charlet
5d791dfbcd [multiple changes]
2010-06-23  Robert Dewar  <dewar@adacore.com>

	* g-pehage.adb, exp_ch13.adb: Minor reformatting.

2010-06-23  Thomas Quinot  <quinot@adacore.com>

	* a-tags.ads: Fix description of TSD structure.

2010-06-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Mark_Context): When indicating that the body of a
	generic unit is needed prior to the unit containing an instantiation,
	search recursively the context of the generic to add other generic
	bodies that may be instantiated indirectly through the current instance.

From-SVN: r161251
2010-06-23 08:43:38 +02:00
Arnaud Charlet
cd5a975094 [multiple changes]
2010-06-23  Robert Dewar  <dewar@adacore.com>

	* freeze.adb: Minor reformatting.

2010-06-23  Bob Duff  <duff@adacore.com>

	* g-pehage.adb (Trim_Trailing_Nuls): Fix the code to match the comment.

2010-06-23  Vincent Celier  <celier@adacore.com>

	* make.adb (Compile_Sources): Complete previous change.

2010-06-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Add_Extra_Formal): Use suffix "C" in the name of the
	Constrained extra formal.

2010-06-23  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch13.adb (Expand_Freeze_Actions): If validity checks and
	Initialize_Scalars are enabled, compile the generated equality function
	for a composite type with full checks enabled, so that validity checks
	are performed on individual components.

From-SVN: r161250
2010-06-23 08:39:36 +02:00
Arnaud Charlet
3aee21ef61 [multiple changes]
2010-06-23  Emmanuel Briot  <briot@adacore.com>

	* prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
	Missing_Source_Files.

2010-06-23  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb, exp_util.adb: Minor reformatting.

From-SVN: r161249
2010-06-23 08:35:36 +02:00
Arnaud Charlet
5b599df4d1 [multiple changes]
2010-06-23  Jose Ruiz  <ruiz@adacore.com>

	* a-reatim.adb, a-retide.adb: Move the initialization of the tasking
	run time from Ada.Real_Time.Delays to Ada.Real_Time. This way, calls to
	Clock (without delays) use a run time which is properly initialized.

2010-06-23  Vincent Celier  <celier@adacore.com>

	* make.adb: Do not set Check_Readonly_Files when setting Must_Compile,
	when -f -u and a main is specified on the command line. However,
	attempt to compile even when the ALI file is read-only when
	Must_Compile is True.

2010-06-23  Thomas Quinot  <quinot@adacore.com>

	* checks.adb, g-pehage.adb, cstand.adb: Minor code factorization.

From-SVN: r161248
2010-06-23 08:31:57 +02:00
Arnaud Charlet
b4d7b435e0 [multiple changes]
2010-06-23  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
	entities for parent types that are interfaces. Needed in generics to
	handle formals that implement interfaces.
	(Derive_Subprograms): Add assertion for derivation of tagged types that
	do not cover interfaces. For generics, complete code that handles
	derivation of type that covers interfaces because the previous
	condition was weak (it required only name consistency; arguments were
	not checked). Add new code to locate primitives covering interfaces
	defined in generic units or instantiatons.
	* sem_util.adb (Has_Interfaces): Add missing support for derived types.
	* sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
	* exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
	interfaces that are parents of the type because they share the primary
	dispatch table.
	(Register_Primitive): Do not register primitives of interfaces that
	are parents of the type.
	* sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
	* exp_cg.adb (Write_Type_Info): When displaying overriding of interface
	primitives skip primitives of interfaces that are parents of the type.

2010-06-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Eval_Attribute): If the prefix is an array, the
	attribute cannot be constant-folded if an index type is a formal type,
	or is derived from one.
	* checks.adb (Determine_Range): ditto.

2010-06-23  Arnaud Charlet  <charlet@adacore.com>

	* gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.

2010-06-23  Bob Duff  <duff@adacore.com>

	* g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
	(Insert): Disallow nul characters.
	(misc output routines): Assert no nul characters.

From-SVN: r161247
2010-06-23 08:26:07 +02:00
Arnaud Charlet
bc20523f7b [multiple changes]
2010-06-23  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb: Use predefined unsigned type in all cases.

2010-06-23  Bob Duff  <duff@adacore.com>

	* s-rannum.adb (Reset): Avoid overflow in calculation of Initiator.
	* g-pehage.ads: Minor comment fixes.
	* g-pehage.adb: Minor: Add some additional debugging printouts under
	Verbose flag.

2010-06-23  Robert Dewar  <dewar@adacore.com>

	* binde.adb (Better_Choice): Always prefer Pure/Preelab.
	(Worse_Choice): Always prefer Pure/Preelab.

From-SVN: r161246
2010-06-23 08:21:26 +02:00
Vincent Celier
eeed09ef66 a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration
2010-06-23  Vincent Celier  <celier@adacore.com>

	* a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration

From-SVN: r161245
2010-06-23 08:17:00 +02:00
Arnaud Charlet
7665e4bd2c [multiple changes]
2010-06-23  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Properly handle
	checking returns in generic case.
	(Check_Missing_Return): New procedure.

2010-06-23  Robert Dewar  <dewar@adacore.com>

	* bindgen.adb, switch-b.adb: Minor reformatting.

2010-06-23  Javier Miranda  <miranda@adacore.com>

	* frontend.adb (Frontend): Add call to initialize the new package
	SCIL_LL.
	* exp_ch7.adb (Wrap_Transient_Expression): Remove call to
	Adjust_SCIL_Node.
	(Wrap_Transient_Statement): Remove call to Adjust_SCIL_Node.
	* sem_ch5.adb (Analyze_Iteration_Scheme.Process_Bounds): Remove call to
	Adjust_SCIL_Node.
	* exp_util.adb (Insert_Actions): Remove code for
	N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
	(Remove_Side_Effects): Remove calls to Adjust_SCIL_Node.
	* sinfo.adb (SCIL_Entity, SCIL_Tag_Value): Remove checks on
	N_SCIL_Tag_Init and N_SCIL_Dispatch_Table_Object_Init in the assertion.
	(SCIL_Related_Node, Set_SCIL_Related_Node): Removed.
	* sinfo.ads (SCIL_Related_Node): Field removed.
	(N_SCIL_Dispatch_Table_Object_Init): Node removed.
	(N_SCIL_Tag_Init): Node removed.
	* sem_scil.ads, sem_scil.adb (Adjust_SCIL_Node): Removed.
	(Check_SCIL_Node): New implementation.
	(Find_SCIL_Node): Removed.
	* sem.adb (Analyze): Remove management of
	N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
	* sem_util.adb (Insert_Explicit_Dereference): Remove call to
	Adjust_SCIL_Node.
	* exp_ch4.adb (Expand_N_In): Code cleanup: remove call to
	Set_SCIL_Related_Node and avoid adding the SCIL node before the
	referenced node using Insert_Action because this is not longer required.
	(Expand_Short_Circuit_Operator): Remove call to SCIL node.
	* exp_ch6.adb (Expand_Call): Remove call to Adjust_SCIL_Node.
	* sem_ch4.adb (Analyze_Type_Conversion): Remove call to Adjust_SCIL_Node
	* exp_disp.adb (Expand_Dispatching_Call): Minor code reorganization
	because we no longer require to generate the SCIL node before the call.
	(Make_DT): Remove generation of SCI_Dispatch_Table_Object_Init node.
	Remove calls to Set_SCIL_Related_Node and avoid adding the SCIL
	nodes before the referenced node using Insert_Action because this
	is not longer required.
	* atree.adb (Allocate_Initialize_Node, Replace, Rewrite): Add call to
	update the SCIL_Node field.
	* sprint.adb (Sprint_Node_Actual): Remove code for
	N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
	* treepr.adb (Print_Node): Print the SCIL node field (if available).
	* exp_ch3.adb (Build_Init_Procedure): Remove generation of
	SCIL_Tag_Init nodes.
	* scil_ll.ads, scil_ll.adb: New files.

From-SVN: r161244
2010-06-23 08:11:20 +02:00
Arnaud Charlet
5b9c3fc489 [multiple changes]
2010-06-23  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb: Minor reformatting.

2010-06-23  Doug Rupp  <rupp@adacore.com>

	* bindusg.adb (Display): Write -Hnn line.
	* bindgen.adb (Gen_Adainit_Ada): Write Heap_Size to binder file as 
	necessary.
	* init.c (__gl_heap_size): Rename from __gl_no_malloc_64 and change
	valid values to 32 and 64.
	(GNAT$NO_MALLOC_64): Recognize TRUE, 1, FALSE, and 0 in addition to
	ENABLE, DISABLE as valid settings.
	* switch-b.adb (Scan_Binder_Switches): Process -Hnn switch.
	* opt.ads (Heap_Size): New global variable.
	* gcc-interface/utils2.c (maybe_wrap_malloc): Remove mostly redundant 
	TARGET_MALLOC64 check. Fix comment.

From-SVN: r161243
2010-06-23 07:48:28 +02:00
Robert Dewar
13d923cc90 sem_ch6.adb, [...]: Minor reformatting.
2010-06-23  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb, exp_ch4.adb, s-rannum.ads, sem.adb, sem_ch12.adb: Minor
	reformatting.  Add comments.
	* errout.adb (Finalize): Properly adjust warning count when deleting
	continuations.

From-SVN: r161242
2010-06-23 07:40:52 +02:00
Arnaud Charlet
8d66b22ae2 * gnat.dg/not_null.adb: Update test case.
From-SVN: r161241
2010-06-23 07:21:16 +02:00
GCC Administrator
c00ccd0131 Daily bump.
From-SVN: r161240
2010-06-23 00:17:33 +00:00
Paolo Carlini
b0af13eadd profiler_list_to_slist.h: Fix formatting, other minor stylistic changes.
2010-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_list_to_slist.h: Fix formatting,
	other minor stylistic changes.
	* include/profile/impl/profiler_container_size.h: Likewise.
	* include/profile/impl/profiler_vector_size.h: Likewise.
	* include/profile/impl/profiler_hash_func.h: Likewise.
	* include/profile/impl/profiler_trace.h: Likewise.
	* include/profile/impl/profiler_list_to_vector.h: Likewise.
	* include/profile/impl/profiler_vector_to_list.h: Likewise.
	* include/profile/impl/profiler_state.h: Likewise.
	* include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
	* include/profile/impl/profiler_hashtable_size.h: Likewise.
	* include/profile/impl/profiler_node.h: Likewise.

From-SVN: r161236
2010-06-22 23:36:32 +00:00
Matthias Klose
b2e894b50a printers.py: Don't use string exceptions.
2010-06-22  Matthias Klose  <doko@ubuntu.com>

        * python/libstdcxx/v6/printers.py: Don't use string exceptions.

From-SVN: r161233
2010-06-22 22:09:07 +00:00
Jakub Jelinek
87867ff656 re PR c++/44619 (Bogus set but not used warning when using pointer to member operators)
PR c++/44619
	* typeck2.c (build_m_component_ref): Call mark_lvalue_use on
	datum and mark_rvalue_use on component.

	* g++.dg/warn/Wunused-var-13.C: New test.

From-SVN: r161230
2010-06-22 22:50:03 +02:00
Jakub Jelinek
dd6f4f897e re PR c++/44627 (ICE in dump_expr, at cp/error.c:1735)
PR c++/44627
	* error.c (dump_expr): Don't look at CALL_EXPR_ARG (t, 0) if
	the CALL_EXPR has no arguments.

	* g++.dg/diagnostic/method1.C: New test.

From-SVN: r161227
2010-06-22 22:42:50 +02:00
Andreas Schwab
f878882bef m68k.c (m68k_output_addr_const_extra): Add cast to enum type.
* config/m68k/m68k.c (m68k_output_addr_const_extra): Add cast to
enum type.
(m68k_sched_attr_opx_type): Remove unreachable return.
(m68k_sched_attr_opy_type): Likewise.
(m68k_sched_attr_size): Likewise.
(sched_get_opxy_mem_type): Likewise.
(m68k_sched_attr_op_mem): Likewise.

From-SVN: r161225
2010-06-22 20:03:52 +00:00
Eric Botcazou
8d2adc244b cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the new statement and adjust VDEF only if necessary.
* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the
	new statement and adjust VDEF only if necessary.  Remove superfluous
	call to maybe_clean_or_replace_eh_stmt.
	* gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to
	copy the flags.
	* gimple-iterator.c (gsi_replace): Clear BB of old statement here...
	* tree-inline.c (copy_bb): ...and not there.

From-SVN: r161221
2010-06-22 18:21:25 +00:00
Cary Coutant
ca3e07b4ed dwarf2out.c (is_nested_in_subprogram): New function.
gcc/ChangeLog:

	* dwarf2out.c (is_nested_in_subprogram): New function.
	(should_move_die_to_comdat): Use it.
	(copy_ancestor_tree): Don't mark DIEs here.
	(copy_decls_walk): Start walk from root of newly-added tree;
	mark DIEs here instead.

gcc/testsuite/ChangeLog:

	* g++.dg/debug/dwarf2/dwarf4-typedef.C: New test.

From-SVN: r161217
2010-06-22 10:41:05 -07:00
Arnaud Charlet
9bebf0e989 [multiple changes]
2010-06-22  Robert Dewar  <dewar@adacore.com>

	* errout.adb (Finalize): Set Prev pointers.
	(Finalize): Delete continuations for deletion by warnings off(str).
	* erroutc.ads: Add Prev pointer to error message structure.

2010-06-22  Ed Schonberg  <schonberg@adacore.com>

	* sem.adb (Do_Unit_And_Dependents): If the spec of the main unit is a
	child unit, examine context of parent units to locate instantiated
	generics whose bodies may be needed. 
	* sem_ch12.adb: (Mark_Context): if the enclosing unit does not have a
	with_clause for the instantiated generic, examine the context of its
	parents, to set Withed_Body flag, so that it can be visited earlier.
	* exp_ch4.adb (Expand_N_Op_Not): If this is a VMS operator applied to
	an unsigned type, use a type of the proper size for the intermediate
	value, to prevent alignment problems on unchecked conversion.

2010-06-22  Geert Bosch  <bosch@adacore.com>

	* s-rannum.ads Change Generator type to be self-referential to allow
	Random to update its argument. Use "in" mode for the generator in the
	Reset procedures to allow them to be called from the Ada.Numerics
	packages without tricks.
	* s-rannum.adb: Use the self-referencing argument to get write access
	to the internal state of the random generator.
	* a-nudira.ads: Make Generator a derived type of
	System.Random_Numbers.Generator.
	* a-nudira.adb: Remove use of 'Unrestricted_Access.
	Put subprograms in alpha order and add headers.
	* g-mbdira.ads: Change Generator type to be self-referential.
	* g-mbdira.adb: Remove use of 'Unrestricted_Access.

From-SVN: r161215
2010-06-22 19:29:41 +02:00
Arnaud Charlet
545cb5be91 [multiple changes]
2010-06-22  Robert Dewar  <dewar@adacore.com>

	* freeze.adb: Minor reformatting
	Minor code reorganization (use Nkind_In and Ekind_In).

2010-06-22  Bob Duff  <duff@adacore.com>

	* gnat1drv.adb (Gnat1drv): Remove the messages that recommend using 
	-gnatc when a file is compiled that we cannot generate code for, not
	helpful and confusing.

2010-06-22  Vincent Celier  <celier@adacore.com>

	* switch-m.adb (Normalize_Compiler_Switches): Process correctly
	switches -gnatknn.

2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>

	* s-rannum.adb: Replace constants with commented symbols.
	* s-rannum.ads: Explain significance of the initial value of the data
	structure.

2010-06-22  Ed Schonberg  <schonberg@adacore.com>

	* a-ngcoty.adb: Clarify comment.

2010-06-22  Gary Dismukes  <dismukes@adacore.com>

	* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Return without
	expansion for indexing packed arrays with small power-of-2 component
	sizes when the target is AAMP.
	(Expand_Packed_Element_Reference): Return without expansion for
	indexing packed arrays with small power-of-2 component sizes when the
	target is AAMP.

2010-06-22  Geert Bosch  <bosch@adacore.com>

	* exp_ch4.adb (Expand_N_In): Do not substitute a valid check for X in
	Float'Range.

2010-06-22  Robert Dewar  <dewar@adacore.com>

	* g-mbdira.adb, g-mbflra.adb, a-nuflra.adb, a-nudira.adb: Minor comment
	updates.

From-SVN: r161213
2010-06-22 19:17:57 +02:00
Arnaud Charlet
879e23f058 [multiple changes]
2010-06-22  Doug Rupp  <rupp@adacore.com>

	* system-vms.ads, system-vms-zcx.ads: Remove old unused VMS system
	packages.
	* system-vms_64.ads, system-vms-ia64.ads: Minor reformatting.
	(pragma Ident): Add a default ident string in the private part.

2010-06-22  Robert Dewar  <dewar@adacore.com>

	* cstand.adb: Minor reformatting.

2010-06-22  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Build_And_Analyze_Renamed_Body): For expansion purposes,
	recognize the Shift and Rotation intrinsics that are known to the
	compiler but have no interface name.

2010-06-22  Geert Bosch  <bosch@adacore.com>

	* a-ngcoty.adb ("*"): Rewrite complex multiplication to use proper
	scaling in case of overflow or NaN results.

From-SVN: r161210
2010-06-22 19:11:54 +02:00
H.J. Lu
153b6955c8 Also check sseishft1 for unit attribute.
2010-06-22  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.md (unit): Also check sseishft1.

From-SVN: r161209
2010-06-22 10:10:29 -07:00
Janus Weil
5cd2f8152d re PR fortran/44616 ([OOP] ICE if CLASS(foo) is used before its definition)
2010-06-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44616
	* resolve.c (resolve_fl_derived): Avoid checking for abstract on class
	containers.

2010-06-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44616
	* gfortran.dg/abstract_type_8.f03: New.

From-SVN: r161208
2010-06-22 19:07:06 +02:00
Jan Hubicka
b074e7833b * gimple.h (gimple_expr_code): Do checking on when gimple checking is enabled.
From-SVN: r161207
2010-06-22 17:06:24 +00:00
Robert Dewar
17bb3f185a cstand.adb: Complete previous change.
2010-06-22  Robert Dewar  <dewar@adacore.com>

	* cstand.adb: Complete previous change.
	* g-dirope.ads: Add comment.
	* s-stchop.adb, sfn_scan.adb: Minor reformatting.

From-SVN: r161206
2010-06-22 19:04:37 +02:00
Arnaud Charlet
ea7f928bd6 [multiple changes]
2010-06-22  Ed Schonberg  <schonberg@adacore.com>

	* cstand.adb: Add tree nodes for pragma Pack on string types.

2010-06-22  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb (Last_Formal): New synthesized attribute.
	* exp_util.adb (Find_Prim_Op): Use new attribute to locate the last
	formal of a primitive.
	* exp_disp.adb (Is_Predefined_Dispatching_Operation,
	 Is_Predefined_Dispatching_Alias): Use new attribute to locate the last
	formal of a primitive.
	* exp_cg.adb (Is_Predefined_Dispatching_Operation): Use new attribute
	to obtain the last formal of a primitive.

2010-06-22  Geert Bosch  <bosch@adacore.com>

	* sysdep.c, init.c, adaint.c, cstreams.c: Remove conditional code
	depending on __EMX__ or MSDOS being defined.
	* i-cstrea.ads, gnat_rm.texi: Remove mentions of OS/2, DOS and Xenix.
	* a-excpol-abort.adb: Update comment indicating users of the file.
	* xref_lib.adb, sfn_scan.adb: Remove mention of OS/2, replace NT by
	Windows.
	* env.c: Remove empty conditional for MSDOS.
	* s-stchop.adb, g-dirope.ads, s-fileio.adb, osint.ads: Remove mention
	of OS/2 in comment.

From-SVN: r161205
2010-06-22 18:57:01 +02:00
Arnaud Charlet
bb10b89181 [multiple changes]
2010-06-22  Robert Dewar  <dewar@adacore.com>

	* s-rannum.adb: Minor reformatting.

2010-06-22  Javier Miranda  <miranda@adacore.com>

	* sem_aux.adb, sem_aux.ads, sem_util.adb, sem_util.ads, sem_elim.adb,
	exp_cg.adb: Minor code reorganization: Move routine Ultimate_Alias from
	package Sem_Util to package Sem_Aux.

2010-06-22  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_Secondary_DT, Make_DT): Minor code cleanup:
	remove useless restriction on imported routines when building the
	dispatch tables.

2010-06-22  Robert Dewar  <dewar@adacore.com>

	* cstand.adb (Create_Standard): Set Has_Pragma_Pack for standard string
	types.

2010-06-22  Javier Miranda  <miranda@adacore.com>

	* sem_ch4.adb (Collect_Generic_Type_Ops): Protect code that handles
	generic subprogram declarations to ensure proper context. Add missing
	support for generic actuals.
	(Try_Primitive_Operation): Add missing support for concurrent types that
	have no Corresponding_Record_Type. Required to diagnose errors compiling
	generics or when compiling with no code generation (-gnatc).
	* sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Do not build
	the corresponding record type.
	* sem_disp.ads, sem_disp.adb (Check_Dispatching_Operation): Complete
	documentation. Do minimum decoration when processing a primitive of a
	concurrent tagged type that covers interfaces. Required to diagnose
	errors in the Object.Operation notation compiling generics or under
	-gnatc.
	* exp_ch9.ads, exp_ch9.adb (Build_Corresponding_Record): Add missing
	propagation of attribute Interface_List to the corresponding record.
	(Expand_N_Task_Type_Declaration): Code cleanup.
	(Expand_N_Protected_Type_Declaration): Code cleanup.

From-SVN: r161203
2010-06-22 18:47:55 +02:00
Arnaud Charlet
5bec9717c3 [multiple changes]
2010-06-22  Matthew Heaney  <heaney@adacore.com>

	* a-convec.adb, a-coinve.adb: Removed 64-bit types Int and UInt.

2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>

	* s-rannum.adb (Random_Float_Template): Replace with unbiased version
	that is able to produce all representable floating-point numbers in the
	unit interval. Remove template parameter Shift_Right, no longer used.
	* gnat_rm.texi: Document the period of the pseudo-random number
	generator under the description of its algorithm.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r161202
2010-06-22 18:35:15 +02:00
Arnaud Charlet
5087048c12 [multiple changes]
2010-06-22  Thomas Quinot  <quinot@adacore.com>

	* exp_aggr.adb (Rewrite_Discriminant): Fix predicate used to identify
	reference to discriminant (can be an expanded name as well as an
	identifier).

2010-06-22  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb: Clarify comment.

2010-06-22  Geert Bosch  <bosch@adacore.com>

	* exp_imgv.adb (Expand_Image_Attribute): Treat ordinary fixed point
	with decimal small as decimal types, avoiding floating-point arithmetic.
	(Has_Decimal_Small): New function.
	* einfo.ads, einfo.adb (Aft_Value): New synthesized attributed for
	fixed point types.
	* sem_attr.adb (Eval_Attribute): Remove Aft_Value function and update
	callers to call the new function in Einfo that takes the entity as
	parameter.

From-SVN: r161200
2010-06-22 18:22:58 +02:00
Jan Hubicka
50b2e85996 Fix version of patch from previous commit ;(
From-SVN: r161199
2010-06-22 16:02:34 +00:00
Robert Dewar
c42bfef297 sem_ch3.adb, [...]: Minor reformatting.
2010-06-22  Robert Dewar  <dewar@adacore.com>

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

From-SVN: r161198
2010-06-22 17:54:12 +02:00
Jan Hubicka
1a0f3fa137 df-problems.c (df_rd_confluence_n, [...]): Return true if something changed.
* df-problems.c (df_rd_confluence_n, df_lr_confluence_n, df_live_confluence_n,
	df_byte_lr_confluence_n, df_md_confluence_n): Return true if something changed.
	* df.h (df_confluence_function_n): Return bool.
	* df-core.c (df_worklist_propagate_forward, df_worklist_propagate_backward):
	track changes and ages.
	(df_worklist_dataflow_doublequeue): Use bitmap iterator for main walk;
	track ages.
	* dse.c (dse_confluence_n): Return always true.

From-SVN: r161197
2010-06-22 15:51:15 +00:00
Arnaud Charlet
4c484f4092 [multiple changes]
2010-06-22  Thomas Quinot  <quinot@adacore.com>

	* sem_elab.adb: Minor reformatting.

2010-06-22  Vincent Celier  <celier@adacore.com>

	* gnatsym.adb: Put the object files in the table in increasing
	aphabetical order of base names.

2010-06-22  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Set_Entity_Or_Discriminal): New procedure used by
	Find_Direct_Name and Find_Expanded_Name, to replace a discriminant with
	the corresponding discriminal within a record declaration.

From-SVN: r161196
2010-06-22 17:41:47 +02:00
Thomas Quinot
61441c180d exp_aggr.adb (Rewrite_Discriminant): Rewriting must occur only for an expression referring to a discriminal of the...
2010-06-22  Thomas Quinot  <quinot@adacore.com>

	* exp_aggr.adb (Rewrite_Discriminant): Rewriting must occur only for an
	expression referring to a discriminal of the type of the aggregate (not
	a discriminal of some other unrelated type), and the prefix in the
	generated selected component must come from Lhs, not Obj.

2010-06-22  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb (Build_Derived_Record_Type): Fix predicate determining
	when to freeze the parent type.

From-SVN: r161195
2010-06-22 17:37:19 +02:00
Robert Dewar
1c612f2919 s-rannum.adb, [...]: Minor reformatting.
2010-06-22  Robert Dewar  <dewar@adacore.com>

	* s-rannum.adb, a-nudira.adb, types.ads, freeze.adb, sem_aggr.adb,
	exp_aggr.adb: Minor reformatting.
	* gnat_rm.texi: Document GNAT.MBBS_Discrete_Random and
	GNAT.MBSS_Float_Random.
	* g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: Fix header.

From-SVN: r161194
2010-06-22 17:32:18 +02:00
Paolo Carlini
82c2f1bbd3 re PR libstdc++/44630 (profiler_trace.h defines functions __max and __min which causes portability problems)
2010-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44630
	* include/profile/impl/profiler_trace.h (__min, __max): Remove,
	use std::min, std::max everywhere.
	* include/profile/impl/profiler_container_size.h: Use std::min and
	std::max.
	* include/profile/impl/profiler_hash_func.h: Likewise.
	* include/profile/impl/profiler_list_to_vector.h: Likewise.

From-SVN: r161192
2010-06-22 15:28:02 +00:00
Paul Hilfinger
41195c9458 2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
* a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads,
	gnat_rm.texi, impunit.adb, Makefile.rtl, s-rannum.adb
	(Random_Float_Template, Random): New method of creating
	uniform floating-point variables that allow the creation of all machine
	values in [0 .. 1).  

	* g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: New file.

From-SVN: r161191
2010-06-22 17:24:10 +02:00
Uros Bizjak
07309d58d0 * bitmap.c (bitmap_clear_bit): Micro optimize.
From-SVN: r161189
2010-06-22 14:44:24 +00:00
Arnaud Charlet
b0256cb6d2 [multiple changes]
2010-06-22  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch5.adb (Analyze_Assignment): Revise test for illegal assignment
	to abstract targets to check that the type is tagged and comes from
	source, rather than only testing for targets of interface types. Remove
	premature return.

2010-06-22  Vincent Celier  <celier@adacore.com>

	* vms_data.ads: Modify the declarations of qualifiers
	/UNCHECKED_SHARED_LIB_IMPORTS to allow the generation of gnat.hlp
	without error.

2010-06-22  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false if
	expansion is disabled.

2010-06-22  Robert Dewar  <dewar@adacore.com>

	* makeusg.adb: Minor reformatting.

2010-06-22  Robert Dewar  <dewar@adacore.com>

	* types.ads: (Dint): Removed, no longer used anywhere.
	* uintp.adb (UI_From_CC): Use UI_From_Int, range is sufficient.
	(UI_Mul): Avoid use of UI_From_Dint.
	(UI_From_Dint): Removed, not used.
	* uintp.ads (UI_From_Dint): Removed, not used.
	(Uint_Min/Max_Simple_Mul): New constants.

From-SVN: r161187
2010-06-22 15:53:46 +02:00
Vincent Celier
eeb41f0134 clean.adb (Parse_Cmd_Line): Recognize switch --unchecked-shared-lib-imports.
2010-06-22  Vincent Celier  <celier@adacore.com>

	* clean.adb (Parse_Cmd_Line): Recognize switch
	--unchecked-shared-lib-imports.
	(Usage): Add line for switch --unchecked-shared-lib-imports
	* makeusg.adb: Add line for switch --unchecked-shared-lib-imports
	* makeutl.ads: (Unchecked_Shared_Lib_Imports): New constant string
	moved from GPR_Util.
	* switch-m.adb (Scan_Make_Switches): Recognize switch
	--unchecked-shared-lib-imports.
	* vms_data.ads: Add VMS qualifiers /UNCHECKED_SHARED_LIB_IMPORTS.
	* gnat_ugn.texi: Add documentation for new switch
	--unchecked-shared-lib-imports.  Add also documentation for --subdirs.

From-SVN: r161186
2010-06-22 15:43:47 +02:00
Uros Bizjak
a8ecfc9f2c i386.md (SWI1248x): New mode iterator.
* config/i386/i386.md (SWI1248x): New mode iterator.
	(SWI48x): Ditto.
	(SWI12): Ditto.
	(SWI24): Ditto.
	
	(mov<mode>): Macroize expander from mov{qi,hi,si,di} using
	SWI1248x mode iterator.
	(*push<mode>2_rex64): Macroize insn from *push{qi,hi,si}_rex64
	using SWI124 mode iterator.
	(*push<mode>2): Macroize insn from *push{qi,hi} using SWI12
	mode iterator.
	(*push<mode>2_prologue): Macroize insn from  *pushsi2_prologue and
	*pushdi2_prologue_rex64 using P mode iterator.
	(*mov<mode>_xor): Macroize insn from *movsi_xor and *movdi_xor_rex64
	using SWI48 mode iterator.
	(*mov<mode>_or): Ditto from *movsi_or and *movdi_or_rex64.
	(*movabs<mode>_1): Macroize insn from *movabs{qi,hi,si,di}_1_rex64
	using SWI1248x mode iterator.
	(*movabs<mode>_2): Ditto from *movabs{qi,hi,si,di}_1_rex64.
	(*swap<mode>): Macroize insn from *swapsi and *swapdi_rex64 using
	SWI48 mode iterator.
	(*swap<mode>_1): Macroize insn from *swap{qi,hi}_1 using SWI12 mode
	iterator.
	(*swap<mode>_2): Ditto from *swap{qi,hi}_2.
	(movstrict<mode>): Macroize expander from movstrict{qi,hi} using
	SWI12 mode iterator.
	(*movstrict<mode>_1): Macroize insn from *movstrict{qi,hi}_1 using
	SWI12 mode iterator.
	(*movstrict<mode>_xor): Ditto from *movstrict{qi,hi}_xor.
	(*mov<mode>_extv_1): Macroize insn from *mov{hi,si}_extv_1 using
	SWI24 mode iterator.
	(*mov<mode>_extzv_1): Macroize insn from *mov{si,di}_extzv_1 using
	SWI48 mode iterator.
	(mov<mode>_insn_1): New expander.
	(*mov<mode>_insv_1_rex64): Macroize insn from *mov{si,di}_insv_1_rex64
	using SWI48x mode iterator.

	(*movoi_internal_avx): Rename from *movoi_internal.
	(*movti_internal_rex64): Rename from *movti_rex64.
	(*movti_internal_sse): Rename from *movti_sse.
	(*movdi_internal_rex64): Rename from *movdi_1_rex64.
	(*movdi_internal): Rename from *movdi_2.
	(*movsi_internal): Rename from *movsi_1.
	(*movhi_internal): Rename from *movhi_1.
	(*movqi_internal): Rename from *movqi_1.

	(insv): Update the call to gen_movsi_insv_1 for rename.
	* config/i386/i386.c (promote_duplicated_reg): Ditto.

From-SVN: r161185
2010-06-22 15:36:15 +02:00
Javier Miranda
b81a5940b4 sem_prag.adb, [...]: Code cleanup...
2010-06-22  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, exp_ch6.adb,
	exp_disp.adb, sem_eval.adb, exp_dist.adb lib-xref.adb: Code cleanup,
	this patch replaces duplication of code that traverses the chain of
	aliased primitives by a call to routine Ultimate_Alias that
	provides this functionality.

From-SVN: r161184
2010-06-22 15:32:54 +02:00
Arnaud Charlet
9e9df9da7b [multiple changes]
2010-06-22  Arnaud Charlet  <charlet@adacore.com>

	* fmap.adb, opt.ads, osint.adb, osint.ads, output.ads, scng.adb,
	sinput-c.adb, switch-m.ads, tree_io.ads: Use simpler form of
	Warnings Off/On.

2010-06-22  Thomas Quinot  <quinot@adacore.com>

	* einfo.ads: Minor reformatting.

2010-06-22  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Expand_Interface_Thunk): Do not generate thunk of
	eliminated primitives.
	(Make_DT): Avoid referencing eliminated primitives.
	(Register_Primitive): Do not register eliminated primitives in the
	dispatch table. Required to add this functionality when the program is
	compiled without static dispatch tables (-gnatd.t)

From-SVN: r161183
2010-06-22 15:26:32 +02:00
Arnaud Charlet
fa5aa83538 [multiple changes]
2010-06-22  Emmanuel Briot  <briot@adacore.com>

	* fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads,
	tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent
	warnings on use of internal GNAT units.

2010-06-22  Jose Ruiz  <ruiz@adacore.com>

	* s-taprop-vxworks.adb (Set_Priority): Update comments.

2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>

	* s-rannum.adb: Make stylistic change to remove mystery constant in
	Extract_Value.  Image_Numeral_Length: new symbolic constant.

2010-06-22  Ed Schonberg  <schonberg@adacore.com>

	* einfo.ads, einfo.adb: Make Is_Protected_Interface,
	Is_Synchronized_Interface, Is_Task_Interface into computable
	predicates, to free three flags in entity nodes.
	* sem_ch3.adb: Remove setting of these flags.

From-SVN: r161181
2010-06-22 15:20:17 +02:00
Robert Dewar
f6da8aff3d uintp.adb, [...]: Minor reformatting.
2010-06-22  Robert Dewar  <dewar@adacore.com>

	* uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor
	reformatting.
	* s-taprop-vxworks.adb: Add comment for Set_Priority.
	* impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads
	* projects.texi: Move @cindex to the left margin, since otherwise we
	are missing entries in the index.

From-SVN: r161179
2010-06-22 15:15:15 +02:00
John David Anglin
a181e8690b Add missing '*'.
From-SVN: r161175
2010-06-22 13:03:56 +00:00
Arnaud Charlet
55c1c66dc8 [multiple changes]
2010-06-22  Emmanuel Briot  <briot@adacore.com>

	* prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use
	packages from the GNAT hierarchy instead of System when possible.
	* gcc-interface/Make-lang.in: Update dependencies.

2010-06-22  Jose Ruiz  <ruiz@adacore.com>

	* s-taprop-vxworks.adb (Set_Priority): Remove the code that was
	previously in place to reorder the ready queue when a task drops its
	priority due to the loss of inherited priority.

From-SVN: r161174
2010-06-22 14:57:07 +02:00
Arnaud Charlet
31b8a02d0b [multiple changes]
2010-06-22  Vincent Celier  <celier@adacore.com>

	* projects.texi: Minor spelling error fixes.
	Minor reformatting.

2010-06-22  Emmanuel Briot  <briot@adacore.com>

	* prj-part.adb, prj-ext.adb, prj.adb, makeutl.adb, prj-conf.adb: Remove
	warnings for some with clauses.

From-SVN: r161172
2010-06-22 14:45:13 +02:00