Google ref: b/16983603. I wouldn't call this bug fixed.
I have just found ~30 bugs in our code, where someone wrote: vector<int> v; ... v.empty(); // v.clear() was intended! No problem, I'll just add warn_unused_result to vector::empty(), right? Well, that did expose the 30 bugs above, but unfortunately I can't do that permanently, because it also exposed this false positive: assert(v.empty()); where assert in NDEBUG mode expanded into static_cast<void>(v.empty()); and triggered the warning :-( P.S. Some of the bugs I found were in parts of the code imported from open-source projects, so it's not a problem that is specific to just Google. If the assert problem could be addressed, adding warn_unused_result to trunk libstdc++ would benefit everyone. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/305176 Title: [PR25509] can't disable __attribute__((warn_unused_result)) To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/305176/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
