When PCH are enabled this test file includes and so the using-directive brings std::any into the global scope. It isn't currently a problem, because the -std option in the dg-options means that PCH is not used. If that option is removed, the test fails with PCH and passes without. This just renames the type to avoid the name classh (and also the 'none' type for consistency). libstdc++-v3/ChangeLog: * testsuite/20_util/variant/compile.cc: Rename 'any' to avoid clash with std::any. Tested powerpc64le-linux. Committed to trunk.