Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-20 Thread Lee, Greg
The tarball you pointed me to appears to build OK on Linux PPC. Thanks.


From: drhsql...@gmail.com <drhsql...@gmail.com> on behalf of Richard Hipp 
<d...@sqlite.org>
Sent: Wednesday, December 20, 2017 3:49:45 PM
To: SQLite mailing list
Cc: Lee, Greg
Subject: Re: [sqlite] Macro expansion of B0 on Linux PPC system

On 5/3/17, Lee, Greg <lee...@llnl.gov> wrote:
> When I try to build sqlite 3.18.0 on a Linux PPC system, I get a
> compile-time error.

Can you please try again using the latest trunk version of SQLite and
let me know if you are still encountering problems.  You can download
a tarball of the latest trunk checkin from
https://sqlite.org/src/tarball/sqlite.tar.gz?r=trunk

We are dependent on you to run this test since we do not have access
to a Linux PPC system.

---
D. Richard Hipp
d...@sqlite.org
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-20 Thread Richard Hipp
On 5/3/17, Lee, Greg  wrote:
> When I try to build sqlite 3.18.0 on a Linux PPC system, I get a
> compile-time error.

Can you please try again using the latest trunk version of SQLite and
let me know if you are still encountering problems.  You can download
a tarball of the latest trunk checkin from
https://sqlite.org/src/tarball/sqlite.tar.gz?r=trunk

We are dependent on you to run this test since we do not have access
to a Linux PPC system.

---
D. Richard Hipp
d...@sqlite.org
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-20 Thread Gary R. Schmidt

On 19/12/2017 13:55, Richard Hipp wrote:

On 12/18/17, Lee, Greg  wrote:

I am still seeing the problem on Power 8 and others report the problem
persists on Power 9. Please see the spack github issue. I also attached a
configure/make output if that helps.


So, what you are saying, then, is that "B0" is a reserved word on
Power 8 and Power 9 systems, and can never be used as a local variable
name?

The "#define B0 0" etcetera have been in the terminal I/O include 
file(s) of UNIX systems since time immemorial.


I've just run up a quickie that shows the same problem on Solaris:
#include 
#include 

int fred(int me)
{
   int B0, B1;

   B0 = me;

   B1 = me / 2;

   printf("String B0 is: %d, %d\n", B0, B1);
}

$ cc -c a.c
"a.c", line 6: syntax error before or at: 0
"a.c", line 8: left operand must be modifiable lvalue: op "="
"a.c", line 10: undefined symbol: B1
cc: acomp failed for a.c

Same-same on SLES:
$ cc -c a.c
In file included from /usr/include/termios.h:39:0,
 from /usr/include/sys/termios.h:3,
 from a.c:2:
a.c: In function ???fred???:
a.c:6:8: error: expected identifier or ???(??? before numeric constant
int B0, B1;
^
a.c:8:7: error: lvalue required as left operand of assignment
B0 = me;
   ^
a.c:10:4: error: ???B1??? undeclared (first use in this function)
B1 = me / 2;
^
a.c:10:4: note: each undeclared identifier is reported only once for 
each function it appears in



Looks like something must be including file(s) on Linux PowerPC that 
isn't included on other systems.


Cheers,
GaryB-)
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-20 Thread Lee, Greg
The problem appears to come from the inclusion of editline/readline.h, which 
ultimately includes termios.h. I'm not sure who should "fix" this, but below is 
a simple reproducer demonstrating the error. In Spack, we have a patch to 
sqlite's shell.c that applies the undef trick that I use in the reproducer.

[lee218@ray23:20171218_sqlite_B0_macro]$ cat test.c
#include 
#include 
#include 
#ifdef FIX
#undef B0
#endif
int main()
{
int B0 = 9;
printf("B0 = %d\n", B0);
return 0;
}
[lee218@ray23:20171218_sqlite_B0_macro]$ gcc test.c
In file included from /usr/include/termios.h:40:0,
 from /usr/include/bits/ioctl-types.h:5,
 from /usr/include/sys/ioctl.h:29,
 from /usr/include/editline/readline.h:77,
 from test.c:3:
test.c: In function 'main':
test.c:9:9: error: expected identifier or '(' before numeric constant
 int B0 = 9;
 ^
