https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69881
--- Comment #6 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- (In reply to Jonathan Wakely from comment #4) > The patch seems wrong, your new sections don't add anything to namespace std. yes. I think probably cstddef is free to ignore __need_size_t. right? Then it would be better to #undef all of them, just in case. cat test.cc #define __need_size_t #include <cstddef> gcc -c test.cc In file included from test.cc:2:0: /home/ed/gnu/install/include/c++/6.0.0/cstddef:51:11: error: '::max_align_t' has not been declared using ::max_align_t; ^~~~~~~~~~~