public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: ACATS legal status cleared by FSF
@ 2001-12-09 15:06 dewar
  2001-12-09 15:55 ` Joseph S. Myers
  0 siblings, 1 reply; 30+ messages in thread
From: dewar @ 2001-12-09 15:06 UTC (permalink / raw)
  To: guerby, zack; +Cc: dewar, gcc, kenner, mrs

<<BTW is there any record of the existing noncompile testsuite catching
problems, or did it just prevent any serious error message work by
scaring people?
>>

Well sure, there have been some cases in which a subtle change to the
front end caused an error message to be lost, but it is infrequent. 
And for sure it has not stopped ACT from doing serious error message
work, which has always been a focus for us (getting the best possible
error messages), but we often often have cases where we make a simple
improvement in an error message, and 90% of the work is checking very
carefully through the B-test baselines to ensure that the baselines
should indeed be updated and nothing has slipped by.

It is certainly not possible to provide a comprehensive test suite for
use with the gcc tree. That's because the most valuable tests from
the test suites in use are the tests in the Compaq and ACT test suites
None of the Compaq suite (called "DEC test suite" informally) are
available for use, due to licensing restrictions, and the great majority
of the ACT tests are not available, since they are proprietary customer
code.

So what we are doing at the gcc site is to put a subset of high value
tests that are worth the effort running. What I am saying is that the
C tests meet this criterion, but the B tests don't.

Yes occasionally, a change that someone makes to the system will break a
B test, so what? Much more often it will be the case if people make changes
to the front end that they break one of the tests in the DEC test suite
or ACT test suite. In either case, we here at ACT have to figure out how
to repair the problem, and I would guess that the B tests issues will play
a very minor role.

If someone sees a misspelling in an error message, I am happy for them to
just fix it, and do not want to inhibit such a change just because of the
effort of updating the B tests. Indeed if someone does update the B test
baseline, it would be more work for us to check that they had done this
update correctly than to do it ourselves, and that careful check would be
required in any case. Remember that the B test baseline is an artifact that
is maintained not for testing purposes primarily, but for validation 
purposes, something we are not interested in for the gcc version per se.

Now of course there are changes to error messages that require a huge
amount of work in all test suites. A good example is an enhancement
request we have logged that suggests a nicer treatment of continuation
messages, so that a multi-line message is obviously a multi-line messagre
rather than separate messages. This is a fairly simple patch that could
be done in half an hour, but the consequences to the base lines of all
test suites would be ferocious, so that is why this change is still on the
list (there are lots of other things on the list). In fact perhaps we can
publish at least some of our list of suggested enhancements so that people
can try to do some of them :-)

I actually think that by far the most valuable addition to the C tests would
be to add some of the tests from the ACT test suite that ACT wrote, and that
are therefore potentially available. As soon as we have the tree issues
fully under control (most notably the docuemntation is still a real issue),
we will send some of these tests along.

Robert Dewar

And P.S. we are certainly not suggesting hiding the B tests, we are just
suggesting not worrying about them too much :-)

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-09 19:03 dewar
  0 siblings, 0 replies; 30+ messages in thread
From: dewar @ 2001-12-09 19:03 UTC (permalink / raw)
  To: dewar, jsm28; +Cc: gcc

<<Also, once we have a test harness for ordinary Ada tests similar to the
harnesses for other languages, contributing a test case for every change
ACT make unless there's some reason you can't (e.g. the harness doesn't
support it, or attempts to create a nonconfidential test case for a
problem shown up in confidential code fail), following the normal
requirements for contributing to GCC.  This way a useful test suite can
continue to be built up over time.
>>

Yes, naturally we will try to do this, but it is often not at all easy
to create stripped down test cases, and in such cases, it is better to have
the fix in the gcc tree with no test case, then to simply withhold the fix.

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-09 14:00 dewar
  0 siblings, 0 replies; 30+ messages in thread
From: dewar @ 2001-12-09 14:00 UTC (permalink / raw)
  To: dewar, zack; +Cc: gcc, kenner, mrs

<<I think this may be the crux of the difference between the B tests and
the existing "noncompile" tests for gcc and g++.  We - all the people
arguing for inclusion of noncompile tests - are used to a context
where it is easy to automate verification that diagnostics are
correctly issued.  When diagnostics do legitimately change, the test
harness has to be adjusted, but this is straightforward, easily done
by the person who changed the diagnostics.
>>

I don't think the noncompile tests for g++ are anything like as
comprehensive as the B tests in ACATS, which go out of there way
to test every marginal condition in the ARM. The history of these
tests is that they are done sentence by sentence against the RM,
probably there are 50,000 separate tests in all or something like
that, since many tests contain dozens of errors, and there are
thousands of tests. Furthermore, the tests were specifically
designed to check marginal cases (boundary condition testing
was the philosophy of the ACVC tests in the first place). A
consequence is that when a message changes, or disappears, or
moves to a different location, it often takes quite a bit of
expertise in the detailed semantics of Ada at the RM level to
determine whether the change is legitimate. Note that an incorrect
change to the base line, which might be of little consequence in
the g++ case, can be a serious bug in the Ada case, since it
could cause a failed validation in the future, so these baseline
changes have to be done with extreme care.

I certainly think we should upload the B tests, and we have no
problem submitting the current baselines, and people are welcome
to see whether changes they make make a difference, but I think
it is an unnecessary burden on people to require that these tests
be run, and certainly an unneccessary burden to require that the
baselines be updated.

I think the concern here is the following. The question of whether
to require/recommend/suggest that the Ada test suite be run as part
of major/minor gcc bugfix/newfeature modifications is one that needs
discussing, but I (and others familiar with the B tests) feel that
it is far better to encourage people to run the C tests, which are
likely to be far more useful, as well as executable tests that we will
provide to supplement these tests, and have more people doing this,
than having fewer people run the more onerous B tests. And certainly
the L tests should be abandoned as per previous discussion of the
subject.

I will ask Gail Schenker to provide Laurent with the current B test
baselines, and then he can do with them as he sees fit.

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-07 19:12 dewar
  2001-12-09 13:02 ` Zack Weinberg
  0 siblings, 1 reply; 30+ messages in thread