[lee218@ray23:20171218_sqlite_B0_macro]$ gcc test.c -DFIX
[lee218@ray23:20171218_sqlite_B0_macro]$



From: drhsql...@gmail.com <drhsql...@gmail.com> on behalf of Richard Hipp 
<d...@sqlite.org>
Sent: Monday, December 18, 2017 6:55:40 PM
To: Lee, Greg
Cc: SQLite mailing list; sqlite-...@mailinglists.sqlite.org
Subject: Re: [sqlite] Macro expansion of B0 on Linux PPC system

On 12/18/17, Lee, Greg <lee...@llnl.gov> wrote:
> I am still seeing the problem on Power 8 and others report the problem
> persists on Power 9. Please see the spack github issue. I also attached a
> configure/make output if that helps.

So, what you are saying, then, is that "B0" is a reserved word on
Power 8 and Power 9 systems, and can never be used as a local variable
name?

--
D. Richard Hipp
d...@sqlite.org
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-19 Thread Rowan Worth
On 16 December 2017 at 11:21, Richard Hipp  wrote:

> On 12/15/17, Lee, Greg  wrote:
> > I never got a reply on this issue and someone else tripped up on it:
> >
> > https://github.com/spack/spack/issues/6698
> >
> > Any help or even acknowledgement of this message would be appreciated.
> >
>
> I believe the problem was fixed on the highlighted check-in here:
> https://www.sqlite.org/src/timeline?y=ci=b9a58daca=9
>
> That fix should have appeared in SQLite version 3.19.0.  Version
> 3.21.0 is the latest.
>
> Are you still having issues?


Looks like the #undef was lost when shell.c.in was introduced:

https://www.sqlite.org/src/info/17e0bb12d82b510b

-Rowan
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-18 Thread Gary R. Schmidt

On 19/12/2017 13:55, Richard Hipp wrote:

On 12/18/17, Lee, Greg  wrote:

I am still seeing the problem on Power 8 and others report the problem
persists on Power 9. Please see the spack github issue. I also attached a
configure/make output if that helps.


So, what you are saying, then, is that "B0" is a reserved word on
Power 8 and Power 9 systems, and can never be used as a local variable
name?

The "#define B0 0" etcetera have been in the terminal I/O include 
file(s) of UNIX systems since time immemorial.


I've just run up a quickie that shows the same problem on Solaris:
#include 
#include 

int fred(int me)
{
   int B0, B1;

   B0 = me;

   B1 = me / 2;

   printf("String B0 is: %d, %d\n", B0, B1);
}

$ cc -c a.c
"a.c", line 6: syntax error before or at: 0
"a.c", line 8: left operand must be modifiable lvalue: op "="
"a.c", line 10: undefined symbol: B1
cc: acomp failed for a.c

Same-same on SLES:
$ cc -c a.c
In file included from /usr/include/termios.h:39:0,
 from /usr/include/sys/termios.h:3,
 from a.c:2:
a.c: In function ???fred???:
a.c:6:8: error: expected identifier or ???(??? before numeric constant
int B0, B1;
^
a.c:8:7: error: lvalue required as left operand of assignment
B0 = me;
   ^
a.c:10:4: error: ???B1??? undeclared (first use in this function)
B1 = me / 2;
^
a.c:10:4: note: each undeclared identifier is reported only once for 
each function it appears in



Looks like something must be including file(s) on Linux PowerPC that 
isn't included on other systems.


Cheers,
GaryB-)
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-18 Thread Warren Young
On May 3, 2017, at 4:48 PM, Lee, Greg  wrote:
> 
>   u64 B0, B1, B2, B3, B4;

That’s the first actual use of u64 in that module.  Are you sure your 
platform’s 64-bit integer types are being detected properly?  Maybe post the 
output of a ./configure run, or the resulting config.h file?

___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-18 Thread Rowan Worth
On 19 December 2017 at 11:23, Simon Slavin  wrote:

