From b3faacfdd46a1e92301c68902be2f9df9d2a513f Mon Sep 17 00:00:00 2001 From: Kriang Lerdsuwanakij Date: Sun, 18 Nov 2001 06:31:20 +0000 Subject: [PATCH] decl.c (create_array_type_for_decl): Check if NAME is NULL_TREE when displaying error message about missing array bounds. * decl.c (create_array_type_for_decl): Check if NAME is NULL_TREE when displaying error message about missing array bounds. From-SVN: r47136 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/decl.c | 7 +++++-- gcc/testsuite/g++.dg/other/array1.C | 10 ++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/g++.dg/other/array1.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6503ad8..a388f51 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,10 @@ 2001-11-17 Kriang Lerdsuwanakij + * decl.c (create_array_type_for_decl): Check if NAME is NULL_TREE + when displaying error message about missing array bounds. + +2001-11-17 Kriang Lerdsuwanakij + * mangle.c (write_expression): Handle CAST_EXPR, STATIC_CAST_EXPR, CONST_CAST_EXPR. * operators.def: Add CAST_EXPR, STATIC_CAST_EXPR, CONST_CAST_EXPR. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index ed6b6bf..f7448f5 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -9476,8 +9476,11 @@ create_array_type_for_decl (name, type, size) can be omitted only for the first member of the sequence. */ if (TREE_CODE (type) == ARRAY_TYPE && !TYPE_DOMAIN (type)) { - cp_error ("declaration of `%D' as multidimensional array must have bounds for all dimensions except the first", - name); + if (name) + cp_error ("declaration of `%D' as multidimensional array must have bounds for all dimensions except the first", + name); + else + cp_error ("multidimensional array must have bounds for all dimensions except the first"); return error_mark_node; } diff --git a/gcc/testsuite/g++.dg/other/array1.C b/gcc/testsuite/g++.dg/other/array1.C new file mode 100644 index 0000000..aff960e --- /dev/null +++ b/gcc/testsuite/g++.dg/other/array1.C @@ -0,0 +1,10 @@ +// Test typeid of multidimensional array with no bounds. +// { dg-do compile } + +#include + +int main() +{ + const char *s = typeid(double[][]).name(); // { dg-error "bounds|confused" } + return 0; +} -- 2.7.4