From: dewar @ 2001-12-07 19:12 UTC (permalink / raw)
  To: dewar, kenner, mrs, zack; +Cc: gcc

Note that just *reading* B tests to see if the output is correct is a
very difficult task, one that only someone with quite a bit of ACVC/ACATS
validation experience can do. A formal validation run using these tests
often involves several days of painstaking manual work by someone who
is an expert in the B tests to assure compliance.

Consider various possibilities:

1. You must not make changes to the compiler that change the B tests baselines.

     This is far too restrictive, it would forbid even fixing a spelling error.
     In practice fixing a bug in one part of the compiler can often change
     an error message elsewhere in one of the B tests (by implementing
     better error recovery). Most often such changes are for the better.

2. If the B test baseline changes, verify the baseline change and adjust the
   baseline.

     This would be fine, except that the verification process typically
     requires someone with very good expertise in Ada semantics, AND
     very good familiarity with the ACATS test suite. There are not
     many such people in the world.

A huge effort from any Ada vendor goes into making sure that the compiler
passes all the B tests. Many have actively questioned the value of this
effort in the past, but if you want to formally validate you have no 
choice. But this does not necessarily mean that these are well chosen
tests from the point of view of our use here at gnu.org.

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-07 18:57 dewar
  0 siblings, 0 replies; 30+ messages in thread
From: dewar @ 2001-12-07 18:57 UTC (permalink / raw)
  To: dewar, kenner, mrs, zack; +Cc: gcc

<<If your compiler randomly changes around where messages come out all
the time, maybe you should re-engineer it from the top down, fix all
of them to be correct, once, fix the testcases in the testsuite to
conform to it, and then refuse any changes to this status quo for 5-10
years, and then after 5 years, put in all the changes enmass you would
like, redo the testsuite, lather, rise, repeat.
>>

It is not at all a matter of "randomly changing around where messages
come out all the time". Rather it is a matter of constantly improving
the messages (something that would be welcome in all compilers :-)
and each time such improvement occurs, it can discombobulate the baselines,
and require fairly painstaking adjustments. Of course we have to do these
adjustments at ACT, but the real point is that it would be a mistake
to make the B tests a barrier to development. The B tests of Ada are
really quite unlikely any other test suite I have seen for any other language,
so I would definitely advise becoming thoroughly familiar with these tests
before being too sure you know the answers.

Notice the pattern here. Among those who are familiar with the ACATS B
tests there is a consensus that it is not obvious that they are of value
in our context. It is those who do not know the suite who are sure they
must be of great value :-)

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-07 18:50 mike stump
  0 siblings, 0 replies; 30+ messages in thread
