Apparently this is fixed by using a newer update level of the 10.1 xlC
compiler. Doesn't work with 10.1.0.0, appears to work with 10.1.0.16.
On Tuesday, April 23, 2013 11:04:24 AM UTC-5, Wayne Johnson wrote:
>
> I'm trying to port Crypto562 to AIX's xlC compiler (v10.1). I've run into
> a few issues that I have a workaround for, but this hunk of code is
> generating a compile error that is stumping me.
>
> Integer.cpp: around line 2867:
> const Integer &Integer::One()
> {
> return Singleton<Integer, NewInteger<1> >().Ref();
> }
>
> The compiler gives the following errors:
> bash-3.2$ xlC_r -DNDEBUG -g -O2 -c integer.cpp
> "integer.cpp", line 282.17: 1540-1608 (W) An anonymous union should only
> define non-static data members.
> "misc.h", line 111.9: 1540-1109 (S) The use of undefined class
> "CryptoPP::NewInteger<1>" is not valid.
> "misc.h", line 111.9: 1540-0700 (I) The previous message was produced
> while processing
> "CryptoPP::Singleton<CryptoPP::Integer,CryptoPP::NewInteger<1>,0>::Singleton(NewInteger<1>)".
> "integer.cpp", line 2867.16: 1540-0700 (I) The previous message was
> produced while processing "CryptoPP::Integer::One()".
> "misc.h", line 129.39: 1540-0251 (S) The "()" operator cannot be applied
> to the undefined class "struct NewInteger<1>".
> "misc.h", line 121.11: 1540-0700 (I) The previous message was produced
> while processing
> "CryptoPP::Singleton<CryptoPP::Integer,CryptoPP::NewInteger<1>,0>::Ref(...)
> const".
> "integer.cpp", line 2869.52: 1540-0700 (I) The previous message was
> produced while processing "CryptoPP::Integer::One()".
>
> The real stumper is that the lines right after it:
> const Integer &Integer::Two()
> {
> return Singleton<Integer, NewInteger<2> >().Ref();
> }
>
> work fine. I can even delete Integer::One() (which is apparently never
> used) and it works fine too.
>
> Anyone have any suggestions?
>
>
>
>
--
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
---
You received this message because you are subscribed to the Google Groups
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.