[PPL-devel] compilation error on newer (?) versions g++

John Perry john.perry at usm.edu
Sat May 20 05:34:17 CEST 2017


Hello!

I'm compiling a program that uses C++11 and encountered a number of errors, 
all of them apparently descending from this one:

    g++ -Ofast -std=c++11 -I/usr/local/include -L/usr/local/lib -c 
ppl_solver.hpp
In file included from /usr/include/ppl.hh:25:0,
                 from ppl_solver.hpp:21:
/usr/include/ppl-x86_64.hh:10677:29: error: typedef 
‘Parma_Polyhedra_Library::Checked::typeof’ is initialized (use decltype 
instead)
 typedef typeof(__mpz_struct()._mp_size) mp_size_field_t;

If I take the compiler's advice and change typeof(...) to decltype(...) then 
the errors disappear.

My compiler reports itself as

    $ g++ --version
    g++ (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
    Copyright (C) 2016 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.

However, I believe I have seen a similar error on a newer version of clang. 
The version of PPL is 1.1-14 which may be a bit old but I'm temporarily stuck 
with it for various reasons (I can go into details if you like but they really 
aren't pertinent).

If you have fixed this problem in version 1.2 then it may still be useful to 
post it to the mailing list, as some people may encounter this issue.

john perry



More information about the PPL-devel mailing list