From: mike stump @ 2001-12-07 18:50 UTC (permalink / raw)
  To: dewar, kenner, zack; +Cc: gcc

> From: dewar@gnat.com
> To: kenner@vlsi1.ultra.nyu.edu, zack@codesourcery.com
> Cc: gcc@gcc.gnu.org
> Date: Fri,  7 Dec 2001 20:39:54 -0500 (EST)

> <<One possibility is to run the B tests in a non-conventional way, where all
> the test harness does is to check for the presence of at least one
> error line for each line marked ERROR.  I don't know how hard such a
> harness is to write, and that's not the way B tests are usually done, but
> might work.
> >>

> That's not good enough, the errors often do not occur on exactly the correct
> lines.

We have years of experience with such a scheme for C++, it works, it
is useful, it isn't a maintenance burden.  I find the value of it
easily outweighs the maintenance cost of it.

If your compiler randomly changes around where messages come out all
the time, maybe you should re-engineer it from the top down, fix all
of them to be correct, once, fix the testcases in the testsuite to
conform to it, and then refuse any changes to this status quo for 5-10
years, and then after 5 years, put in all the changes enmass you would
like, redo the testsuite, lather, rise, repeat.

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-07 17:59 dewar
  0 siblings, 0 replies; 30+ messages in thread
From: dewar @ 2001-12-07 17:59 UTC (permalink / raw)
  To: kenner, zack; +Cc: gcc

<<One possibility is to run the B tests in a non-conventional way, where all
the test harness does is to check for the presence of at least one
error line for each line marked ERROR.  I don't know how hard such a
harness is to write, and that's not the way B tests are usually done, but
might work.
>>

That's not good enough, the errors often do not occur on exactly the correct
lines.

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-07  3:18 Richard Kenner
  0 siblings, 0 replies; 30+ messages in thread
From: Richard Kenner @ 2001-12-07  3:18 UTC (permalink / raw)
  To: zack; +Cc: gcc

    This is all fair.  How about a compromise position where you check the
    B tests into the CVS tree but don't bother adding dejagnu harnesses
    for them.  They are then instantly available if they are needed.

The issue is the *baselines*, not either the B tests themselves or the
test harness.  They must be checked in *and* actively maintained if
they are to be "instantly available".

One possibility is to run the B tests in a non-conventional way, where all
the test harness does is to check for the presence of at least one
error line for each line marked ERROR.  I don't know how hard such a
harness is to write, and that's not the way B tests are usually done, but
might work.

That would just leave the issue of splits, not baselines, and those change
less often.

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-06 19:09 dewar
  0 siblings, 0 replies; 30+ messages in thread
From: dewar @ 2001-12-06 19:09 UTC (permalink / raw)
  To: bosch, zack; +Cc: gcc, guerby

<<My experience working on the C front end has been that tests for proper
diagnostics from ill-formed code are extremely useful.  Can you explain
why they're almost useless for the Ada front end?
>>

It's just the experience that I mentioned, that most of the work is
fiddling for perfectly acceptable correct changes in messages.

<<This is all fair.  How about a compromise position where you check the B
tests into the CVS tree but don't bother adding dejagnu harnesses for them.
They are then instantly available if they are needed.
>>

Certainly they are not secret. And we can certainly check them in. The
question is whether to set up the harness with the baselines or not.
(evaluating B test runs without the baselines is an overwhelming task).

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-06 17:38 dewar
  0 siblings, 0 replies; 30+ messages in thread
From: dewar @ 2001-12-06 17:38 UTC (permalink / raw)
  To: jsm28, kenner; +Cc: gcc

<Well, the ACATS tests do not check code quality, but it's correct that the B
tests verify that each condition that must produce an error message do so.
And I agree that this is worthwhile test to run.
>>

The important thing to understand is that I would say only one percent of
changes to B test output are actual errors. The remaining 99% are a result
of minor changes in error message wording, formatting, or production.

I agree with Geert that for now it is a bad idea to include the B tests.

<<It is certainly valuable to have the B tests *around* for those cases when
having a run might be useful, but requiring them as a condition for checkins
doesn't make any sense at all for changes other than to the Ada front end
(since these tests mostly don't even get out of the front end since *all* of
them have errors) and is of only marginal value for changes to the Ada front
end.
>>

I would say marginal here = not worth while

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-06 15:40 Richard Kenner
  0 siblings, 0 replies; 30+ messages in thread