>
>
> On 19 Dec 2017, at 2:55am, Richard Hipp  wrote:
>
> > On 12/18/17, Lee, Greg  wrote:
> >> I am still seeing the problem on Power 8 and others report the problem
> >> persists on Power 9. Please see the spack github issue. I also attached
> a
> >> configure/make output if that helps.
> >
> > So, what you are saying, then, is that "B0" is a reserved word on
> > Power 8 and Power 9 systems, and can never be used as a local variable
> > name?
>
> I don’t think it likes B3 either.  Given this error message:
>
>   >> 121   shell.c:894:7: error: expected identifier or ‘(’ before numeric
> constant
>  122  u64 B0, B1, B2, B3, B4;
>
> Is there a chance that it is interpreting "B0" as a number in hexadecimal ?
>

I doubt it. Use `gcc -E -o shell.i ...` to generate the preprocessed source
and make sense of the error.

-Rowan
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-18 Thread Simon Slavin


On 19 Dec 2017, at 2:55am, Richard Hipp  wrote:

> On 12/18/17, Lee, Greg  wrote:
>> I am still seeing the problem on Power 8 and others report the problem
>> persists on Power 9. Please see the spack github issue. I also attached a
>> configure/make output if that helps.
> 
> So, what you are saying, then, is that "B0" is a reserved word on
> Power 8 and Power 9 systems, and can never be used as a local variable
> name?

I don’t think it likes B3 either.  Given this error message:

  >> 121   shell.c:894:7: error: expected identifier or ‘(’ before numeric 
constant
 122  u64 B0, B1, B2, B3, B4;

Is there a chance that it is interpreting "B0" as a number in hexadecimal ?

Simon.
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-18 Thread Lee, Greg
I am still seeing the problem on Power 8 and others report the problem persists 
on Power 9. Please see the spack github issue. I also attached a configure/make 
output if that helps.


 -Greg



From: drhsql...@gmail.com <drhsql...@gmail.com> on behalf of Richard Hipp 
<d...@sqlite.org>
Sent: Friday, December 15, 2017 7:21 PM
To: SQLite mailing list
Cc: sqlite-...@mailinglists.sqlite.org; Lee, Greg
Subject: Re: [sqlite] Macro expansion of B0 on Linux PPC system

On 12/15/17, Lee, Greg <lee...@llnl.gov> wrote:
> I never got a reply on this issue and someone else tripped up on it:
>
> https://github.com/spack/spack/issues/6698
>
> Any help or even acknowledgement of this message would be appreciated.
>

I believe the problem was fixed on the highlighted check-in here:
https://www.sqlite.org/src/timeline?y=ci=b9a58daca=9

That fix should have appeared in SQLite version 3.19.0.  Version
3.21.0 is the latest.

Are you still having issues?
--
D. Richard Hipp
d...@sqlite.org
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-18 Thread Richard Hipp
On 12/18/17, Lee, Greg  wrote:
> I am still seeing the problem on Power 8 and others report the problem
> persists on Power 9. Please see the spack github issue. I also attached a
> configure/make output if that helps.

So, what you are saying, then, is that "B0" is a reserved word on
Power 8 and Power 9 systems, and can never be used as a local variable
name?

-- 
D. Richard Hipp
d...@sqlite.org
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-15 Thread Richard Hipp
On 12/15/17, Lee, Greg  wrote:
> I never got a reply on this issue and someone else tripped up on it:
>
> https://github.com/spack/spack/issues/6698
>
> Any help or even acknowledgement of this message would be appreciated.
>

I believe the problem was fixed on the highlighted check-in here:
https://www.sqlite.org/src/timeline?y=ci=b9a58daca=9

That fix should have appeared in SQLite version 3.19.0.  Version
3.21.0 is the latest.

Are you still having issues?
-- 
D. Richard Hipp
d...@sqlite.org
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Macro expansion of B0 on Linux PPC system

2017-12-15 Thread Lee, Greg
I never got a reply on this issue and someone else tripped up on it:

https://github.com/spack/spack/issues/6698

Any help or even acknowledgement of this message would be appreciated.

Thanks,

-Greg

From: Lee, Greg
Sent: Wednesday, May 03, 2017 3:49 PM
To: 'sqlite-users@mailinglists.sqlite.org' 

Subject: Macro expansion of B0 on Linux PPC system

When I try to build sqlite 3.18.0 on a Linux PPC system, I get a compile-time 
error. It looks like shell.c is trying to define a local variable "B0" in one 
of its routines. However, the include chain includes the termios.h header, 
which defines a macro "B0." I can easily work around this by undefining the 
macro, but thought it may be worth reporting for an upstream fix. Below is my 
system's information and the Makefile output.

Thanks,

-Greg

[lee218@rzmanta23:spack.rzmanta2]$ uname -a
Linux rzmanta23 3.10.0-514.2.2.2chaos.ch6.ppc64le #1 SMP Wed Jan 11 16:59:26 
PST 2017 ppc64le ppc64le ppc64le GNU/Linux

[lee218@rzmanta23:spack.rzmanta2]$ rpm -q glibc-headers
glibc-headers-2.17-157.el7.ppc64le

[lee218@rzmanta23:spack.rzmanta2]$ gcc --version
gcc (GCC) 4.9.3
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



gcc -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" 
-DPACKAGE_VERSION=\"3.18.0\" -DPACKAGE_STRING=\"sqlite\ 3.18.0\" 
-DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" 
-DPACKAGE_URL=\"\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.18.0\" -DSTDC_HEADERS=1 
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 
-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_FDATASYNC=1 
-DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 
-DHAVE_STRERROR_R=1 -DHAVE_EDITLINE_READLINE_H=1 -DHAVE_EDITLINE=1 
-DHAVE_POSIX_FALLOCATE=1 -I. 
-I/nfs/tmp2/lee218/delete/spack.rzmanta2/var/spack/stage/sqlite-3.18.0-s7e2if4k2ygdmfbkiodulgrxmgg44vfy/sqlite-autoconf-318
-D_REENTRANT=1 -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 
-DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -g -O2 -MT 
sqlite3-sqlite3.o -MD -MP -MF .deps/sqlite3-sqlite3.Tpo -c -o sqlite3-sqlite3.o 
`test -f 'sqlite3.c' || echo 
'/nfs/tmp2/lee218/delete/spack.rzmanta2/var/spack/stage/sqlite-3.18.0-s7e2if4k2ygdmfbkiodulgrxmgg44vfy/sqlite-autoconf-318/'`sqlite3.c
In file included from /usr/include/termios.h:40:0,
 from /usr/include/bits/ioctl-types.h:5,
 from /usr/include/sys/ioctl.h:29,
 from /usr/include/editline/readline.h:77,
 from shell.c:71:
shell.c: In function 'KeccakF1600Step':
shell.c:722:7: error: expected identifier or '(' before numeric constant
   u64 B0, B1, B2, B3, B4;
   ^
shell.c:778:8: error: lvalue required as left operand of assignment
 B0 = (A00^D0);
^
shell.c:779:5: error: 'B1' undeclared (first use in this function)
 B1 = ROL64((A11^D1), 44);
 ^
shell.c:779:5: note: each undeclared identifier is reported only once for each 
function it appears in
shell.c:780:5: error: 'B2' undeclared (first use in this function)
 B2 = ROL64((A22^D2), 43);
 ^
shell.c:781:5: error: 'B3' undeclared (first use in this function)
 B3 = ROL64((A33^D3), 21);
 ^
shell.c:782:5: error: 'B4' undeclared (first use in this function)
 B4 = ROL64((A44^D4), 14);
 ^
shell.c:793:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A03^D3), 28);
^
shell.c:802:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A01^D1), 1);
^
shell.c:816:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A04^D4), 27);
^
shell.c:825:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A02^D2), 62);
^
shell.c:845:8: error: lvalue required as left operand of assignment
 B0 = (A00^D0);
