Hi,

On 09/10/18 15:33, Jonathan Wakely wrote:
On Tue, 9 Oct 2018 at 14:30, Paul Koning <paulkon...@comcast.net> wrote:
I'm trying to build the current code on Linux with GCC 4.3.2 (stock compiler in 
Fedora 10 which is my old test system).  It fails like this:

In file included from 
/mnt/hgfs/pkoning/Documents/svn/gcc/gcc/tree-data-ref.h:27,
                  from 
/mnt/hgfs/pkoning/Documents/svn/gcc/gcc/gimple-loop-interchange.cc:44:
/mnt/hgfs/pkoning/Documents/svn/gcc/gcc/opt-problem.h: In constructor 
‘opt_result::opt_result(bool, opt_problem*)’:
/mnt/hgfs/pkoning/Documents/svn/gcc/gcc/opt-problem.h:217: error: class 
‘opt_result’ does not have any field named ‘opt_wrapper’
/mnt/hgfs/pkoning/Documents/svn/gcc/gcc/opt-problem.h:217: error: no matching 
function for call to ‘opt_wrapper<bool>::opt_wrapper()’
/mnt/hgfs/pkoning/Documents/svn/gcc/gcc/opt-problem.h:160: note: candidates are: 
opt_wrapper<T>::opt_wrapper(T, opt_problem*) [with T = bool]
/mnt/hgfs/pkoning/Documents/svn/gcc/gcc/opt-problem.h:147: note:                 
opt_wrapper<bool>::opt_wrapper(const opt_wrapper<bool>&)
make[3]: *** [gimple-loop-interchange.o] Error 1

Is 9.0 supposed to build with a build compiler this old?
Yes.

GCC 4.3 doesn't define the injected-class-name for the base, so this
patch is needed:

--- a/gcc/opt-problem.h
+++ b/gcc/opt-problem.h
@@ -214,7 +214,7 @@ class opt_result : public opt_wrapper <bool>
    /* Private ctor.  Instances should be created by the success and failure
       static member functions.  */
    opt_result (wrapped_t result, opt_problem *problem)
-  : opt_wrapper (result, problem)
+  : opt_wrapper<bool> (result, problem)
    {}
  };

At the end of August my colleague Jose Marchesi fixed another instance of the same issue, affecting classes auto_edge_flag and auto_bb_flag. I think we can commit this change too as obvious.

Paolo.

Reply via email to