https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67981
Bug ID: 67981 Summary: new expression with zero size not diagnosed Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: msebor at gcc dot gnu.org Target Milestone: --- Continuing with new expression conformance issues (bug 67913 and bug 67917): In 5.3.4, p6, C++ 11 says that "Every constant-expression in a noptr-new-declarator shall be an integral constant expression (5.19) and evaluate to a strictly positive value." C++ 14 has an equivalent requirement. The following test case shows that gcc doesn't implement this constraint and accepts a constant expression with a zero value: $ echo "void* f () { return new char [0]; }" | g++ -Wall -Werror -Wextra -Wpedantic -c -std=c++11 -xc++ -