public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: Ada policy
@ 2004-08-31  1:25 Richard Kenner
  2004-08-31  1:57 ` Zack Weinberg
  0 siblings, 1 reply; 99+ messages in thread
From: Richard Kenner @ 2004-08-31  1:25 UTC (permalink / raw)
  To: zack; +Cc: gcc

    Note that that was in the context of a discussion of whether configure
    should refuse to enable Ada if the "wrong" bootstrap compiler was found.

You missed the point that "wrong" meant one of the compilers where the
you'd end up building the C and Ada parts with different versions of
GCC.  That caused EH problems within the compiler.

    But that doesn't mean you can't use pragma Unreferenced; it just has
    to be properly conditionalized so that GCC 3.(<3) somehow sees pragma
    Warnings (Off) instead.

You can't "conditionalize" in Ada, "properly" or not.  It was a
requirement of the language that it *not* permit conditionalization.
The reason was to avoid situations where you'd get compilation errors
with one set of options and not with others.  The requirements for the
language that became Ada forbid that.  There's simply no way to avoid
the sort of problem you are trying to work around.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada Policy
@ 2004-09-11 14:29 Richard Kenner
  0 siblings, 0 replies; 99+ messages in thread
From: Richard Kenner @ 2004-09-11 14:29 UTC (permalink / raw)
  To: neroden; +Cc: gcc

    FYI, my work on separate libada has stalled *because* Ada didn't
    (maybe still doesn't, for all I know) bootstrap on mainline.  This
    made it impossible to test whether I'd broken anything.

At the moment, I believe it bootstraps, but can't build the library.  There
are patches I've done to fix some of the library problems, but Arno can't
commit them because he can't do a successful library build due to middle-end
problems.  I think two of them have been fixed, but I think one remains.
I'm going to try to pin down the exact status on Monday.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada Policy
@ 2004-09-11 10:43 Nathanael Nerode
  0 siblings, 0 replies; 99+ messages in thread
From: Nathanael Nerode @ 2004-09-11 10:43 UTC (permalink / raw)
  To: gcc, zack

Zack Weinberg wrote:

>The last time this came up, I posted a list of requirements which I
>consider non-negotiable prerequisites for the community at large being
>required to test Ada when they are not specifically working on it.
>This list received no commentary whatsoever, and no progress has been
>made toward meeting any of the requirements except the separate libada
>(which seems to have stalled).
>
>http://gcc.gnu.org/ml/gcc/2004-02/msg00859.html

FYI, my work on separate libada has stalled *because* Ada didn't (maybe still
doesn't, for all I know) bootstrap on mainline.  This made it impossible
to test whether I'd broken anything.

-- 
This space intentionally left blank.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada policy
@ 2004-09-01 20:48 Richard Kenner
  0 siblings, 0 replies; 99+ messages in thread
From: Richard Kenner @ 2004-09-01 20:48 UTC (permalink / raw)
  To: Joe.Buck; +Cc: gcc

    Perhaps I've been blaming the trouble I've had on the wrong issue, but
    I've had much more trouble with Ada build failures than your message
    would indicate, to the point where I only build Ada on recent
    GNU/Linux systems with a very recent prepackaged gnat.

Well, what were you using before?  Certainly some of the older systems
had a mixed versions of Ada and C that would cause EH problems, especially
since there was stuff put into the configury that purported to support
that (I was always against that stuff since I think it never worked).

So the issue wasn't the age of the version of GNAT, but whether the package
on the system was properly built.  It should not be a surprise that
you can't build it from an improper package, though it is unfortunate
that there was a time when a lot of them existed.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada policy
@ 2004-09-01 18:19 Robert Dewar
  2004-09-01 18:51 ` Joe Buck
  0 siblings, 1 reply; 99+ messages in thread
From: Robert Dewar @ 2004-09-01 18:19 UTC (permalink / raw)
  To: gcc, kaih

To try to get this a bit back on track .. I would like to ask the question
of why Zack and perhaps some others think it would be desirable if GNAT 
could be compiled with other proprietary Ada compilers. I really have not
been able to understand any reason why this would be desirable. Let's assume
that

