* Gnat 3.04a for 95 wierdness
@ 1997-03-11 0:00 Simon Moore
1997-03-11 0:00 ` Robert Dewar
1997-03-12 0:00 ` Larry Kilgallen
0 siblings, 2 replies; 3+ messages in thread
From: Simon Moore @ 1997-03-11 0:00 UTC (permalink / raw)
Hello all
Until a couple of days ago I used gnat.io in my code in lower case but
now, for some wierd reason, I get a Windows system error unless I type
it as Gnat.IO.
Also around this Microsoft Frontpage stopped working but this is now
okay so I tjink I've sorted out whatever was conflicting there.
I think this is a problem with my system rather than Gnat, has anybody
alse experienced this?
Regards.
p.s. Would it be worthwhile for me to download 3.09 or are the updates
minimal?
***********************************************************************************************************
* Simon Moore - smoore@chowgar.demon.co.uk - cm5bcscm@bs47c.staffs.ac.uk - http://www.chowgar.demon.co.uk *
***********************************************************************************************************
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Gnat 3.04a for 95 wierdness
1997-03-11 0:00 Gnat 3.04a for 95 wierdness Simon Moore
@ 1997-03-11 0:00 ` Robert Dewar
1997-03-12 0:00 ` Larry Kilgallen
1 sibling, 0 replies; 3+ messages in thread
From: Robert Dewar @ 1997-03-11 0:00 UTC (permalink / raw)
Simon Moore said
<<p.s. Would it be worthwhile for me to download 3.09 or are the updates
minimal?>>
The updates from 3.04 to 3.09 in GNAT itself are substantial, see material
at end of this message, and in addition 3.09 is a radical reimplementation
of the port, using the Cygnus tools to build GNAT and its tools.
Latest features in GNAT version 3.09
====================================
(see complete list for 3.08, since for all cases except NT, 3.08 was
skipped in the version sequencing)
A new pragma Pure_Function allows an individual function to be specified
as Pure, see documentation in the GNAT reference manual for full details.
Address clauses now are much more flexible. In previous versions, GNAT
rejected any address clause not required to be implemented, in accordance
with the implementation permission in section 13.1(22) of the RM. Now
far more cases are accepted and correctly processed as follows:
1. All address clauses for variables of any elementary type (i.e.
scalars and access types) are permitted.
2. All address clauses for non-initialized variables are permitted
3. An address clause for an initialized variable of a composite
type is accepted if any calls to operators or functions are to
pure subprograms (i.e. either declared in a pure unit, or declared
pure using the pragma Pure_Function), and all operands are literals,
or constants defined prior to the variable to which the address
clause applies.
In practice this should mean that nearly all address clauses are now
accepted. Note that To_Address is a pure function.
For the VMS version only, pragma AST_Entry and the corresponding
attribute are now fully implemented.
Exception_Message now returns the name of the exception, together with
the exception message if there is one (in previous versions of GNAT,
this function yielded a null string).
Latest features in GNAT version 3.08
====================================
Unchecked conversion is now allowed for all definite types, including
discriminated records with default discriminants. In addition, it is
now permissible to convert from an unconstrained array type (but still
not allowed to convert to an unconstrained array type, since no bounds
information would be available).
The storage management in the compiler has been considerably improved
allowing larger programs to compile in a given virtual memory size.
The pragmas Linker_Alias, Linker_Section and Weak_External have been
added that give full access to the corresponding gcc features. With these
additions, GNAT has all the capabilities of GNU-C with regard to specifying
implementation dependent attributes.
The attributes Large and Safe_Large now apply to fixed-point types as well
as to floating-point types. With these additions, GNAT now implements the
full set of Ada 83 attributes.
The pragma Complex_Representation specifies that a record of two floats
is to be laid out the same way as a complex value in Fortran.
Biased representation is implemented for all discrete types. This means
that values are stored with the lower bound value subtracted. For instance
the range 10 .. 13 can be fit into 2 bits, with 10 .. 13 represented as
0 .. 2. Biased representation can be specified for subtypes, using the
Size or Value_Size attribute to specify a size that requires biasing, or
for objects, by specifying size, or for components, by specifying the
component size using a component clause, and finally for array components
by specifying a component size for the array. Biased representation is
never selected by default. The only way that biased representation is used
is if a size specification would otherwise have been rejected, but a biased
representation can allow the specified size to be honored.
The binder has been enhanced to generate more a more friendly binding
order, i.e. one more likely to avoid access before elaboration. In
addition a new switch -h for the binder (-h for horrible) chooses a
deliberately bad elaboration order, which can be useful for testing
code that is supposed to be portable.
The Version and Body_Version attributes are no longer based on time stamps,
but rather on the contents of the source files themselves. This has two
important advantages. First the values are the same on different targets,
facilitating heterogenous distribution. Second, trivial changes (changes
in layout, capitalization of keywords/identifiers, or comments) do not
affect the version number.
The binder now uses version numbers as well as time stamps. This means
that the binder will not force recompilation for trivial changes (as
described above), giving a limited form of smart recompilation.
Latest features in GNAT version 3.07
====================================
GNAT now checks for the case of a body file present when the spec does
not require a body. GNAT always diagnosed the error when the body was
compiled, but if only the spec was compiled, the suspicious body was
ignored. The presence of a body file when no body is allowed is now
considered an error in Ada 95 mode, and a warning in Ada 83 mode.
Packed arrays with bounds depending on a discriminant now work correctly
The DEC pragmas have been implemented. Those of interest to GNAT ports
in general are as follows (see below for full documentation)
Common_Object
Component_Alignment
Export_Function
Export_Object
Export_Procedure
Export_Valued_Procedure
Import_Function
Import_Object
Import_Procedure
Import_Valued_Procedure
Suppress_All
The DEC attributes have been implemented. Those of interest to GNAT ports
in general are as follows (see below for full documentation)
Bit
Machine_Size
Null_Parameter
Type_Class
Attribute Mechanism_Code allows determination of the parameter passing
mechanism chosen by GNAT, as possibly controlled by the Import, Export
and C_Pass_By_Copy pragmas.
Pragma Extend_System allows transparent extension of package System to
accomodate definitions from other implementations of Ada.
Machine code insertions have been completely implemented. A new section
in gnatinfo.txt describes the use. Both code statements as such, and
also intrinsic calls are available. The latter allow interspersing
machine instructions in Ada code. Inlining of machine code procedures
is fully supported.
The pragma C_Pass_By_Copy is implemented in a manner that is completely
compatible with the Intermetrics implementation of this pragma.
The default mechanism for passing records to foreign convention subprograms
is now by-reference. This can be modified by either use of one of the
DEC extended Import/Export pragmas, or by use of the C_Pass_By_Copy pragma.
Further extended support for representation clauses, including more cases
of misaligned fields, and non-standard layouts. Record representation
clauses no longer require that the position of all fields be specified.
Pragma Error_Monitoring has been removed. This pragma was not used and had
a number of conceptual and implementation problems.
Latest features in GNAT version 3.06
====================================
This version is available only from SGI, and is an intermediate version
between the ACT 3.05 and 3.07 releases. Consult SGI for further details
Latest features in GNAT version 3.05
====================================
Implement tight array packing for component sizes up to 31 bits
Relaxation of alignment and size rules allow more record rep clauses
to be accepted and correctly processed.
ACVC compliance for SGI matches that of the official validation
---
And in addition many bugs have been fixed, and many additional semantic
checks implementd.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Gnat 3.04a for 95 wierdness
1997-03-11 0:00 Gnat 3.04a for 95 wierdness Simon Moore
1997-03-11 0:00 ` Robert Dewar
@ 1997-03-12 0:00 ` Larry Kilgallen
1 sibling, 0 replies; 3+ messages in thread
From: Larry Kilgallen @ 1997-03-12 0:00 UTC (permalink / raw)
In article <33259a7a.22085949@news.demon.co.uk>, smoore@chowgar.demon.co.uk (Simon Moore) writes:
> p.s. Would it be worthwhile for me to download 3.09 or are the updates
> minimal?
Ignoring Robert Dewar's specific technical response...
...Any software developer will love you more if problem reports
are from their latest offering.
Even in cases where a product (not just Ada compilers) has two
supported versions due to known glitches in the latest version,
it is that latest version which the developer will be moving on
to future levels, and for which they want the feedback.
An exception, of course, should be made for cases where the
defect you find has already been acknowledged by the developer
and anything stronger than "this affects me too" might be noise.
Again, this is a political rather than a technical tactic.
You make their life easier and they will have more time to
make your life easier. There are situations where you may
prefer to pay a developer large amounts of money to support
old versions, but those are rare.
Larry Kilgallen
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~1997-03-12 0:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-03-11 0:00 Gnat 3.04a for 95 wierdness Simon Moore
1997-03-11 0:00 ` Robert Dewar
1997-03-12 0:00 ` Larry Kilgallen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox