[Bug c++/86692] New: Too lenient parsing of noptr-new-declarator
v.reshetnikov at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Jul 27 01:59:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86692
Bug ID: 86692
Summary: Too lenient parsing of noptr-new-declarator
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: v.reshetnikov at gmail dot com
Target Milestone: ---
/******* BEGIN SOURCE *******/
int main() {
int n = 1;
auto p = new int[n][2, 3];
}
/******** END SOURCE ********/
This compiles without errors, but `2, 3` is not a constant-expression
(conditional-expression) as required by the grammar production for
noptr-new-declarator in [expr.new]. This leniency has some potential for
confusion as someone could interpret `2, 3` as dimensions of a
multi-dimensional array, rather than the comma operator. For comparison, clang
correctly reports a syntax error here.
Checked in build 9.0.0 20180725 (experimental)
More information about the Gcc-bugs
mailing list