a) it would be quite a bit of work to make this so
b) no one would test it (certainlynot us, since we don't even have these
     expensive proprietary compilers, let alone time to fiddle with them).
c) it would somewhat reduce efficiency, maintainability and readability
     but not to a disabling degree

So these are the negatives, what exactly are the positives, or is this
discussion without practical aim?

I understand that Zack is disappointed, but I am not sure that is enough to
even consider making this change :-)

Certainly I can think of a lot (to me) more productive use of time.
If indeed no one is really suggesting this change, then I would suggest
we drop this particular aspect of "Ada Policy" and concentrate on other
issues.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada policy
@ 2004-08-31 12:53 Richard Kenner
  0 siblings, 0 replies; 99+ messages in thread
From: Richard Kenner @ 2004-08-31 12:53 UTC (permalink / raw)
  To: per; +Cc: gcc

    A trimmed-out test case, with comments removed, and identifiers renamed,
    is still a "derived" work, but presumably many customers would be
    willing to disclaim copyright interest.  Perhaps as part of your
    bug resolution procedure you could ask "could you please review
    this simplified test case as to whether we can release it".  This
    does involve some customer education, so it is probably only worthwhile
    for your bigger customers - i.e. those who submit lots of test cases.

Robert can say more about this, but remember that the biggest companies
are usually the ones with the biggest legal department ...

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada policy
@ 2004-08-31  3:34 Richard Kenner
  0 siblings, 0 replies; 99+ messages in thread
From: Richard Kenner @ 2004-08-31  3:34 UTC (permalink / raw)
  To: zack; +Cc: gcc

    However, developing non-encumbered test cases is certainly a Good
    Thing, and IMO worth spending time on.

Everyone agrees with that.  The problem is that there are a lot of
things that are worth spending time on and a limited amout of time.

    It sounds like you have a regression test harness internally; would
    it be practical to clean that up and contribute it?

It wouldn't be all that useful since it's meant to work in a very different
environment.  Laurent Guerby says that the harness he wrote for ACATS could
be converted to deal with the other tests cases fairly straightforwardly.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada policy
@ 2004-08-31  3:31 Richard Kenner
  2004-08-31  4:07 ` Zack Weinberg
  0 siblings, 1 reply; 99+ messages in thread
From: Richard Kenner @ 2004-08-31  3:31 UTC (permalink / raw)
  To: zack; +Cc: gcc

    This discussion is about appearances as well as actuality.  Can you at
    least agree that a reasonable person could reach my position?  That is,
    maybe ACT has never actually broken using an older GCC to bootstrap
    the Ada front end, but can you understand how I and others have come
    to the conclusion that your policy was not to keep it working?

You have the quantifiers wrong.  The statement was that there was no
*guarantee* that it would work with older version, that there was the need
for freedom to allow it not to work with arbitrarily old versions.  That
doesn't mean there was a plan to purposely break it, just the reality 
that the cost of having it be compilable by arbitrarily-old versions
may be more than the benefits of doing so at times.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada policy
@ 2004-08-31  3:22 Richard Kenner
  2004-08-31  3:29 ` Zack Weinberg
  0 siblings, 1 reply; 99+ messages in thread
From: Richard Kenner @ 2004-08-31  3:22 UTC (permalink / raw)
  To: mrs; +Cc: gcc

    Primary languages and platforms should have them, they come in handy
    from time to time and help make the compiler more maintainable and
    help ensure a certain quality standard.  Do no harm is really more
    interesting to a customer than a random bug fix that they don't hit,
    and by far, most code doesn't hit most bugs, therefore the greater
    good is to not fix the bug, if you can't also do the testcase to
    ensure that the customer won't hit the bug again...

The key point is who is "you".  ACT can clearly put the bug in *their*
regression suite, so the bug will stay fixed.  Not fixing a customer
bug isn't an option.

The point is what to do with the FSF tree with respect to fixes for
bugs for which no resources are available to make a non-proprietary
test case.  Should the fix for the bug not be propagated to the FSF
tree?  I see no argument in favor of doing that.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada policy
@ 2004-08-30 23:06 Richard Kenner
  2004-08-31  2:59 ` Mike Stump
  2004-08-31  8:16 ` Per Bothner
  0 siblings, 2 replies; 99+ messages in thread