From: Richard Kenner @ 2001-12-06 15:40 UTC (permalink / raw)
  To: zack; +Cc: gcc

    I'm 100% confident that there is value to having "make check" drive at
    least some set of Ada tests.  

I don't think *anybody* disagrees with that.  The question is what should
that subset be?  My experience with backend changes is that most of the
failures are in C3, CD, CXA, and CXG, with a smaller number in C4.  For
changes to other than the Ada front-end, the benefit of running additional
chapters is, in my opinion, small.  I can't remember a time when a backend
change caused an ACATS failure that didn't show up in one of those chapters.
That being said, I should also point out that the ACATS suite isn't a very
good test of the back-end at all, but perhaps running it with different
optimization levels will help.

    (with the implication that writing a C testcase is impossible or at
    least too much work).  

Usually impossible.  The issue is trees that can't be made in C, such as with
PLACEHOLDER_EXPR.

    It may make sense not to run the ACATS B tests by default, but they
    should at least be _present_ in the repository so that everyone is on
    an equal footing for changes that affect error messages.

I think everybody agrees with that too, but the question is what does
"present" mean with respect to the baselines, which is where the real
maintenance issue is.

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-06 15:01 Richard Kenner
  0 siblings, 0 replies; 30+ messages in thread
From: Richard Kenner @ 2001-12-06 15:01 UTC (permalink / raw)
  To: jsm28; +Cc: gcc

    In general I consider a patch which adds a diagnostic without
    including a test exercising that code path, or adds a language feature
    without proper tests for the associated constraints, to be defective.
    I get the impression from this discussion that these tests represent
    something similar for Ada - tests of the ways in which code can be
    defective and diagnostics issued for it - and so would be of similar
    value.  It is just as much a fundamental part of avoiding regressions
    that bad code remains diagnosed and the messages do not get worse, as
    that good code continues to compile and code quality does not get
    worse.

Well, the ACATS tests do not check code quality, but it's correct that the B
tests verify that each condition that must produce an error message do so.
And I agree that this is worthwhile test to run.

However, I also agree with what Geert said: it is important to become
familiar with this test suite before making such decisions.  This is a very
complex test suite with a very high cost of maintenance.  You need to look at
both the benefit and cost of running each of the tests.

The problem with the B tests in particular is that the normal way of running
them is to compare the output with a baseline output and manually inspect
differences between that baseline and any different output.  This means that
a wording change in a common error message can easily affect over a thousand
baseline files.  Dealing these tests is an esoteric specialty built up over
the last few decades.

It is certainly valuable to have the B tests *around* for those cases when
having a run might be useful, but requiring them as a condition for checkins
doesn't make any sense at all for changes other than to the Ada front end
(since these tests mostly don't even get out of the front end since *all* of
them have errors) and is of only marginal value for changes to the Ada front
end.

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: ACATS legal status cleared by FSF
@ 2001-12-05 23:36 dewar
  0 siblings, 0 replies; 30+ messages in thread
From: dewar @ 2001-12-05 23:36 UTC (permalink / raw)
  To: gcc, guerby

