
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