From: Richard Kenner @ 2004-08-30 23:06 UTC (permalink / raw)
  To: mrs; +Cc: gcc

    Don't start fixing a testcase until after you've trimmed the testcase
    down, then you will find that all bugs you fix will have cut down test
    cases.

As I'm sure you know, if you start with copyrighted code and "trim it
down", you still have copyrighted code.  Making a non-proprietary
version of a test case involves a lot more work than that.

    We can describe the procedure to transform a proprietary testcase in 
    detail into one that isn't, if you want.  

Let's not get into copyright law, but the point is that if you transform
it using a "procedure", it's still proprietary.

    So, I guess I am confused as to, do you just not want to do the work
    to produce the testcases, or do you lack the understanding of how to
    do it?

There are a lot of people fixing bugs in the Ada front end.  The skill levels
of each of these people in making non-proprietary versions of test cases
differs.  The amount of time each has to commit to that work differs.
As Robert said, there will be lots of situations where the choice is either
to submit the fix without a test case or not submit the fix.  Which do
you think is the best approach?

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada policy
@ 2004-08-30 22:18 Richard Kenner
  2004-08-30 22:38 ` Robert Dewar
  0 siblings, 1 reply; 99+ messages in thread
From: Richard Kenner @ 2004-08-30 22:18 UTC (permalink / raw)
  To: laurent; +Cc: gcc

    A while ago I asked for these 0000-xxx tests (I believe they are those
    you describe, right?) 

Well, 000x-xxx, but yes.

    The current ACATS harness need no or little modification to run
    non ACATS tests, if no one has another Ada-aware harness at hand, I can
    collect the test cases from the GCC archives and put them there.

Doesn't that harness depend on the test using the Report mechanism,
which random tests won't do?  Certainly most of the one you cite don't:
they rely on printing output and comparing it with a known-good file.

You're familiar with the format of those tests.  Some harness that could
run them would be a good start.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada policy
@ 2004-08-30 22:01 Richard Kenner
  2004-08-30 22:02 ` Laurent GUERBY
  0 siblings, 1 reply; 99+ messages in thread
From: Richard Kenner @ 2004-08-30 22:01 UTC (permalink / raw)
  To: jsm; +Cc: gcc

    *Some* tests are proprietary code.  But there are all the Ada
    testcases you've sent to the lists over the years (apart from those
    derived from ACATS), which are public even though they may be
    synthetic tests to cover problems originally shown in proprietary
    code, and tests that were submitted to GCC Bugzilla, and tests written
    by the authors of front-end features (rather than based on proprietary
    code showing a bug) when they add such features.

Sorry, I wasn't clear.

What I meant was that virtually all of the *original* test cases were
proprietary code.  There have certainly been times when I (or somebody ele)
has synthesized smaller tests from those.  But doing so in general takes a
lot of time and isn't always possible (e.g. in the case of reload or
scheduling bugs where changing *anything* in the source makes the problem go
away.

As I said, there are indeed a large number of tests cases that can be added
to a harness: those that were posted and at least 200 tests that were written
specifically to test new features.  But we need the harness.

    (If testcases suitable for automated testing aren't routinely written
    when new front end features are added, then starting writing such
    tests to accompany future features is simply part of following the
    usual GCC development practice followed for other front ends.)

Usually, when new languages features are added to Ada, the "language folks"
write new ACATS tests for them.  That has not been happening recently, but
people who are implementing features from Ada 2005 have been writing tests in
the ACATS style for them.  These should eventually make their way into the
official ACATS suite, but there needs to be a place for them in the meantime.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: Ada policy
@ 2004-08-30 21:41 Richard Kenner
  2004-08-30 21:53 ` Joseph S. Myers
                   ` (2 more replies)
  0 siblings, 3 replies; 99+ messages in thread