Laurent's plan sounds like a good one to me!

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re:  ACATS legal status cleared by FSF
@ 2001-12-05 15:28 Richard Kenner
  2001-12-05 15:41 ` guerby
  0 siblings, 1 reply; 30+ messages in thread
From: Richard Kenner @ 2001-12-05 15:28 UTC (permalink / raw)
  To: guerby; +Cc: gcc

Another quetsion is what compilation options do we run them with?

Do we use -O0, -O1, -O2 or do we run them with all three?

In my experience, the ACATS tests are only a moderately-good test of the
backend.  The C2 tests really don't test anything in the backend at all
and the C7, C8, CA, and CB tests are nearly totally front-end tests.
C9 and CXD mostly checks the library.

My suggestion is to use C3, C4, C5, C6, CD, CXA, and CXG as the tests
run regularly as back-end tests and to run them with the same collection
of options we use for the C execution tests.

^ permalink raw reply	[flat|nested] 30+ messages in thread
* ACATS legal status cleared by FSF
@ 2001-12-05 15:13 guerby
  2001-12-05 16:21 ` Joseph S. Myers
                   ` (3 more replies)
  0 siblings, 4 replies; 30+ messages in thread
From: guerby @ 2001-12-05 15:13 UTC (permalink / raw)
  To: gcc

I just received confirmation from FSF that ACATS DFAR legalese means
that we can do whatever we want with it. In this email I make a few
descriptions and proposals, they start by [N].

The executable part of ACATS (formaly A, C, D, E and L tests - see
below) comprises 2500 source files, summing to 15 MB and providing
around 2300 executable tests. Each source file has a DFAR legalese
header - attached after my signature - and a description of the test.

From the ACATS documentation

<<
Class A tests check for acceptance (compilation) of language
constructs that are expected to compile without error.

Class B tests  check that illegal  constructs are recognized  and
treated as fatal  errors. They are  not expected to  successfully
compile, bind, or execute.

Class C tests  check that executable  constructs are  implemented
correctly and produce expected results. These tests are  expected
to  compile,  bind,   execute  and  report   "PASSED"  or   "NOT-
APPLICABLE".  Each   class  C   test  reports   "PASSED",   "NOT-
APPLICABLE", or "FAILED" based on  the results of the  conditions
tested.

Class D tests check that implementations perform exact arithmetic
on large literal  numbers. These tests  are expected to  compile,
bind, execute and report "PASSED". Each test reports "PASSED"  or
"FAILED" based on the conditions tested. Some implementations may
report errors at compile  time for some of  them, if the  literal
numbers exceed compiler limits.

Class E tests check for constructs that may require inspection to
verify. They have special grading criteria that are stated within
the test source.

Class L tests check that all  library unit dependencies within  a
program are  satisfied  before  the  program  can  be  bound  and
executed, that  circularity  among  units is  detected,  or  that
pragmas  that  apply  to   an  entire  partition  are   correctly
processed.
>>

All ACATS tests are identifed by a 7 characters key which is more or
less composed from Class + Reference Manual Chapter + RM Section + Key.

All the files for a test begin by this 7 character key, most tests
have only one file, but some have more than one.  An ACATS source file
can contain multiple compilation unit, to run them through GNAT we
first need to "gnatchop" them so that each unit ends up with one file
with the name GNAT expects by default, then we have to guess what is
the file containing the main routine, "gnatmake" it and run it.
This increases the count of source files from 2500 to 4100.

To avoid preprocessing and script-like machinery overhead, I propose
that we commit the ACATS sources directly in the form expected by
GNAT, so we end up just having a list of main unit names, and so a
simple minded loop of "gnatmake x; run x" will be the only thing
needed to run. 

[1] Any objection?

[2] Do we want to keep some subdirectories, if so what granularity, or
all in one dir is okay (something like 4000 files)?

[3] Some file names will be up to 56 characters, okay? (87% have less
or equal than 14.)

[4] What should be the top directory in the gcc tree for the ACATS
test suite?  gcc/gcc/testsuite/ada/acats or a top level directory or
something else? I assume we want ACATS somewhat separated from other
Ada tests generated by the GCC project, this will facilitate
maintenance.

[5] IMHO it is best if the form in which we commit the sources of the
ACATS tests is as separated as possible from the testsuite harness
technology at first, just sources, README and a list of test names.
Okay?

There are convoluted tests trying to see if the compiler conforms to
the Ada compilation model initially suggested by the RM, but as RMS
invented a new way of reading this and that GNAT does follow it (and
modern proprietary compiler do the same), these tests are of no value,
I propose we just drop them. I'll of course document all such tests
dropped and why.

[6] Okay?

The B tests require a lot of maintainance (hundreds of pages of
changes each time you improve a message, split of files with too many
errors, etc...), and have no value for the backend, may be someone
will volunteer the packaging, but not me. I assume ACT dedicates
someone to this task anyway :).

[7] I can help if someone wants to take over this, but ACT has probably
to provide an initial baseline of splits and scripts, so please check
with them first.

Here is a rough count of executable tests by class and chapter (lower
bound, some are omitted):

   4 ; cz Check that the test reporting stuff works
  75 ; a  
  34 ; c2 Lexical Elements
 351 ; c3 Declarations and Types
 339 ; c4 Names and Expressions
  95 ; c5 Statements
  81 ; c6 Subprograms 
  51 ; c7 Packages
 140 ; c8 Visibility Rules
 255 ; c9 Tasks and Synchronization
  74 ; ca Program Structure and Compilation Issues
  43 ; cb Exceptions
 117 ; cc Generic Units
 173 ; cd Representation Issues
 268 ; ce Predefined Language Environment (Ada 83)
  87 ; cxa Predefined Language Environment (Ada 95)
  30 ; cxb Interface to Other Languages
  13 ; cxc Systems Programming
  38 ; cxd Real-Time Systems
   1 ; cxe Distributed Systems 
  20 ; cxf Information Systems
  29 ; cxg Numerics
   4 ; cxh Safety and Security
   4 ; d  
  11 ; e  
  26 ; l  

I have a patch applying to all tests using the delay statement in
order to be able to rescale them (their default value in second is
absurd for modern machines), the patch is composed of hunks like:

+with Impdef;
 PACKAGE BODY C94005B_PKG IS
 
      TASK BODY TT IS
@@ -59,7 +59,7 @@
           ACCEPT E (I : INTEGER) DO
                LOCAL := I;
           END E;
-          DELAY 60.0;    -- SINCE THE PARENT UNIT HAS HIGHER PRIORITY
+          DELAY 60.0 * Impdef.One_Second;    -- SINCE THE PARENT UNIT HAS HIGHER PRIORITY
                          -- AT THIS POINT, IT WILL RECEIVE CONTROL AND
                          -- TERMINATE IF THE ERROR IS PRESENT.
           GLOBAL := LOCAL;

[8] I propose to commit directly with the patch applied, I'll of course
commit and maintain a list of tests that were modified and why, any
objection?

[9] Before doing the commit, I'll need a place where to put the
various prototype tarballs to reflect discussions and proposals, could
someone give me access to an ftp server somewhere?

[10] The first harness prototype will be ultra simple and should allow
anyone to play with it so we can make progress on portability and
features later on by patches on stuff in CVS the regular GCC way
instead of by generating a 20 MB tarball each time we change
something.

The upstream ACATS is maintained using CVS, web documents and
interface from <http://www.ada-auth.org/>. There's a very low volume
public mailing list.

[12] Do we want to scrap the legalese and replace it by something else?
Do we want to identify changes or extension made within the GCC
project, and if so how?

[13] I apply for maintainership of this stuff once commited, and will
keep it in synch with the change made upstream.

-- 
Laurent Guerby <guerby@acm.org>

--                             Grant of Unlimited Rights
--
--     Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
--     F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained 
--     unlimited rights in the software and documentation contained herein.
--     Unlimited rights are defined in DFAR 252.227-7013(a)(19).  By making 
--     this public release, the Government intends to confer upon all 
--     recipients unlimited rights  equal to those held by the Government.  
--     These rights include rights to use, duplicate, release or disclose the 
--     released technical data and computer software in whole or in part, in 
--     any manner and for any purpose whatsoever, and to have or permit others 
--     to do so.
--
--                                    DISCLAIMER
--
--     ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
--     DISCLOSED ARE AS IS.  THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED 
--     WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
--     SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE 
--     OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
--     PARTICULAR PURPOSE OF SAID MATERIAL.

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2001-12-10  3:32 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-12-09 15:06 ACATS legal status cleared by FSF dewar
2001-12-09 15:55 ` Joseph S. Myers
  -- strict thread matches above, loose matches on Subject: below --
