Re: compile error: Rapicorn 15.09 on Ubuntu 14.04



On 22.09.2015 17:12, Tim Janik wrote:
Hey Stefan,

I've taken a look at the g++4-.8 build error on Ubuntu-14.04 you reported.
Turns out I don't need a 14.04 docker containe rto reproduce this, my Ubuntu-15.04
also ships g++-4.8.real (Ubuntu 4.8.4-1ubuntu15) 4.8.4.

It looks like g++-4.8 has problems with C++11 "delegate constructors", even though g++-4.7
should already have gotten full support: https://gcc.gnu.org/projects/cxx0x.html

Attached is a stupid workaround that compiles rcore/aida.cc.

Hm, bad news here.
G++-4.9 chokes on the workaround for g++-4.8, so I cannot apply a fix like this to master.
I don't currently have an idea what approach would work for both compiler versions, suggestions welcome...

  CXX      aida.lo
In file included from aida.cc:2:0:
aida.hh: In instantiation of 'Rapicorn1509::Aida::Any::Any(V&&) [with V = Rapicorn1509::Aida::Fix1; typename 
std::enable_if<(! std::is_base_of<Rapicorn1509::Aida::Any, typename std::remove_reference< 
<template-parameter-1-1> >::type>::value), bool>::type <anonymous> = 1u]':
aida.cc:325:14:   required from here
aida.hh:285:41: error: constructor delegates to itself

284ff:
  /// Initialize Any and set its contents from @a value.                                                      
                         
  template<class V, REQUIRES< !::std::is_base_of< Any, typename std::remove_reference<V>::type >::value > = 
true> inline
  explicit  Any    (V &&value) : Any (Fix1())  { set (::std::forward<V> (value)); }



-- 
Yours sincerely,
Tim Janik

https://testbit.eu/timj/
Free software author and speaker.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]