From: Richard Kenner @ 2004-08-30 21:41 UTC (permalink / raw)
  To: jsm; +Cc: gcc

    for example, fixes to bugs with public non-ACATS testcases don't get
    them added to the testsuite (and there is no harness to add them to)
    although a fair number of such testcases have been posted to the lists
    over the years which ought to be in the testsuite.

There are two problems here.  First, there is no testsuite harness to
add the available test cases (as you say) and second that nearly all
of the test cases are proprietary code.

If somebody volunteers to do the former, that problem will go away.
But the second problem is more serious, especially if you enlarge
the set of changes that need test cases to front-end changes.

^ permalink raw reply	[flat|nested] 99+ messages in thread
* Re: GCC 3.5 Status (2004-08-29)
@ 2004-08-30 10:44 Richard Kenner
  2004-08-30 11:27 ` Laurent GUERBY
  0 siblings, 1 reply; 99+ messages in thread
From: Richard Kenner @ 2004-08-30 10:44 UTC (permalink / raw)
  To: neroden; +Cc: gcc

    I notice that the, uh, "project" to get Ada bootstrapping (Kenner,
    when can we expect this?) is not listed.  These changes will
    presumably be accepted in stage 3?

Because it's not a "project" in the sense of new development, but rather
bugs that Ada triggers in middle-end code.   Fixing bugs is Stage 3 work.
So the timing of the Ada work is not relevent to entering Stage 3.

    However, I'm beginning to worry that Ada is going to delay the release
    of GCC 3.5 substantially if it's not bootstrapping soon, because the
    long period without Ada bootstrapping is likely to lead to bug
    discoveries when Ada is revived from the dead.

Well it was bootstrapping on and off but indeed various changes have broken
it for about two weeks.  Part of the reason for the long period was that I
was in Europe for a meeting for about a week.

In any event, as of yesterday afternoon, I have it bootstrapping in my tree.
It should be bootstrapping again in the GCC CVS in a day or so.  It'll be
more work to get it ACATS clean because some of the kludges I used to work
around bugs will need to be converted into the proper fix.

    Is Ada functioning a requirement for the release?  If so it seems a
    moderately bad idea to go into stage 3 with it totally busted.

The answer to the first question has always been "no".  But in practice,
my expectation is that it will work fine on the release.

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

end of thread, other threads:[~2004-09-11 11:59 UTC | newest]

Thread overview: 99+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-31  1:25 Ada policy Richard Kenner
2004-08-31  1:57 ` Zack Weinberg
  -- strict thread matches above, loose matches on Subject: below --
