Template llamada de constructor base en error de lista de inicialización de miembros

Tengo una clase base que se parece a la siguiente.

template<typename T>
class Base
{
   public:
      Base(int someValue);

      virtual T someFunc() =0;
};

template<typename T>
Base<T>::Base(int someValue)
{}

Y luego lo siguiente.

#include "base.hpp"

class Foo
   : public Base<Foo>
{
   public:
      Foo(int someValue);

      virtual Foo someFunc();
};

Foo::Foo(int someValue)
   : Base(someValue)
{}

Recibo el siguiente error de gcc 4.2.1.

error: class ‘Foo’ does not have any field named ‘Base’

Debo mencionar que esto compila bien en mi caja Fedora que ejecuta gcc 4.6.2. Este error ocurre al compilar en mi máquina os x Lion.

Gracias de antemano por la ayuda.

EDITA

Problem parece que no estoy indicando el tipo de plantilla en la clase Foo cuando llamo al constructor. Lo siguiente corrige el error en os x.

: Base<Foo>(someValue, parent)

EDITA

Sí, esto parece un error. Lo que mencioné antes corrige el error en os x y el código se compila bien en fedora con esa corrección. Iré a ver si hay una actualización de gcc en os x.

Respuestas a la pregunta(2)

Su respuesta a la pregunta