On 2014-11-18, Volker Braun <
vbrau...@gmail.com> wrote:
> ------=_Part_3954_883918061.1416322498399
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: quoted-printable
>
> Yes, this is a MPIR bug. In mpir.h, the following takes place:
>
> #define __need_size_t /* tell gcc stddef.h we only want size_t */
> #include <cstddef> /* for size_t */
>
> As expected from changing implementation macros, his breaks sooner or later=
Thanks. I wonder if blatant abuse of gcc headers is allowed by the draft Sage
Code of Conduct...
>:
>
> $ gcc -std=3Dc++11 align.cc
> In file included from align.cc:2:0:
> /usr/include/c++/4.9.2/cstddef:51:11: error: =E2=80=98::max_align_t=E2=80=
>=99 has not been=20
> declared
> using ::max_align_t;
> ^
>
>=20
>
> On Tuesday, November 18, 2014 2:39:32 PM UTC, Dima Pasechnik wrote:
>>
>> basically, current (upstream) normaliz does not compile with gcc 4.9.2;=
>=20
>> (with Sage 4.5.beta0).=20
>> I tracked it down to the following test, showing that mpir(xx) does=20
>> something strange...=20
>>
>> $ cat b.cpp=20
>> #include <mpirxx.h>=20
>> int main()=20
>> {=20
>> return alignof(std::max_align_t);=20
>> }=20
>>
>> $ g++ -std=3Dc++11 -c b.cpp=20
>> In file included from=20
>> /home/scratch/dimpase/sage/sage6.3/local/include/mpir.h:53:0,=20
>> from=20
>> /home/scratch/dimpase/sage/sage6.3/local/include/mpirxx.h:44,=20
>> from b.cpp:1:=20
>> /home/scratch/dimpase/sage/sage6.3/local/include/c++/4.9.2/cstddef:51:11:=
>=20
>> error: '::max_align_t' has not been declared=20
>> using ::max_align_t;=20
>> ^=20
>> b.cpp: In function 'int main()':=20
>> b.cpp:6:20: error: 'max_align_t' is not a member of 'std'=20
>> return alignof(std::max_align_t);=20
>>
>> e$ g++ -v=20
>> Using built-in specs.=20
>> COLLECT_GCC=3D/home/scratch/dimpase/sage/sage6.3/local/bin/g++=20
>> COLLECT_LTO_WRAPPER=3D/home/scratch/dimpase/sage/sage6.3/local/libexec/gc=
> c/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper=20
>>
>> Target: x86_64-unknown-linux-gnu=20
>> Configured with: ../src/configure=20
>> --prefix=3D/home/scratch/dimpase/sage/sage6.3/local=20
>> --with-local-prefix=3D/home/scratch/dimpase/sage/sage6.3/local=20
>> --with-gmp=3D/home/scratch/dimpase/sage/sage6.3/local=20
>> --with-mpfr=3D/home/scratch/dimpase/sage/sage6.3/local=20
>> --with-mpc=3D/home/scratch/dimpase/sage/sage6.3/local --with-system-zlib=
>=20
>> --disable-multilib --disable-nls --enable-languages=3Dc,c++,fortran=20
>> --disable-libitm =20
>> Thread model: posix=20
>> gcc version 4.9.2 (GCC)=20
>>
>>
>>
>
> --=20
> You received this message because you are subscribed to the Google Groups "=
> sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an e=
> ------=_Part_3954_883918061.1416322498399
> Content-Type: text/html; charset=UTF-8
> Content-Transfer-Encoding: quoted-printable
>
><div dir=3D"ltr">Yes, this is a MPIR bug. In mpir.h, the following takes pl=
> ace:<div><br></div><div><div>#define __need_size_t /* tell gcc stddef=
> .h we only want size_t */</div><div>#include <cstddef> =
> /* for size_t */</div></div><div><br></div><div>As expected from changing i=
> mplementation macros, his breaks sooner or later:</div><div><br></div><div>=
><div>$ gcc -std=3Dc++11 align.cc</div><div>In file included from align.cc:2=
>:0:</div><div>/usr/include/c++/4.9.2/cstddef:51:11: error: =E2=80=98::max_a=
> lign_t=E2=80=99 has not been declared</div><div> using ::max_al=
> ign_t;</div><div> ^</div></div><div=
>><br></div><div> <br><br>On Tuesday, November 18, 2014 2:39:32 PM UTC,=
> Dima Pasechnik wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;=
> margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">basicall=
> y, current (upstream) normaliz does not compile with gcc 4.9.2;=20
><br>(with Sage 4.5.beta0).
><br>I tracked it down to the following test, showing that mpir(xx) does
><br>something strange...
><br>
><br>$ cat b.cpp
><br>#include <mpirxx.h>
><br>int main()
><br>{
><br> return alignof(std::max_align_t);
><br>}
><br>
><br>$ g++ -std=3Dc++11 -c b.cpp
><br>In file included from
><br>/home/scratch/dimpase/sage/<wbr>sage6.3/local/include/mpir.h:<wbr>53:0,
><br> from
><br>/home/scratch/dimpase/sage/<wbr>sage6.3/local/include/mpirxx.<wbr>h:44,
><br> from b.cp=
> p:1:
><br>/home/scratch/dimpase/sage/<wbr>sage6.3/local/include/c++/4.9.<wbr>2/cs=
> tddef:51:11:
><br>error: '::max_align_t' has not been declared
><br> using ::max_align_t;
><br> ^
><br>b.cpp: In function 'int main()':
><br>b.cpp:6:20: error: 'max_align_t' is not a member of 'std'
><br> return alignof(std::max_align_t);
><br>
><br>e$ g++ -v
><br>Using built-in specs.
><br>COLLECT_GCC=3D/home/scratch/<wbr>dimpase/sage/sage6.3/local/<wbr>bin/g+=
> +
><br>COLLECT_LTO_WRAPPER=3D/home/<wbr>scratch/dimpase/sage/sage6.3/<wbr>loca=
> l/libexec/gcc/x86_64-<wbr>unknown-linux-gnu/4.9.2/lto-<wbr>wrapper
><br>Target: x86_64-unknown-linux-gnu
><br>Configured with: ../src/configure
><br>--prefix=3D/home/scratch/<wbr>dimpase/sage/sage6.3/local
><br>--with-local-prefix=3D/home/<wbr>scratch/dimpase/sage/sage6.3/<wbr>loca=
> l
><br>--with-gmp=3D/home/scratch/<wbr>dimpase/sage/sage6.3/local
><br>--with-mpfr=3D/home/scratch/<wbr>dimpase/sage/sage6.3/local
><br>--with-mpc=3D/home/scratch/<wbr>dimpase/sage/sage6.3/local --with-syste=
> m-zlib
><br>--disable-multilib --disable-nls --enable-languages=3Dc,c++,<wbr>fortra=
> n
><br>--disable-libitm
><br>Thread model: posix
><br>gcc version 4.9.2 (GCC)=20
><br>
><br>
><br></blockquote></div></div>
>
><p></p>
>
> -- <br />
> You received this message because you are subscribed to the Google Groups &=
> quot;sage-devel" group.<br />
> To unsubscribe from this group and stop receiving emails from it, send an e=
> mail to <a href=3D"mailto:
sage-devel+...@googlegroups.com">sage-dev=
>
el+unsu...@googlegroups.com</a>.<br />
> To post to this group, send email to <a href=3D"mailto:
sage-devel@googlegro=
>
ups.com">
sage-...@googlegroups.com</a>.<br />
> Visit this group at <a href=3D"
http://groups.google.com/group/sage-devel">h=
> ttp://
groups.google.com/group/sage-devel</a>.<br />
> For more options, visit <a href=3D"
https://groups.google.com/d/optout">http=
> s://
groups.google.com/d/optout</a>.<br />
>
> ------=_Part_3954_883918061.1416322498399--
>