Hi Bruno,

At 2026-01-01T14:27:01+0100, Bruno Haible wrote:
> G. Branden Robinson wrote:
> > (Also, it's surprise to me that Autoconf thinks a sun4u system is not a
> > "64-bit host".)
> > 
> > checking for 64-bit host... no
> 
> It tests whether the code generated by the compiler is 32-bit or 64-bit.
> (Because if the compiler generates 32-bit instructions, it's irrelevant
> whether the CPU _can_ also execute 64-bit instructions, in the kernel or
> elsewhere.)

Ah, I see.  Yup, I'm familiar with the scenario now that you put it that
way.  We're concerned with ABI here, not machine register width.

> >   CXX      src/preproc/preconv/preconv-preconv.o
> > src/preproc/preconv/preconv.cpp: In function ‘void 
> > conversion_iconv(std::FILE*, const string&, char*)’:
> > src/preproc/preconv/preconv.cpp:705:45: error: invalid static_cast from 
> > type ‘char**’ to type ‘const char**’
> >       static_cast<ICONV_CONST char **>(&inptr),
> >                                              ^
> > src/preproc/preconv/preconv.cpp:740:47: error: invalid static_cast from 
> > type ‘char**’ to type ‘const char**’
> >         static_cast<ICONV_CONST char **>(&inptr),
> >                                                ^
> 
> That should be a const_cast, not a static_cast, no? Or a reinterpret_cast
> in the worst case.

Yes, that was my error.  Not sure what trip I was on at that time.  The
`ICONV_CONST` was a red herring.

https://cgit.git.savannah.gnu.org/cgit/groff.git/commit/?id=1740c22b4a97b473b25ea68f70ee5fab341bfda6

Sorry to draft this list into service as my C++ rookie's help desk.

The good news is that, with the obvious const_cast<> patch, my sparc64
build ran to completion.  Adding to that the amd64 and arm64 builds that
have already succeeded, and I think I'm ready to code-freeze the groff
"core" and tag 1.24.0.rc1.

Thank you!

Regards,
Branden

Attachment: signature.asc
Description: PGP signature

Reply via email to