| // { 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; | |
| } |