[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Please test: scrypt 1.2.99



On Mon, Jul 01, 2019 at 09:56:24AM -0700, Colin Percival wrote:
> On 2019-07-01 09:04, Graham Percival wrote:
> > On Mon, Jul 01, 2019 at 10:07:08AM -0400, James Turner wrote:
> >> On Mon, Jul 01, 2019 at 10:04:28AM -0400, James Turner wrote:
> >>> On Sun, Jun 30, 2019 at 09:43:34PM -0700, Colin Percival wrote:
> >>> In file included from libcperciva/alg/sha256.c:7:
> >>> libcperciva/alg/sha256_shani.h:14: error: static or type qualifiers in abstract declarator
> >>
> >> I should have noted that was under gcc (GCC) 4.2.1 20070719. If I change
> >> CC to the default clang, everything compiles just fine under OpenBSD.
> 
> Does this problem go away if you add -std=c99 to CFLAGS?
> 

It does not. The above still fails to compile with gcc 4.2.1.

> > I remember seeing those before, but I can't immediately find the github issue.
> > The problem is that gcc 4.2.1 doesn't fully support C99.  The code in question
> > is:
> > 
> > static void SHA256_Transform(uint32_t[static restrict 8],
> >     const uint8_t[static restrict 64], uint32_t[static restrict 64],
> >     uint32_t[static restrict 8]);
> > 
> > which uses the [] new features in C99.  (Or rather, these were "new" features
> > 20 years ago.)
> 
> We worked around a problem with some compilers which didn't understand
> 'restrict' unless they were passed -std=c99, but I don't remember running
> into systems which specifically failed with qualifiers in a function
> declaration.
> 
> If -std=c99 fixes this, we should adjust posix-restrict.c.
> 
> -- 
> Colin Percival
> Security Officer Emeritus, FreeBSD | The power to serve
> Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid

-- 
James Turner