2004-09-11 14:29 Ada Policy Richard Kenner
2004-09-11 10:43 Nathanael Nerode
2004-09-01 20:48 Ada policy Richard Kenner
2004-09-01 18:19 Robert Dewar
2004-09-01 18:51 ` Joe Buck
2004-09-01 20:21   ` Robert Dewar
2004-09-01 20:44     ` Joe Buck
2004-09-01 20:52       ` Robert Dewar
2004-09-01 20:53       ` Robert Dewar
2004-08-31 12:53 Richard Kenner
2004-08-31  3:34 Richard Kenner
2004-08-31  3:31 Richard Kenner
2004-08-31  4:07 ` Zack Weinberg
2004-08-31 22:06   ` Kai Henningsen
2004-08-31 22:19     ` Robert Dewar
2004-08-31 23:15       ` Florian Weimer
2004-09-01  1:23         ` Robert Dewar
2004-09-01 12:36           ` Florian Weimer
2004-09-01 12:51             ` Robert Dewar
2004-09-02 13:42               ` Florian Weimer
2004-09-03  7:54                 ` Robert Dewar
2004-09-09 21:00                   ` Florian Weimer
2004-09-09 21:15                     ` Robert Dewar
2004-08-31  3:22 Richard Kenner
2004-08-31  3:29 ` Zack Weinberg
2004-08-31  4:05   ` Robert Dewar
2004-08-31  4:05     ` Robert Dewar
2004-08-31  4:38       ` Zack Weinberg
2004-08-31  5:01   ` Matt Austern
2004-08-31 13:08     ` Robert Dewar
2004-08-30 23:06 Richard Kenner
2004-08-31  2:59 ` Mike Stump
2004-08-31  3:10   ` Robert Dewar
2004-08-31  8:16 ` Per Bothner
2004-08-31 13:22   ` Robert Dewar
2004-08-30 22:18 Richard Kenner
2004-08-30 22:38 ` Robert Dewar
2004-08-30 22:01 Richard Kenner
2004-08-30 22:02 ` Laurent GUERBY
2004-08-30 21:41 Richard Kenner
2004-08-30 21:53 ` Joseph S. Myers
2004-08-30 22:28   ` Florian Weimer
2004-08-30 22:30     ` Joseph S. Myers
2004-08-30 23:01       ` Florian Weimer
2004-08-31 18:45         ` Laurent GUERBY
2004-08-30 22:43     ` Robert Dewar
2004-08-30 23:01       ` Florian Weimer
2004-08-31  0:11         ` Robert Dewar
2004-08-31  0:14           ` Florian Weimer
2004-08-30 22:34   ` Robert Dewar
2004-08-30 22:31 ` Robert Dewar
2004-08-30 22:48   ` Joseph S. Myers
2004-08-30 22:52     ` Mike Stump
2004-08-30 23:00       ` Robert Dewar
2004-08-30 22:55     ` Robert Dewar
2004-08-30 22:52 ` Mike Stump
2004-08-30 22:56   ` Robert Dewar
2004-08-30 10:44 GCC 3.5 Status (2004-08-29) Richard Kenner
2004-08-30 11:27 ` Laurent GUERBY
2004-08-30 13:05   ` Jakub Jelinek
2004-08-30 18:28     ` Laurent GUERBY
2004-08-30 20:14       ` Florian Weimer
2004-08-30 20:34         ` Ada policy (was: GCC 3.5 Status (2004-08-29)) Laurent GUERBY
2004-08-30 20:53           ` Ada policy Zack Weinberg
2004-08-30 20:55             ` Richard Guenther
2004-08-30 21:04             ` Richard Henderson
2004-08-30 21:24               ` Diego Novillo
2004-08-30 22:25               ` Robert Dewar
2004-08-31  1:13                 ` Zack Weinberg
2004-08-31  2:37                   ` Robert Dewar
2004-08-31  2:54                     ` Zack Weinberg
2004-08-31  3:00                       ` Robert Dewar
2004-08-31  3:28                         ` Zack Weinberg
2004-08-31  3:41                           ` Robert Dewar
2004-08-31  4:22                             ` Zack Weinberg
2004-08-31 12:55                               ` Robert Dewar
2004-08-31 15:02                                 ` Gabriel Dos Reis
2004-08-31 15:36                                   ` Robert Dewar
2004-08-31 13:06                               ` Robert Dewar
2004-08-31 15:10                                 ` Gabriel Dos Reis
2004-08-31 18:10                                   ` Laurent GUERBY
2004-08-31 18:30                                     ` Zack Weinberg
2004-08-31 18:55                                       ` Robert Dewar
2004-09-01 17:12                                         ` Kai Henningsen
2004-09-01 17:32                                           ` Robert Dewar
2004-08-31 18:59                                       ` Robert Dewar
2004-08-31 20:05                                         ` Scott Robert Ladd
2004-08-31 20:26                                           ` Robert Dewar
2004-08-31 20:53                                             ` Scott Robert Ladd
2004-08-31 20:56                                               ` Joseph S. Myers
2004-08-31 21:11                                             ` Florian Weimer
2004-08-31 21:50                                               ` Robert Dewar
2004-08-31 19:02                                       ` Robert Dewar
2004-08-31 19:28                                       ` Laurent GUERBY
2004-08-31 19:36                                         ` Robert Dewar
2004-08-31 18:42                                     ` Robert Dewar
2004-08-31 13:10                               ` Florian Weimer
2004-08-31 13:47                                 ` Robert Dewar
2004-08-30 21:05             ` Joseph S. Myers
2004-08-31 22:02             ` Geoffrey Keating
2004-08-31 22:11               ` Florian Weimer
2004-08-31 22:14               ` Robert Dewar
2004-08-31  0:13           ` Florian Weimer

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).