无警告:仅当 auto_ptr 仅使用一次时才弃用“auto_ptr”

no warning: ‘auto_ptr’ is deprecated only when auto_ptr used just once

我注意到奇怪的行为。它可以缩小到以下示例:

#include <memory>

int main() {
  std::auto_ptr<int> p1(new int);
  #ifdef AUTODEP
    std::auto_ptr<int> p2(new int);
  #endif
}

和编译
cpptests$ g++ -Wall -std=c++1y dep.cc

cpptests$ g++ -DAUTODEP -Wall -std=c++1y dep.cc dep.cc: 在函数“int main()”中: dep.cc:7:24: 警告:'auto_ptr' 已弃用(声明于 /usr/include/c++/4.8/backward/auto_ptr.h:87)[-Wdeprecated-declarations] std::auto_ptr p2(新整数);

auto_ptr 只使用一次时没有警告的原因是什么?
测试于
gcc (Debian 4.9.2-16) 4.9.2 和 gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
我还检查过代码没有优化。

这是 GCC 33911 的一个已知错误,状态为 NEW