^
shell.c:860:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A33^D3), 28);
^
shell.c:869:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A11^D1), 1);
^
shell.c:883:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A44^D4), 27);
^
shell.c:892:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A22^D2), 62);
^
shell.c:912:8: error: lvalue required as left operand of assignment
 B0 = (A00^D0);
^
shell.c:927:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A43^D3), 28);
^
shell.c:936:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A31^D1), 1);
^
shell.c:950:8: error: lvalue required as left operand of assignment
 B0 = 

[sqlite] Macro expansion of B0 on Linux PPC system

2017-05-04 Thread Lee, Greg
When I try to build sqlite 3.18.0 on a Linux PPC system, I get a compile-time 
error. It looks like shell.c is trying to define a local variable "B0" in one 
of its routines. However, the include chain includes the termios.h header, 
which defines a macro "B0." I can easily work around this by undefining the 
macro, but thought it may be worth reporting for an upstream fix. Below is my 
system's information and the Makefile output.

Thanks,

-Greg

[lee218@rzmanta23:spack.rzmanta2]$ uname -a
Linux rzmanta23 3.10.0-514.2.2.2chaos.ch6.ppc64le #1 SMP Wed Jan 11 16:59:26 
PST 2017 ppc64le ppc64le ppc64le GNU/Linux

