1. 16 Mar, 2005 3 commits
  2. 15 Mar, 2005 37 commits
    • re PR libstdc++/20352 (FAIL: 26_numerics/complex/pow.cc execution test) · b0de8599
      2005-03-15  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/20352
      	* include/std/std_complex.h (pow(const complex<_Tp>&,
      	const _Tp&)): On non-c99 platforms, don't try to compute
      	log of complex zero.
      
      From-SVN: r96538
      Paolo Carlini committed
    • optabs.c (expand_doubleword_mult): Avoid clobbering op0 and op1 whilst expanding… · 69f39b11
      optabs.c (expand_doubleword_mult): Avoid clobbering op0 and op1 whilst expanding the signed widenening multiply...
      
      
      	* optabs.c (expand_doubleword_mult): Avoid clobbering op0 and
      	op1 whilst expanding the signed widenening multiply variant.
      
      From-SVN: r96537
      Roger Sayle committed
    • toplev.c (display_target_options): Avoid unused variable warning if… · d522e7a2
      toplev.c (display_target_options): Avoid unused variable warning if TARGET_SWITCHES and TARGET_OPTIONS are both...
      
      	* toplev.c (display_target_options): Avoid unused variable warning if
      	TARGET_SWITCHES and TARGET_OPTIONS are both undefined.
      	* config/mips/mips.c (mips_arch_string, mips_tune_string): Make static.
      	(mips_isa_string, mips_abi_string, mips_fix_vr4130_string): Delete.
      	(mips_isa): Initialize to MIPS_ABI_DEFAULT.
      	(mips_isa_info): New variable.
      	(mips_parse_cpu): Remove the first argument and leave the caller
      	to report errors.
      	(TARGET_HANDLE_OPTION): Override default.
      	(mips_handle_option): New function.  Move option validation code from...
      	(override_options): ...here.  Update calls to mips_parse_cpu.
      	* config/mips/mips.h (mips_arch_string, mips_tune_string)
      	(mips_isa_string, mips_abi_string, TARGET_OPTIONS)
      	(SUBTARGET_TARGET_OPTIONS): Delete.
      	* config/mips/mips.opt (mabi=, march=, mflush-func=, mips)
      	(mno-flush-func, mtune=): New options.
      
      From-SVN: r96536
      Richard Sandiford committed
    • re PR libgcj/20251 (libgcj configured with --enable-gtk-cairo fails on installation) · cf1665b9
      	PR libgcj/20251
      	* Makefile.am (libjawt_la_LIBADD): Add -L$(here)/.libs.
      	* Makefile.in: Rebuilt.
      
      From-SVN: r96533
      Jakub Jelinek committed
    • Make-lang.in (ada/treeprs.ads, [...]): Use unique subdirectories of ada/bldtools… · e2d6b9b9
      Make-lang.in (ada/treeprs.ads, [...]): Use unique subdirectories of ada/bldtools to avoid make -jN failures.
      
      	* ada/Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
      	ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
      	ada/bldtools to avoid make -jN failures.
      
      From-SVN: r96531
      Jakub Jelinek committed
    • real.c (c4x_single_format, [...]): Provide values for signbit_ro for c4x's… · c064fde5
      real.c (c4x_single_format, [...]): Provide values for signbit_ro for c4x's single and extended floating point formats.
      
      
      	* real.c (c4x_single_format, c4x_extended_format): Provide values
      	for signbit_ro for c4x's single and extended floating point formats.
      	* optabs.c (expand_copysign): Use the floating point format's
      	signbit_ro for expanding via expand_copysign_absneg, and it's
      	signbit_rw field for expanding via expand_copysign_bit.
      
      Co-Authored-By: Richard Henderson <rth@redhat.com>
      
      From-SVN: r96530
      Roger Sayle committed
    • trans.c (gnat_to_gnu): Set gnu_result to NULL_TREE on entry. · 813edff1
      	* trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
      	to NULL_TREE on entry.
      
      From-SVN: r96528
      Eric Botcazou committed
    • target-supports.exp (check_vmx_hw_available): Use -maltivec for darwin. · 3562bc34
              * lib/target-supports.exp (check_vmx_hw_available): Use -maltivec for
              darwin.
      
      Co-Authored-By: Dorit Naishlos <dorit@il.ibm.com>
      
      From-SVN: r96527
      Janis Johnson committed
    • tree-vectorizer.h (unknown_alignment_for_access_p): Replaced by known_alignment_for_access_p. · 5f55a1ba
              * tree-vectorizer.h (unknown_alignment_for_access_p): Replaced by
              known_alignment_for_access_p.
              (known_alignment_for_access_p): New.
              (do_peeling_for_alignment): Field made int instead of bool and renamed
              to peeling_for_alignment.
              (LOOP_DO_PEELING_FOR_ALIGNMENT): Renamed to LOOP_PEELING_FOR_ALIGNMENT.
              * tree-vect-analyze.c (vect_determine_vectorization_factor): New. This
              functionality used to be in vect_analyze_operations.
              (vect_analyze_operations): Code to determine vectorization factor was
              moved to vect_determine_vectorization_factor.
              (vect_enhance_data_refs_alignment): Update to correct alignment when it
              is known instead of -1.  Set LOOP_PEELING_FOR_ALIGNMENT to peeling
              factor.
              (vect_analyze_loop): Call vect_determine_vectorization_factor (used to
              be part of vect_analyze_operations).
              * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Use fold when
              creating the guard condition, as the number of iterations may be
              constant.
              (slpeel_tree_peel_loop_to_edge): Use new name of
              LOOP_DO_PEELING_FOR_ALIGNMENT. Set it to 0 instead of false.
              * tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Handle known
              alignment case more efficiently. Use LOOP_PEELING_FOR_ALIGNMENT.
              (vect_do_peeling_for_alignment): Use fold.
              (vect_transform_loop): Use new name of LOOP_DO_PEELING_FOR_ALIGNMENT.
      
              (vect_update_inits_of_dr): Renamed to
              vect_update_init_of_dr.
              (vect_update_inits_of_drs): Use new name of vect_update_inits_of_dr.
              (vectorizable_store): Fix assertion to use == instead of =.
      
      From-SVN: r96526
      Dorit Naishlos committed
    • arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear call_used_regs for wCG registers. · 119bb233
      	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear
      	call_used_regs for wCG registers.
      
      From-SVN: r96525
      Daniel Jacobowitz committed
    • inclhack.def (hpux_htonl): New fix. · 7fbdc950
      	* inclhack.def (hpux_htonl): New fix.
      	* tests/base/netinet/in.h: New test.
      	* fixincl.x: Regenerate.
      
      From-SVN: r96522
      Joseph Myers committed
    • natPlainSocketImplPosix.cc (read_helper): Handle count == 0 case. · 6dcd18b9
      2005-03-15  David Daney  <ddaney@avtrex.com>
      
      	* gnu/java/net/natPlainSocketImplPosix.cc (read_helper): Handle
      	count == 0 case.
      
      2005-03-15  David Daney  <ddaney@avtrex.com>
      
      	* java/io/BufferedInputStream.java (available): Use 'in' instead
      	of 'super' for underlying stream access.
      	(close): Ditto.
      	(read(byte[], int, int)): Ditto.
      	(refill): Ditto.
      	(skip): Call skip on underlying stream when possible.
      
      From-SVN: r96516
      David Daney committed
    • resync. · 4f51c6e7
      From-SVN: r96514
      Arnaud Charlet committed
    • gnat_ugn.texi: Remove extended inline assembly example... · 0f1b0456
      2005-03-08  Geert Bosch  <bosch@adacore.com>
      	    Arnaud Charlet  <charlet@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      	    Cyrille Comar  <comar@adacore.com>
      	    Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi: Remove extended inline assembly example, as it was far
      	too specific and long-winded to be appropriate for the GNAT User's
      	Guide.
      	Warn about use of GCC switches not documented in the GNAT User's Guide,
      	as these may cause generated code to not conform to Ada semantics.
      	Remove mention of -gdwarf-2 for sparc64, since this is now the default.
      	Add documentation for -gnat95 and -gnat05 switches
      	Remove paragraph documenting obsolete way to refer to third party
      	libraries.
      	Add a few references to Ada_05 that were missing.
      	Update documentation on -gnatZ/-gnatL.
      	Document limitation when using -m64 under Solaris.
      	Change the "Name Casing" subsection of the pretty-printer section
      	according to the changes in the dictionary processing.
      
      	* gnat_rm.texi: Document the Ada_05 pragma.
      	Section on record representation clauses describes the new more
      	relaxed rules about placement of large packed bit array components.
      	Add documentation of GNAT.UTF_32
      
      From-SVN: r96513
      Geert Bosch committed
    • [multiple changes] · 1a49cf99
      2005-03-08  Robert Dewar  <dewar@adacore.com>
      
      	* s-bitops.adb, s-bitops.ads,
      	s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
      	s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
      	tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
      	s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
      	s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
      	s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
      	s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
      	s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
      	reformatting.
      
      2005-03-08  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* utils2.c (build_binary_op): Fix typo.
      
      2005-03-08  Doug Rupp  <rupp@adacore.com>
      
      	* s-crtl.ads (popen,pclose): New imports.
      
      2005-03-08  Cyrille Comar  <comar@adacore.com>
      
      	* comperr.adb (Compiler_Abort): remove references to obsolete
      	procedures in the bug boxes for various GNAT builds.
      
      2005-03-08  Vincent Celier  <celier@adacore.com>
      
      	* snames.ads, snames.adb: Save as Unix text file, not as DOS text file
      
      From-SVN: r96512
      Arnaud Charlet committed
    • usage.adb: Add missing lines for -gnat95 and -gnat05 switches · 728c3084
      2005-03-08  Robert Dewar  <dewar@adacore.com>
      
      	* usage.adb: Add missing lines for -gnat95 and -gnat05 switches
      
      	* sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
      
      	* i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
      
      From-SVN: r96511
      Robert Dewar committed
    • sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX. · e965f6ad
      2005-03-08  Matthew Gingell  <gingell@adacore.com>
      
      	* sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
      
      From-SVN: r96510
      Matthew Gingell committed
    • s-imgwch.adb: Add with and use of Interfaces. · d0816031
      2005-03-08  Gary Dismukes  <dismukes@adacore.com>
      
      	* s-imgwch.adb: Add with and use of Interfaces.
      	(Img_Wide_Character): Change type of Val to Unsigned_16.
      	(Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
      
      From-SVN: r96509
      Gary Dismukes committed
    • s-fatgen.adb (Valid): Extend special exceptions to account for long long float… · 4275704c
      s-fatgen.adb (Valid): Extend special exceptions to account for long long float padding to also cover...
      
      2005-03-08  Geert Bosch  <bosch@adacore.com>
      
      	* s-fatgen.adb (Valid): Extend special exceptions to account for long
      	long float padding to also cover AMD64 and IA64.
      
      From-SVN: r96508
      Geert Bosch committed
    • sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic... · 5eb10f25
      2005-03-08  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
      	a renaming a body, check that the renamed subprogram in not intrinsic.
      	(Find_Direct_Name): If several use_visible entities hide
      	each other, and the context is a predefined file compiled through
      	rtsfind, keep only the entity that comes from a predefined file.
      
      From-SVN: r96507
      Ed Schonberg committed
    • sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is attached to… · 9865d858
      sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is attached to a list before checking whether it...
      
      2005-03-08  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
      	attached to a list before checking whether it appears in the private
      	declarations of the current package.
      	(Make_Inequality_Operator): Insert declaration in proper declarative
      	list rather than just setting the Parent field, so that
      	Is_Private_Declaration can handle it properly.
      
      From-SVN: r96506
      Ed Schonberg committed
    • sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked Eliminated… · 1a8fae99
      sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked Eliminated as candidates for resolution.
      
      2005-03-08  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
      	Eliminated as candidates for resolution. Both efficient, and avoids
      	anomalies with operators declared in deleted code.
      	(Process_Implicit_Dereference_Prefix): Use this procedure whenever
      	expansion is disabled (as when compiling a generic) to prevent spurious
      	warnings on prefixes of selected components.
      
      From-SVN: r96505
      Ed Schonberg committed
    • re PR ada/15608 (Bug box at sem_ch3.adb:8228) · 482a63fb
      2005-03-08  Ed Schonberg  <schonberg@adacore.com>
      	    Javier Miranda  <miranda@adacore.com>
      
      	PR ada/15608
      	* sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
      	of a private type, in which case it is underlying_type that denotes
      	the proper task. Also modified to use the new entity attribute
      	that is directly available in the task type and task subtype entities
      	(Build_Actual_Subtype_Of_Component): Handle properly multidimensional
      	arrays when other dimensions than the first are constrained by
      	discriminants of an enclosing record.
      	(Insert_Explicit_Dereference): If the prefix is an indexed component or
      	a combination of indexed and selected components, find ultimate entity
      	and generate the appropriate reference for it, to suppress spurious
      	warnings.
      	(Note_Possible_Modification): If an entity name has no entity, return.
      	(Is_Variable): A function call never denotes a variable.
      	(Requires_Transient_Scope): For record types, recurse only on
      	components, not on internal subtypes that may have been generated for
      	constrained components.
      
      From-SVN: r96504
      Ed Schonberg committed
    • sem_ch12.adb (Instantiate_Object): If the analysis of the actual parameter… · 89167cad
      sem_ch12.adb (Instantiate_Object): If the analysis of the actual parameter reported some error we immediately return.
      
      2005-03-08  Javier Miranda  <miranda@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Instantiate_Object): If the analysis of the actual
      	parameter reported some error we immediately return. This improves the
      	behaviour of the frontend in case of errors.
      	(Install_Parent, Remove_Parent): Introduce new flag
      	Parent_Unit_Visible, to preserve the proper visibility of the ultimate
      	ancestor of a generic child unit, when the child is being instantiated.
      	(Inline_Instance_Body): If we are compiling the private
      	part or the body of a child unit, restore the proper visibility of the
      	parents after compiling the instance body.
      
      From-SVN: r96503
      Javier Miranda committed
    • sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an instantiation that has… · f5905c0b
      sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an instantiation that has been rewritten as a package body...
      
      2005-03-08  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
      	instantiation that has been rewritten as a package body, retrieve spec
      	to generate proper name for implicit_with_clause.
      	(Install_Parents): Recognize a parent that is an instantiation but has
      	been rewritten as a package declaration during analysis.
      
      From-SVN: r96502
      Ed Schonberg committed
    • Make-lang.in: Add g-utf_32 unit for gnat and gnatbind · c8427bff
      2005-03-08  Robert Dewar  <dewar@adacore.com>
      
      	* Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
      
      	* impunit.adb: Add GNAT.UTF_32
      
      	* scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
      
      	* widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
      	now uses GNAT.UTF_32).
      
      	* g-utf_32.ads, g-utf_32.adb: This is a new unit with full
      	capabilities for categorizing characters using Unicode categories
      
      From-SVN: r96501
      Robert Dewar committed
    • re PR ada/6852 (gnatlib fails to build with newlib because it doesn't set up the include path) · 73f02047
      2005-03-08  Doug Rupp  <rupp@adacore.com>
      	    Bernard Banner  <banner@adacore.com>
      	    Vincent Celier  <celier@adacore.com>
      	    Arnaud Charlet  <charlet@adacore.com>
      
      	PR ada/6852
      	This change works fine when gnatlib is built from the gcc directory,
      	but does not work when using the libada Makefile, since GCC_FOR_TARGET
      	is not passed to ada/Makefile.in, so more work is needed by a
      	Makefile/configure expert.
      
      	* Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
      	set GMEM_LIB on ia64 linux to add optional support for gnatmem.
      	Setup gnatlink switch -M for x86_64 linux, as it is already setup
      	for Linux x86.
      	(gnatlib-shared-default): Use GNATLIBCFLAGS as well.
      	Run ranlib on libgccprefix.a
      	Define PREFIX_OBJS for Darwin, to build libgccprefix.
      	(ADA_INCLUDE_SRCS): Split Ada packages.
      
      From-SVN: r96500
      Doug Rupp committed
    • re PR ada/20226 (Error in __gnat_install_SEH_handler breaks bootstrap) · 9c2d872c
      2005-03-08  Pascal Obry  <obry@adacore.com>
      	    Eric Botcazou  <ebotcazou@adacore.com>
      
      	PR ada/20226
      	PR ada/20344
      
      	* init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
      	when IN_RTS. This is to work around a bootstrap path problem.
      
      	* misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
      	table and pass it to __gnat_install_SEH_handler().
      	(gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
      
      	* lang.opt: Fix specification of -fRTS=.
      
      From-SVN: r96499
      Pascal Obry committed
    • gnatchop.adb (Locate_Executable): Normalize the possibly VMS style Command_Name. · 454ff542
      2005-03-08  Doug Rupp  <rupp@adacore.com>
      
      	* gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
      	Command_Name.
      
      From-SVN: r96498
      Doug Rupp committed
    • exp_tss.ads, [...] (Find_Inherited_TSS): New subprogram... · 6e40e481
      2005-03-08  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
      	here from exp_attr so it can be shared between exp_attr and exp_dist.
      	(TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
      	all TSS names, not a subset thereof, and the previous name introduced
      	an unnecessarily confusion that a distinction might exist between
      	"OK" TSS names and some "not OK" TSS names.
      
      From-SVN: r96497
      Thomas Quinot committed
    • exp_smem.adb, [...]: Remove OK_For_Stream flag, not used, not needed. · 4ee27193
      2005-03-08  Robert Dewar  <dewar@adacore.com>
      
      	* exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
      	not needed.
      	Add documentation to replace the use of this flag
      	Fix kludge for Maximum_Alignment on x86 so that it does not apply to
      	the x86_64.
      
      From-SVN: r96496
      Robert Dewar committed
    • exp_intr.adb (Expand_Unc_Conversion): As a target type... · b7cdaf8d
      2005-03-08  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
      	that appears in the instantiation rather than the internal subtype
      	generated in the wrapper package, to avoid anomalies in gigi when the
      	target is derived from a private type whose full view is an access type.
      
      From-SVN: r96495
      Ed Schonberg committed
    • exp_ch7.adb (Convert_View): Use base types of underlying types when determining… · a877ccc4
      exp_ch7.adb (Convert_View): Use base types of underlying types when determining whether an unchecked...
      
      2005-03-08  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch7.adb (Convert_View): Use base types of underlying types when
      	determining whether an unchecked conversion is needed for the argument
      	of an initialization call.
      
      From-SVN: r96494
      Ed Schonberg committed
    • re PR ada/19900 (ACATS c391002 c432002 ICE categorize_ctor_elements_1) · f44fe430
      2005-03-08  Robert Dewar  <dewar@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      	    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
      
      	PR ada/19900
      
      	* exp_pakd.adb (Create_Packed_Array_Type): Do not set
      	Must_Be_Byte_Aligned for cases where we do not need to use a
      	System.Pack_nn unit.
      
      	* exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
      	as procedures.
      	Needed now that we do some processing for IN parameters as well. This
      	may well fix some unrelated errors.
      	(Expand_Call): Handle case of unaligned objects (in particular those
      	that come from packed arrays).
      	(Expand_Inlined_Call): If the subprogram is a renaming as body, and the
      	renamed entity is an inherited operation, re-expand the call using the
      	original operation, which is the one to call.
      	Detect attempt to inline parameterless recursive subprogram.
      	(Represented_As_Scalar): Fix to work properly with private types
      	(Is_Possibly_Unaligned_Object): Major rewrite to get a much more
      	accurate estimate. Yields True in far fewer cases than before,
      	improving the quality of code that depends on this test.
      	(Remove_Side_Effects): Properly test for Expansion_Delayed and handle
      	case when it's inside an N_Qualified_Expression.
      
      	* exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
      	over both visible and private declarations to remove them from tree,
      	and mark subprograms declared in package as eliminated, to prevent
      	spurious use in subsequent compilation of generic units in the context.
      
      	* exp_util.ads: Minor cleanup in variable names
      
      	* sem_eval.ads, sem_eval.adb: Minor reformatting
      	(Compile_Time_Known_Bounds): New function
      
      From-SVN: r96493
      Robert Dewar committed
    • re PR ada/19900 (ACATS c391002 c432002 ICE categorize_ctor_elements_1) · c6823a20
      2005-03-08  Eric Botcazou  <ebotcazou@adacore.com>
      	    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
      	    Nicolas Setton  <setton@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	PR ada/19900
      	PR ada/19408
      	PR ada/19140
      	PR ada/20255
      
      	* decl.c (gnat_to_gnu_field): Reject aliased components with a
      	representation clause that prescribes a size not equal to the rounded
      	size of their types.
      	(gnat_to_gnu_entity, case E_Component): Always look at
      	Original_Record_Component if Present and not the entity.
      	(gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
      	of tagged extension types by not making field for components that are
      	inside the parent.
      	(gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
      	(gnat_to_gnu_entity) <E_Variable>: Do not convert again the
      	expression to the type of the object when the object is constant.
      	Reverse defer_debug_incomplete_list before traversing it, so that trees
      	are processed in the order at which they were added to the list. This
      	order is important when using the stabs debug format.
      	If we are deferring the output of debug information, also defer this
      	output for a function return type.
      	When adding fields to a record, prevent emitting debug information
      	for incomplete records, emit the information only when the record is
      	complete.
      	(components_to_record): New parameter defer_debug.
      	(gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
      	(gnat_to_gnu_field_decl): New function.
      	(substitution_list, annotate_rep): Call it.
      	(gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
      	(gnat_to_gnu_entity, case E_Record_Type): Likewise.
      	No longer update discriminants to not be a COMPONENT_REF.
      	(copy_alias_set): Strip padding from input type; also handle
      	unconstrained arrays properly.
      
      	* gigi.h (write_record_type_debug_info): New function.
      	Convert to use ANSI-style prototypes. Remove unused
      	declarations for emit_stack_check, elab_all_gnat and
      	set_second_error_entity.
      	(gnat_to_gnu_field_decl): New decl.
      
      	* utils.c (write_record_type_debug_info): New function.
      	(finish_record_type): Delegate generation of debug information to
      	write_record_type_debug_info.
      	(update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
      	(update_pointer_to): Fix pasto.
      	(convert) <UNION_TYPE>: Accept slight type variations when
      	converting to an unchecked union type.
      
      	* exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
      	replace the N_Freeze_Entity with a null statement.
      
      	* freeze.adb (Freeze_Expression): If the freeze nodes are generated
      	within a constrained subcomponent of an enclosing record, place the
      	freeze nodes in the scope stack entry for the enclosing record.
      	(Undelay_Type): New Subprogram.
      	(Set_Small_Size): Pass T, the type to modify; all callers changed.
      	(Freeze_Entity, Freeze_Record_Type): Change the way we handle types
      	within records; allow them to have freeze nodes if their base types
      	aren't frozen yet.
      
      	* sem_ch3.adb (Derived_Type_Declaration): New predicate
      	Comes_From_Generic, to recognize accurately that the parent type in a
      	derived type declaration can be traced back to a formal type, because
      	it is one or is derived from one, or because its completion is derived
      	from one.
      	(Constrain_Component_Type): If component comes from source and has no
      	explicit constraint, no need to constrain in in a subtype of the
      	enclosing record.
      	(Constrain_Access, Constrain_Array): Allow itypes to be delayed.
      	Minor change to propagate Is_Ada_2005 flag
      
      	* trans.c (gnat_to_gnu, case N_Aggregate): Verify that
      	Expansion_Delayed is False.
      	(assoc_to_constructor): Ignore fields that have a
      	Corresponding_Discriminant.
      	(gnat_to_gnu) <N_Return_Statement>: Restructure. If the
      	function returns "by target", dereference the target pointer using the
      	type of the actual return value.
      	<all>: Be prepared for a null gnu_result.
      	(processed_inline_subprograms): Check flag_really_no_inline
      	instead of flag_no_inline.
      	(set_second_error_entity): Remove unused function.
      	(gnat_to_gnu, case N_Selected_Component): Call
      	gnat_to_gnu_field_decl.
      	(assoc_to_constructor): Likewise.
      
      From-SVN: r96492
      Eric Botcazou committed
    • checks.adb (Get_E_First_Or_Last): When the expression being retrieved is an… · 3a8b9f38
      checks.adb (Get_E_First_Or_Last): When the expression being retrieved is an N_Raise_Constraint_Error node...
      
      2005-03-08  Thomas Quinot  <quinot@adacore.com>
      
      	* checks.adb (Get_E_First_Or_Last): When the expression being retrieved
      	is an N_Raise_Constraint_Error node, create a new copy of it without
      	going through a call to Duplicate_Subexpr.
      
      From-SVN: r96491
      Thomas Quinot committed
    • bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit · 2ca2bc8b
      2005-03-08  Doug Rupp  <rupp@adacore.com>
      	    Vincent Celier  <celier@adacore.com>
      
      	* bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
      	(Gen_Output_File_C): Likewise.
      	(Gen_Main_C): Issue #include <stdlib.h> to avoid warning
      
      From-SVN: r96490
      Doug Rupp committed