clang: sin definiciones de métodos virtuales fuera de línea (clase abstracta pura de C ++)

Estoy tratando de compilar el siguiente código simple de C ++ usando Clang-3.5:

prueba.h:

class A
{
  public:
    A();
    virtual ~A() = 0;
};

test.cc:

#include "test.h"

A::A() {;}
A::~A() {;}

El comando que uso para compilar esto (Linux, uname -r: 3.16.0-4-amd64):

$clang-3.5 -Weverything -std=c++11 -c test.cc

Y el error que obtengo:

./test.h:1:7: warning: 'A' has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit [-Wweak-vtables]

¿Alguna pista de por qué esto emite una advertencia? El destructor virtual no está en línea en absoluto. Todo lo contrario, hay una definición fuera de línea proporcionada en test.cc. ¿Que me estoy perdiendo aqui?

Editar

No creo que esta pregunta sea un duplicado de:¿Qué significa clang's -Wweak-vtables? como sugirió Filip Roséen. En mi pregunta, me refiero específicamente a clases abstractas puras (no mencionadas en el duplicado sugerido). se cómo-Wweak-vtables funciona con clases no abstractas y estoy bien con eso. En mi ejemplo, defino el destructor (que es puro resumen) en el archivo de implementación. Esto debería evitar que Clang emita errores, incluso con-Wweak-vtables.