1. 26 May, 2008 35 commits
    • * gnat.dg/pak.ad[sb]: New test. · e94a8385
      From-SVN: r135926
      Arnaud Charlet committed
    • Resync. · ad89bc8d
      From-SVN: r135925
      Arnaud Charlet committed
    • exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on condition for assignment to temporary. · 4babc15d
      2008-05-26  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
      	condition for assignment to temporary.
      
      From-SVN: r135924
      Thomas Quinot committed
    • einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias. · ce2b6ba5
      2008-05-26  Javier Miranda  <miranda@adacore.com>
      
      	* einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
      	(Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
      	(Is_Internal): Adding documentation on internal entities that have
       	attribute Interface_Alias (old attribute Abstract_Interface_Alias)
      
      	* einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
      	(Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
       	Added assertion to force entities with this attribute to have
       	attribute Is_Internal set to True.
      	(Next_Tag_Component): Simplify assertion using attribute Is_Tag.
      
      	* sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
       	renamed as Derive_Progenitor_Subprograms. In addition, its code is
       	a new implementation.
      	(Add_Interface_Tag_Components): Remove special management of
      	synchronized interfaces.
      	(Analyze_Interface_Declaration): Minor reformating
      	(Build_Derived_Record_Type): Minor reformating
      	(Check_Abstract_Overriding): Avoid reporting error in case of abstract
       	predefined primitive inherited from interface type because the body of
       	internally generated predefined primitives of tagged types are generated
       	later by Freeze_Type
      	(Derive_Subprogram): Avoid generating an internal name if the parent
       	subprogram overrides an interface primitive.
      	(Derive_Subprograms): New implementation that keeps separate the
       	management of tagged types not implementing interfaces, from tagged
       	types that implement interfaces.
      	(Is_Progenitor): New implementation.
      	(Process_Full_View): Add documentation
      	(Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
       	by call to Derive_Progenitor_Subprograms.
      
      	* sem_ch6.ads (Is_Interface_Conformant): New subprogram.
      	(Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
       	Skip_Controlling_Formals.
      
      	* sem_ch6.adb (Is_Interface_Conformant): New subprogram.
      	(Check_Conventions): New implementation. Remove local subprogram
       	Skip_Check. Remove formal Search_From of routine Check_Convention.
      	(Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
       	Skip_Controlling_Formals.
      	(New_Overloaded_Entity): Enable addition of predefined dispatching
       	operations.
      
      	* sem_disp.ads
      	(Find_Primitive_Covering_Interface): New subprogram.
      
      	* sem_disp.adb (Check_Dispatching_Operation): Disable registering
       	the task body procedure as a primitive of the corresponding tagged
       	type.
      	(Check_Operation_From_Private_Type): Avoid adding twice an entity
       	to the list of primitives.
      	(Find_Primitive_Covering_Interface): New subprogram.
      	(Override_Dispatching_Operation): Add documentation.
      
      	* sem_type.adb (Covers): Minor reformatings
      
      	* sem_util.ads (Collect_Abstract_Interfaces): Renamed as
      	Collect_Interfaces.
       	Rename formal.
      	(Has_Abstract_Interfaces): Renamed as Has_Interfaces.
      	(Implements_Interface): New subprogram.
      	(Is_Parent): Removed.
      	(Primitive_Names_Match): New subprogram.
      	(Remove_Homonym): Moved here from Derive_Interface_Subprograms.
      	(Ultimate_Alias): New subprogram.
      
      	* sem_util.adb (Collect_Abstract_Interfaces): Renamed as
      	Collect_Interfaces.
       	Remove special management for synchronized types. Rename formal. Remove
       	internal subprograms Interface_Present_In_Parent and Add_Interface.
      	(Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
       	on non-record types by code to return false in such case.
      	(Implements_Interface): New subprogram.
      	(Is_Parent): Removed. No special management is now required for
       	synchronized types covering interfaces.
      	(Primitive_Names_Match): New subprogram.
      	(Remove_Homonym): Moved here from Derive_Interface_Subprograms.
      	(Ultimate_Alias): New subprogram.
      
      	* exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
       	Add internal entities associated with secondary dispatch tables to
       	the list of tagged type primitives that are not interfaces.
      	(Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
      	(Make_Predefined_Primitive_Specs): Code reorganization to improve
       	the management of predefined equality operator. In addition, if
       	the type has an equality function corresponding with a primitive
       	defined in an interface type, the inherited equality is abstract
       	as well, and no body can be created for it.
      
      	* exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
       	exp_util to exp_disp.
      	(Is_Predefined_Interface_Primitive): New subprogram. Returns True if
       	an entity corresponds with one of the predefined primitives required
       	to implement interfaces.
      	Update copyright notice.
      
      	* exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
       	final check on abstract subprograms all the primitives associated with
       	interface primitives because they must be visible in the public and
       	private part.
      	(Write_DT): Use Find_Dispatching_Type to locate the name of the
      	interface type. This allows the use of this routine, for debugging
      	purposes, when the tagged type is not fully decorated.
      	(Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
       	Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
      	(Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
       	entity corresponds with one of the predefined primitives required to
       	implement interfaces.
      
      	* exp_util.adb (Find_Interface_ADT): New implementation
      	(Find_Interface): Removed.
      
      	* sprint.adb (Sprint_Node_Actual): Generate missing output for the
       	list of interfaces associated with nodes
      	N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
      
      From-SVN: r135923
      Javier Miranda committed
    • i386.md (allocate_stack_worker_64): Make sure argument operand in rax isn't removed. · e5f005e1
      2008-05-26  Kai Tietz  <kai.tietz@onevision.com>
      
      	PR/36321
      	* config/i386/i386.md (allocate_stack_worker_64): Make sure argument operand in
      	rax isn't removed.
      
      2008-05-26  Kai Tietz  <kai.tietz@onevision.com>
      
      	* gcc-c.torture/execute/pr36321.c: New.
      
      From-SVN: r135921
      Kai Tietz committed
    • Resync. · c878b2ef
      From-SVN: r135920
      Arnaud Charlet committed
    • * sem_ch3.adb: Minor reformatting · 82d2af1b
      From-SVN: r135919
      Arnaud Charlet committed
    • exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint checks on the upper bound if... · e886436a
      2008-05-26  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
      	checks on the upper bound if the index type is a modular type, to
      	prevent wrap-around computations when size is close to upper bound of
      	type.
      
      From-SVN: r135918
      Ed Schonberg committed
    • Resync. · 39281edf
      From-SVN: r135917
      Arnaud Charlet committed
    • exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting. · 8cea7b64
      2008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
      	Generate a tag check when the result subtype of a function, defined by
      	an access definition, designates a specific tagged type.
      	(Make_Tag_Check): New routine.
      
      From-SVN: r135916
      Hristian Kirtchev committed
    • * sinfo.ads: Minor reformatting · 41def521
      From-SVN: r135915
      Arnaud Charlet committed
    • sem_ch12.adb (Remove_Parent): Use specification of instance to retrieve generic parent... · 847ec40a
      2008-05-26  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Remove_Parent): Use specification of instance
      	to retrieve generic parent,
      	to handle properly the case where the instance is a child unit.
      	Add guard to handle properly wrapper packages.
      	Minor reformatting
      
      From-SVN: r135914
      Ed Schonberg committed
    • re PR middle-end/36300 (Incorrect type used for inlined expression) · fcb4587e
      2008-05-26  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/36300
      	* fold-const.c (extract_muldiv_1): Use TYPE_OVERFLOW_WRAPS,
      	not TYPE_UNSIGNED.  Use TYPE_PRECISION instead of GET_MODE_SIZE.
      
      	* gcc.dg/pr36300-1.c: New testcase.
      	* gcc.dg/pr36300-2.c: Likewise.
      
      From-SVN: r135913
      Richard Guenther committed
    • * ceinfo.adb, csinfo.adb: Remove warnings. Update headers. · d6ca724c
      From-SVN: r135912
      Arnaud Charlet committed
    • gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker. · c654b659
      	* gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
      	(builtin_decl_for): Likewise.
      	* trans.c (gigi): Likewise.
      	* utils.c (def_builtin_1): Fix formatting.
      
      From-SVN: r135911
      Eric Botcazou committed
    • set_in_pproc.adb: New test. · 68e92eab
      	* gnat.dg/set_in_pproc.adb: New test.
      	* gnat.dg/modular2.adb: New test.
      
      From-SVN: r135910
      Arnaud Charlet committed
    • Resync. · 1c331d2d
      From-SVN: r135909
      Arnaud Charlet committed
    • 2008-05-26 Ed Schonberg <schonberg@adacore.com> · 6b9aa578
      	* sem_ch12.adb:
      	(Remove_Parent): If the enclosing scope is an instance whose generic
      	parent is declared within some parent scope of the just completed
      	instance, make full views of the entities in that parent visible, when
      	applicable.
      
      From-SVN: r135908
      Ed Schonberg committed
    • 2008-05-26 Jose Ruiz <ruiz@adacore.com> · c9999044
      	* s-osinte-aix.adb:
      	(To_Target_Priority): Setting the time slice value to 0 or greater sets
      	the scheduling policy to FIFO within priorities or round-robin
      	respectively.
      	Hence, the priority must be set in this case to the one selected by the
      	user.
      
      From-SVN: r135907
      Jose Ruiz committed
    • sem_aggr.adb: Minor reformatting. · 9c290e69
      2008-05-26  Pascal Obry  <obry@adacore.com>
      
      	* sem_aggr.adb: Minor reformatting.
      
      From-SVN: r135906
      Pascal Obry committed
    • gnat_ugn.texi: Add description for the new gnatcheck rule - Separate_Numeric_Error_Handlers. · 0390e471
      2008-05-26  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi: Add description for the new gnatcheck rule -
      	Separate_Numeric_Error_Handlers.
      
      From-SVN: r135905
      Sergey Rybin committed
    • 2008-05-26 Robert Dewar <dewar@adacore.com> · b98bd80d
      	* exp_ch2.adb:
      	(Expand_Current_Value): Properly type generated integer literal
      
      From-SVN: r135904
      Robert Dewar committed
    • g-heasor.ads: Minor comment fix (unit is now pure) · ac38d4af
      2008-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* g-heasor.ads: Minor comment fix (unit is now pure)
      
      From-SVN: r135903
      Robert Dewar committed
    • s-carun8.ads: Minor reformatting · 3f36f73c
      2008-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* s-carun8.ads: Minor reformatting
      
      From-SVN: r135902
      Robert Dewar committed
    • osint.ads: Minor reformatting · e23fbee4
      2008-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* osint.ads: Minor reformatting
      
      From-SVN: r135901
      Robert Dewar committed
    • 2008-05-26 Ed Schonberg <schonberg@adacore.com> · 1b762d7b
      	* inline.adb:
      	(Cleanup_Scopes): For a protected operation, transfer finalization list
      	to protected body subprogram, to force cleanup actions when needed.
      
      From-SVN: r135900
      Ed Schonberg committed
    • gnatname.adb: Minor reformatting · 0359c57c
      2008-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* gnatname.adb: Minor reformatting
      
      From-SVN: r135899
      Robert Dewar committed
    • sem_cat.adb: Minor reformatting · 24b66768
      2008-05-26  Robert Dewar  <dewar@adacore.com>
      
      	* sem_cat.adb: Minor reformatting
      
      From-SVN: r135898
      Robert Dewar committed
    • 2008-05-26 Vincent Celier <celier@adacore.com> · 9570dc5b
      	* prj-nmsc.adb:
      	(Process_Project_Level_Simple_Attributes): process attribute Library_GCC
      
      	* prj.ads:
      	(Project_Configuration): New component Shared_Lib_Driver
      
      From-SVN: r135897
      Vincent Celier committed
    • exp_ch3.adb (Build_Init_Statements): Alphabetize local variables. · c42e6724
      2008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
      	Create the statements which map a string name to protected or task
      	entry indix.
      
      	* exp_ch9.adb: Add with and use clause for Stringt.
      	Minor code reformatting.
      	(Build_Entry_Names): New routine.
      	(Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
      	for flag Build_Entry_Names which controls the allocation of the data
      	structure for the string names of entries.
      
      	* exp_ch9.ads (Build_Entry_Names): New subprogram.
      
      	* exp_util.adb (Entry_Names_OK): New function.
      
      	* exp_util.ads (Entry_Names_OK): New function.
      
      	* rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
      	enumerations RE_Id and RE_Unit_Table.
      
      	* s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
      	(Free_Entry_Names_Array): New routine.
      
      	* s-taskin.ads: Comment reformatting.
      	Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
      	Add component Entry_Names to record Ada_Task_Control_Block.
      	(Free_Entry_Names_Array): New routine.
      
      	* s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
      	dynamically allocate an array
      	of string pointers. This structure holds string entry names.
      	(Free_Entry_Names): New routine.
      	(Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
      	(Set_Entry_Names): New routine.
      
      	* s-tassta.ads:
      	(Create_Task): Add formal Build_Entry_Names. The flag is used to
      	control the allocation of the data structure which stores entry names.
      	(Set_Entry_Name): New routine.
      
      	* s-tpoben.adb:
      	Add with and use clause for Ada.Unchecked_Conversion.
      	(Finalize): Deallocate the entry names array.
      	(Free_Entry_Names): New routine.
      	(Initialize_Protection_Entries): When flag Build_Entry_Names is set,
      	create an array of string pointers to hold the entry names.
      	(Set_Entry_Name): New routine.
      
      	* s-tpoben.ads:
      	Add field Entry_Names to record Protection_Entries.
      	(Initialize_Protection_Entries): Add formal Build_Entry_Names.
      	(Set_Entry_Name): New routine.
      
      From-SVN: r135896
      Hristian Kirtchev committed
    • mingw32.h (STD_MINGW): Set to true for target w64. · a28e8f45
      2008-05-26  Kai Tietz  <kai.tietz@onevision.com>
      
      	* mingw32.h (STD_MINGW): Set to true for target w64.
      
      From-SVN: r135894
      Kai Tietz committed
    • re PR bootstrap/36331 (Gcc failed to bootstrap) · 25497730
      2008-05-26  Daniel Franke  <franke.daniel@gmail.com>
      
              PR bootstrap/36331
              * c-cppbuiltin.c (define__GNUC__): Re-add definition of __GNUG__.
      
      From-SVN: r135892
      Daniel Franke committed
    • darwin-c.c: Include "incpath.h" instead of "c-incpath.h". · e8a25ca8
      2008-05-26  Dominique Dhumieres  <dominiq@lps.ens.fr>
      
             * config/darwin-c.c: Include "incpath.h" instead of "c-incpath.h".
             * config/t-darwin: Use "incpath.h" instead of "c-incpath.h".
      
      From-SVN: r135891
      Dominique d'Humieres committed
    • tuple: Ifndef __GXX_EXPERIMENTAL_CXX0X__ just error out. · 57317d2a
      2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/tuple: Ifndef __GXX_EXPERIMENTAL_CXX0X__ just error out.
      	* include/std/date_time: Likewise.
      	* include/std/system_error: Likewise.
      	* include/std/type_traits: Likewise; fix typo in macro name.
      	* include/std/regex: Likewise.
      	* include/std/random: Likewise.
      	* include/std/unordered_map: Likewise.
      	* include/std/condition_variable: Likewise.
      	* include/std/unordered_set: Likewise.
      	* include/std/mutex: Likewise.
      	* include/std/array: Likewise.
      
      	* include/c_std/cmath: Fix obsolete comment.
      	* include/c_global/cmath: Likewise.
      
      From-SVN: r135890
      Paolo Carlini committed
    • Daily bump. · 73d1a021
      From-SVN: r135888
      GCC Administrator committed
  2. 25 May, 2008 5 commits
    • tree-nested.c (convert_tramp_reference): Do not build a trampoline if we don't want one. · 3651f7ad
      	 * tree-nested.c (convert_tramp_reference) <ADDR_EXPR>: Do not
      	build a trampoline if we don't want one.
      	* varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Do not
      	return zero for nested functions if we don't want a trampoline.
      ada/
      	* trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
      	instead of TREE_STATIC on the ADDR_EXPR.
      
      From-SVN: r135884
      Eric Botcazou committed
    • invoke.texi: Added f77, f77-cpp-input to list of file types. · b885a4c1
      2008-05-26  Daniel Franke  <franke.daniel@gmail.com>
      
              * doc/invoke.texi: Added f77, f77-cpp-input to list of file types.
      
      From-SVN: r135883
      Daniel Franke committed
    • re PR fortran/18428 (No preprocessing option -cpp for gfortran) · 670637ee
      gcc:
      2008-05-26  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/18428
      	* c.opt: Removed undocumented option '-lang-fortran'.
      	* c-common.h: Removed global variable 'lang_fortran'.
      	* c-opts.c (c_common_handle_option): Removed code to handle
      	option '-lang-fortran'. Updated includes.
      	* c-cppbuiltin.c (c_cpp_builtins): Removed conditional
      	definition of '__GFORTRAN__'.
      	(define__GNUC__): Reimplemented to use BASEVER and
      	cpp_define_formatted.
      	(builtin_define_with_value_n): Removed.
      	* c-incpath.h: Renamed to ...
      	* incpath.h: ... this.
      	* c-incpath.c: Renamed to ...
      	* incpath.c: ... this. Updated includes.
      	* fix-header.c: Updated includes.
      	* Makefile.in: Replaced c-incpath.[ch] by incpath.[ch].
      	(c-cppbuiltin.o): Added dependency on and definition of BASEVER.
      	(OBJ-archive): Added cppdefault.o, incpath.o and prefix.o.
      
      
      gcc/cp:
      2008-05-26  Daniel Franke  <franke.daniel@gmail.com>
      
      	* Makefile.in: Adjusted dependencies on c-incpath.o.
      
      
      gcc/fortran:
      2008-05-26  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/18428
      	* lang.opt (A, C, CC, D, E, H, P, U, cpp, d, fworking-directory,
      	imultilib, iprefix, iquote, isysroot, isystem, nocpp, nostdinc,
      	o, undef, v): New options.
      	* options.c (gfc_init_options): Also initialize preprocessor
      	options.
      	(gfc_post_options): Also handle post-initialization of preprocessor
      	options.
      	(gfc_handle_option): Check if option is a preprocessor option.
      	If yes, let gfc_cpp_handle_option() handle the option.
      	* lang-specs.h: Reorganized to handle new options.
      	* scanner.c (gfc_new_file): Read temporary file instead of
      	input source if preprocessing is enabled.
      	* f95-lang.c (gfc_init): Initialize preprocessor.
      	(gfc_finish): Clean up preprocessor.
      	* cpp.c: New.
      	* cpp.h: New.
      	* Make-lang.in: Added new objects and dependencies.
      	* gfortran.texi: Updated section "Preprocessing and
      	conditional compilation".
      	* invoke.texi: Added new section "Preprocessing Options",
      	listed and documented the preprocessing options handled by gfortran.
      
      From-SVN: r135882
      Daniel Franke committed
    • tree.h: Update the table of flags used on tree nodes. · 4cea6c02
      	* tree.h: Update the table of flags used on tree nodes.
      	(TREE_NO_TRAMPOLINE): New accessor for static_flag.
      	(SAVE_EXPR_RESOLVED_P): Use automatically-built access check.
      	(FORCED_LABEL): Add access check.
      	(CALL_EXPR_RETURN_SLOT_OPT): Likewise.
      	(ASM_INPUT_P): Likewise.
      	(ASM_VOLATILE_P): Likewise.
      	(EH_FILTER_MUST_NOT_THROW): Access static_flag directly.
      	(OMP_SECTION_LAST): Access private_flag directly.
      	(OMP_RETURN_NOWAIT): Likewise.
      	(OMP_PARALLEL_COMBINED): Likewise.
      	(OMP_CLAUSE_PRIVATE_DEBUG): Access public_flag directly.
      	(OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE): Likewise.
      	* tree-ssa-propagate.c (STMT_IN_SSA_EDGE_WORKLIST): Access
      	deprecated_flag directly.
      
      From-SVN: r135881
      Eric Botcazou committed
    • complex (complex<>::real(_Tp), [...]): Add per DR 387. · 23ed71c6
      2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/complex (complex<>::real(_Tp), complex<>::imag(_Tp),
      	complex<float>::real(float), complex<float>::imag(float),
      	complex<double>::real(double), complex<double>::imag(double),
      	complex<long double>::real(long double),
      	complex<long double>::imag(long double)): Add per DR 387.
      	(complex<>::real(), complex<>::imag(), complex<float>::real(),
      	complex<float>::imag(), complex<double>::real(),
      	complex<double>::imag(), complex<long double>::real(),
      	complex<long double>::imag(long double)): Adjust in C++0x mode.
      	(real(complex<>&), imag(complex<>&), real(const complex<>&),
      	imag(const complex<>&)): Likewise.
      	* testsuite/26_numerics/complex/dr387.cc: New.
      	* doc/xml/manual/intro.xml: Add an entry for DR 387.
      
      From-SVN: r135878
      Paolo Carlini committed