[gcc r16-9345] a68: do not pub non-publicized indicants in exports

"Jose E. Marchesi via Gcc-cvs" <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:ffd1698dbb055dba7f91d4fbcfb623cfae6e6941

commit r16-9345-gffd1698dbb055dba7f91d4fbcfb623cfae6e6941
Author: Jose E. Marchesi <[email protected]>
Date:   Mon Jun 15 09:38:57 2026 +0200

    a68: do not pub non-publicized indicants in exports
    
    Even non-publicized modes were being added to the module interfaces.
    This was because for all other kind of taxes (identifiers, operator
    indicants, etc) the PUBLICIZED tax attribute is set at taxes
    collection time, but for mode indicants the flag shall be set at
    extraction time.
    
    Signed-off-by: Jose E. Marchesi <[email protected]>
    
    gcc/algol68/ChangeLog
    
            * a68-parser-extract.cc (a68_extract_indicants): Set PUBLICIZED in
            the new tags for mode indicants.
            * a68-parser.cc (a68_new_tag): Initialize PUBLICIZED to false.
    
    (cherry picked from commit 39470da6adc5fea6c36deed152efa86932347d22)

Diff:
---
 gcc/algol68/a68-parser-extract.cc | 4 +++-
 gcc/algol68/a68-parser.cc         | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/gcc/algol68/a68-parser-extract.cc b/gcc/algol68/a68-parser-extract.cc
index 82ceb776116f..fc1f318eaaf1 100644
--- a/gcc/algol68/a68-parser-extract.cc
+++ b/gcc/algol68/a68-parser-extract.cc
@@ -485,8 +485,10 @@ a68_extract_indicants (NODE_T *p)
 		  /* Store in the symbol table, but also in the moid list.
 		     Position of definition (q) connects to this lexical
 		     level!  */
-		  if (a68_add_tag (TABLE (p), INDICANT, q, NO_MOID, STOP) == NO_TAG)
+		  TAG_T *t = a68_add_tag (TABLE (p), INDICANT, q, NO_MOID, STOP);
+		  if (t == NO_TAG)
 		    gcc_unreachable ();
+		  PUBLICIZED (t) = is_public;
 		  if (a68_add_mode (&TOP_MOID (&A68_JOB), INDICANT, 0, q, NO_MOID, NO_PACK) == NO_MOID)
 		    gcc_unreachable ();
 		  ATTRIBUTE (q) = DEFINING_INDICANT;
diff --git a/gcc/algol68/a68-parser.cc b/gcc/algol68/a68-parser.cc
index 1eff76a25710..4303d5297e85 100644
--- a/gcc/algol68/a68-parser.cc
+++ b/gcc/algol68/a68-parser.cc
@@ -788,7 +788,7 @@ a68_new_tag (void)
   PORTABLE (z) = true;
   VARIABLE (z) = false;
   IS_RECURSIVE (z) = false;
-  PUBLICIZED (z) = true; /* XXX */
+  PUBLICIZED (z) = false;
   ASCRIBED_ROUTINE_TEXT (z) = false;
   LOWERER (z) = NO_LOWERER;
   TAX_TREE_DECL (z) = NULL_TREE;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.