[cfe-users] Anyway to prevent this code from compiling?
Jim Porter via cfe-users
cfe-users at lists.llvm.org
Mon Feb 29 12:07:51 PST 2016
On 2/29/2016 12:15 PM, Brian Cole via cfe-users wrote:
> Was hoping for something that would be C++03 compatible as well since we
> still have C++03 compilers to target as well.
If you're #including <mutex>, haven't you locked yourself into C++11 (or
better) anyway? In that case, you should use curly braces for your
initializer (or at least stop saying `using namespace std;`).
For existing code where `mutex` is a global variable, you'll be fine. If
you add
#include <mutex>
using namespace std;
to existing code, you'll get a compiler error because the name `mutex`
is now ambiguous.
If you wanted to warn about this in *all* cases, you'd need an
additional warning to detect function declarations in local scope, since
that's what C++ would treat this as. Clang doesn't have such a warning,
but perhaps you could convince someone to add it.
- Jim
More information about the cfe-users
mailing list