diff options
author | Richard Stallman <rms@gnu.org> | 1992-07-20 01:53:57 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-07-20 01:53:57 +0000 |
commit | 7e53036d32da0c9669e2465aefa842bf772bc477 (patch) | |
tree | e98a595fb40eba69f940759d112cf608eae9b007 /gcc/c-aux-info.c | |
parent | e5d91d5ef8d7e08b50f990dcaed4cbab8936154f (diff) | |
download | gcc-7e53036d32da0c9669e2465aefa842bf772bc477.tar.gz |
(gen_type): For array type, state the size.
From-SVN: r1634
Diffstat (limited to 'gcc/c-aux-info.c')
-rw-r--r-- | gcc/c-aux-info.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/c-aux-info.c b/gcc/c-aux-info.c index 27dad2aba84..2e1506447e3 100644 --- a/gcc/c-aux-info.c +++ b/gcc/c-aux-info.c @@ -384,7 +384,18 @@ gen_type (ret_val, t, style) return ret_val; case ARRAY_TYPE: - ret_val = gen_type (concat (ret_val, "[]"), TREE_TYPE (t), style); + if (TYPE_SIZE (t) == 0 || TREE_CODE (TYPE_SIZE (t)) != INTEGER_CST) + ret_val = gen_type (concat (ret_val, "[]"), TREE_TYPE (t), style); + else if (int_size_in_bytes (t) == 0) + ret_val = gen_type (concat (ret_val, "[0]"), TREE_TYPE (t), style); + else + { + int size = (int_size_in_bytes (t) / int_size_in_bytes (TREE_TYPE (t))); + char buff[10]; + sprintf (buff, "[%d]", size); + ret_val = gen_type (concat (ret_val, buff), + TREE_TYPE (t), style); + } break; case FUNCTION_TYPE: |