aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/c-family/ChangeLog8
-rw-r--r--gcc/c-family/c-attribs.c4
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 69ea1fd..fe6cfe7 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,11 @@
+2020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ * c-attribs.c (handle_vector_size_attribute): Add attribute
+ nonnull for argument args in order to silence warning of
+ uninitialized variable usage. Since this is local to the
+ compilation unit and thus cannot be checked at call sides by the
+ compiler, added an assert statement in order to verify this.
+
2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
PR target/93492
diff --git a/gcc/c-family/c-attribs.c b/gcc/c-family/c-attribs.c
index a101312..7a6fb9a 100644
--- a/gcc/c-family/c-attribs.c
+++ b/gcc/c-family/c-attribs.c
@@ -117,7 +117,7 @@ static tree handle_tm_attribute (tree *, tree, tree, int, bool *);
static tree handle_tm_wrap_attribute (tree *, tree, tree, int, bool *);
static tree handle_novops_attribute (tree *, tree, tree, int, bool *);
static tree handle_vector_size_attribute (tree *, tree, tree, int,
- bool *);
+ bool *) ATTRIBUTE_NONNULL(3);
static tree handle_nonnull_attribute (tree *, tree, tree, int, bool *);
static tree handle_nonstring_attribute (tree *, tree, tree, int, bool *);
static tree handle_nothrow_attribute (tree *, tree, tree, int, bool *);
@@ -3697,6 +3697,8 @@ handle_vector_size_attribute (tree *node, tree name, tree args,
if (!type)
return NULL_TREE;
+ gcc_checking_assert (args != NULL);
+
tree new_type = build_vector_type (type, nunits);
/* Build back pointers if needed. */