
On 05/20/2017 05:34 AM, John Perry wrote:
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
Hello John.
Thanks for the report. Yes, this issue was dealt with in
commit 886d497f3a818d681025e7e5ca676f2153be8378 Author: Abramo Bagnara abramo.bagnara@bugseng.com Date: Thu May 8 16:14:12 2014 +0200
Adapted to g++ -std=c++11.
PPL 1.2, which was released on February 2016, contains that change. Kind regards,
Roberto