2001-12-09 19:03 dewar
2001-12-09 14:00 dewar
2001-12-07 19:12 dewar
2001-12-09 13:02 ` Zack Weinberg
2001-12-09 14:52   ` guerby
2001-12-09 19:47     ` Geert Bosch
2001-12-07 18:57 dewar
2001-12-07 18:50 mike stump
2001-12-07 17:59 dewar
2001-12-07  3:18 Richard Kenner
2001-12-06 19:09 dewar
2001-12-06 17:38 dewar
2001-12-06 15:40 Richard Kenner
2001-12-06 15:01 Richard Kenner
2001-12-05 23:36 dewar
2001-12-05 15:28 Richard Kenner
2001-12-05 15:41 ` guerby
2001-12-05 15:13 guerby
2001-12-05 16:21 ` Joseph S. Myers
2001-12-05 18:00 ` Jerry van Dijk
2001-12-06  3:36 ` Geoff Keating
2001-12-06  9:34 ` Geert Bosch
2001-12-06 11:48   ` Zack Weinberg
2001-12-06 14:24     ` Geert Bosch
2001-12-06 14:32       ` Joseph S. Myers
2001-12-06 15:10       ` Zack Weinberg
2001-12-06 15:41         ` Geert Bosch
2001-12-06 18:22           ` Zack Weinberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).