[lee218@rzmanta23:spack.rzmanta2]$ rpm -q glibc-headers
glibc-headers-2.17-157.el7.ppc64le

[lee218@rzmanta23:spack.rzmanta2]$ gcc --version
gcc (GCC) 4.9.3
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



gcc -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" 
-DPACKAGE_VERSION=\"3.18.0\" -DPACKAGE_STRING=\"sqlite\ 3.18.0\" 
-DPACKAGE_BUGREPORT=\"http://www.sqlite.org\; -DPACKAGE_URL=\"\" 
-DPACKAGE=\"sqlite\" -DVERSION=\"3.18.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 
-DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 
-DHAVE_STRERROR_R=1 -DHAVE_EDITLINE_READLINE_H=1 -DHAVE_EDITLINE=1 
-DHAVE_POSIX_FALLOCATE=1 -I. 
-I/nfs/tmp2/lee218/delete/spack.rzmanta2/var/spack/stage/sqlite-3.18.0-s7e2if4k2ygdmfbkiodulgrxmgg44vfy/sqlite-autoconf-318
-D_REENTRANT=1 -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 
-DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -g -O2 -MT 
sqlite3-sqlite3.o -MD -MP -MF .deps/sqlite3-sqlite3.Tpo -c -o sqlite3-sqlite3.o 
`test -f 'sqlite3.c' || echo 
'/nfs/tmp2/lee218/delete/spack.rzmanta2/var/spack/stage/sqlite-3.18.0-s7e2if4k2ygdmfbkiodulgrxmgg44vfy/sqlite-autoconf-318/'`sqlite3.c
In file included from /usr/include/termios.h:40:0,
 from /usr/include/bits/ioctl-types.h:5,
 from /usr/include/sys/ioctl.h:29,
 from /usr/include/editline/readline.h:77,
 from shell.c:71:
shell.c: In function 'KeccakF1600Step':
shell.c:722:7: error: expected identifier or '(' before numeric constant
   u64 B0, B1, B2, B3, B4;
   ^
shell.c:778:8: error: lvalue required as left operand of assignment
 B0 = (A00^D0);
^
shell.c:779:5: error: 'B1' undeclared (first use in this function)
 B1 = ROL64((A11^D1), 44);
 ^
shell.c:779:5: note: each undeclared identifier is reported only once for each 
function it appears in
shell.c:780:5: error: 'B2' undeclared (first use in this function)
 B2 = ROL64((A22^D2), 43);
 ^
shell.c:781:5: error: 'B3' undeclared (first use in this function)
 B3 = ROL64((A33^D3), 21);
 ^
shell.c:782:5: error: 'B4' undeclared (first use in this function)
 B4 = ROL64((A44^D4), 14);
 ^
shell.c:793:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A03^D3), 28);
^
shell.c:802:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A01^D1), 1);
^
shell.c:816:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A04^D4), 27);
^
shell.c:825:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A02^D2), 62);
^
shell.c:845:8: error: lvalue required as left operand of assignment
 B0 = (A00^D0);
^
shell.c:860:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A33^D3), 28);
^
shell.c:869:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A11^D1), 1);
^
shell.c:883:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A44^D4), 27);
^
shell.c:892:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A22^D2), 62);
^
shell.c:912:8: error: lvalue required as left operand of assignment
 B0 = (A00^D0);
^
shell.c:927:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A43^D3), 28);
^
shell.c:936:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A31^D1), 1);
^
shell.c:950:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A24^D4), 27);
^
shell.c:959:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A12^D2), 62);
^
shell.c:979:8: error: lvalue required as left operand of assignment
 B0 = (A00^D0);
^
shell.c:994:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A13^D3), 28);
^
shell.c:1003:8: error: lvalue required as left operand of assignment
 B0 = ROL64((A21^D1),