CVS difference for ai05s/ai05-0019-1.txt
--- ai05s/ai05-0019-1.txt 2006/11/11 07:07:45 1.1
+++ ai05s/ai05-0019-1.txt 2006/11/13 08:36:01 1.2
@@ -466,78 +466,56 @@
****************************************************************
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
-
-****************************************************************
+From: Robert A. Duff
+Date: Saturday, November 11, 2006 7:58 AM
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
+> Well, Bob in fact did, an hour ago: "Randy and Tucker have made some
+> suggestions, but I
+> don't fully understand the ramifications." Moreover, I think his mail
+> indicates that he'd just as soon we repeal the rule altogether and give up
+> on the static tag model.
-****************************************************************
+No! I definitely think the dispatch tables should be statically allocated and
+statically initialized. If the rule in question is necessary to make that
+possible, then I think we should keep it. (Or Tuck's suggestion, presuming
+that's less incompatible.) Why is it necessary? I understand the Convention
+and Address issues mentioned in the AI, but what else?
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
+I'm curious as to what other compilers do with the examples I sent,
+and whether they do in fact build static dispatch tables.
****************************************************************
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
+From: Robert Dewar
+Date: Saturday, November 11, 2006 8:07 AM
-****************************************************************
+We will try implementing the relaxation rule suggested and see how many
+of the "incomaptibilities" this removes, and report back.
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
-
****************************************************************
From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
+Date: Saturday, November 11, 2006 12:55 PM
-****************************************************************
+We have always built static dispatch tables. But we
+don't actually use the "official" freezing point to
+decide when to build them. We build them as soon
+as we know enough (at compile-time) to do so. If that
+happens after the "official" freezing point, it doesn't
+really matter. We assign the tables a "linkname" very
+early in the process, so we can generate references
+to the tables before we generate the tables themselves.
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
-
-****************************************************************
-
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
-
****************************************************************
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
+From: Randy Brukardt
+Date: Monday, November 13, 2006 12:18 AM
-****************************************************************
-
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
-
-****************************************************************
-
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
-
-****************************************************************
-
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
-
-****************************************************************
-
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
-
-****************************************************************
-
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
-
-****************************************************************
-
-From: Tucker Taft
-Date: Friday, November 10, 2006 8:06 PM
+Yes, that sounds about like what happens in Janus/Ada. We assign a
+symbol at the point of the type declaration for the tag, and actually
+build the tag at the end of the package or declarative part. (I know
+we tried doing it at the freezing point, and it didn't work for some
+reason, so we moved it.)
****************************************************************
Questions? Ask the ACAA Technical Agent