>>20
お。そうですか・・・
当方の環境は FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) で、
最適化オプションはなし、objdumpで<_ZdlPv@plt>が二度呼ばれているのは確認済み。

もともとは、以下のソースが正常に動いてしまったので仕様に疑問を持ちました。

class X {
char *p ;
public:
X(){ p = 0 ;}
virtual ~X(){ delete p ; }
void set() { p = new char;}
};
int main(){
X a,b;
a.set();
b = a;
return 0;
}

とりあえず、新しい版では直ってると思って良さそうですね。
情報ありがとうございます。