Hi Robert,

> These changes have been shown to generate more sensible code on both
> x86_64.
>
> On x86_64-pc-linux, a bootstrap build of --enable-languages=c,c++,cobol
> succeeded.

this patch has one change (not listed in ChangeLog) that broke 32-bit
Solaris bootstrap:

diff --git a/gcc/cobol/parse.y b/gcc/cobol/parse.y
index f0faaa41577..660b0b4c4c2 100644
--- a/gcc/cobol/parse.y
+++ b/gcc/cobol/parse.y
@@ -12359,7 +12359,7 @@ numstr2i( const char input[], radix_t radix ) {
     return output;
   }
   if( erc == -1 ) {
-    yywarn("'%s' was accepted as %zu", input, integer);
+    yywarn("'%s' was accepted as %ld", input, integer);
   }
   return output;
 }

This causes

/vol/gcc/src/hg/master/local/gcc/cobol/parse.y: In function ‘real_value 
numstr2i(const char*, radix_t)’:
/vol/gcc/src/hg/master/local/gcc/cobol/parse.y:12362:12: error: format ‘%ld’ 
expects argument of type ‘long int’, but argument 3 has type ‘std::size_t’ {aka 
‘unsigned int’} [-Werror=format=]
12362 |     yywarn("'%s' was accepted as %ld", input, integer);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~         ~~~~~~~
      |                                               |
      |                                               std::size_t {aka unsigned 
int}

Returning to %zu obviously fixes this.

Besides, I noticed

diff --git a/gcc/cobol/Make-lang.in b/gcc/cobol/Make-lang.in
index bec81a6acc0..18eb3b0f1e5 100644
--- a/gcc/cobol/Make-lang.in
+++ b/gcc/cobol/Make-lang.in
@@ -353,6 +353,13 @@ cobol.srcman:
 
 cobol.mostlyclean:
 
+gcobol.clean:
+# This is intended for non-general use.  It is a last-ditch effort to flush
+# out all oject files and executable code for gcobol and libgcobol, causing 
+# a complete rebuild of all executable code.
+       rm -fr gcobol cobol1 cobol/*            \
+       ../*/libgcobol/*
+

This is at least incomplete: in multilib builds, there are more
instances of libgcobol in <target triple>/<multilib subdir>/libgcobol.

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to