blob: 811a479b38215128b55b4739fda1d000b1b6f7fc [file] [log] [blame]
// { dg-do compile { target c++17 } }
// { dg-options "-Wnull-dereference -O2" }
// PR libstdc++/108554
// Warning from -Wnull-dereference when extracting a unique_ptr from a map.
// { dg-bogus "null pointer dereference" "PR 108554" { target *-*-* } 0 }
#include <map>
#include <memory>
#include <string>
int pop(std::map<std::string, std::unique_ptr<int>>& m)
{
if (auto it = m.find("key"); it != m.end())
{
auto item = std::move(m.extract(it).mapped());
return *item;
}
return 0;
}