aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/c/ChangeLog6
-rw-r--r--gcc/c/c-parser.c7
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr87347.c6
4 files changed, 22 insertions, 2 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 6fd76cf..1ea87b9 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,9 @@
+2018-09-26 Martin Jambor <mjambor@suse.cz>
+
+ PR c/87347
+ * c-parser.c (warn_for_abs): Bail out if TYPE_ARG_TYPES is NULL. Fix
+ comment.
+
2018-09-17 David Malcolm <dmalcolm@redhat.com>
* c-objc-common.c (range_label_for_type_mismatch::get_text):
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index 1766a25..1f173fc 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -9102,8 +9102,8 @@ sizeof_ptr_memacc_comptypes (tree type1, tree type2)
}
/* Warn for patterns where abs-like function appears to be used incorrectly,
- gracely ignore any non-abs-like function. The warning location should be
- LOC. FNDECL is the declaration of called function, it must be a
+ gracefully ignore any non-abs-like function. The warning location should
+ be LOC. FNDECL is the declaration of called function, it must be a
BUILT_IN_NORMAL function. ARG is the first and only argument of the
call. */
@@ -9223,6 +9223,9 @@ warn_for_abs (location_t loc, tree fndecl, tree arg)
return;
}
+ if (!TYPE_ARG_TYPES (TREE_TYPE (fndecl)))
+ return;
+
tree ftype = TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl)));
if (TREE_CODE (atype) == COMPLEX_TYPE)
{
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2533259..49df3a1 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-09-26 Martin Jambor <mjambor@suse.cz>
+
+ PR c/87347
+ * gcc.dg/pr87347.c: New test.
+
2018-09-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71131
diff --git a/gcc/testsuite/gcc.dg/pr87347.c b/gcc/testsuite/gcc.dg/pr87347.c
new file mode 100644
index 0000000..d0bdf2a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr87347.c
@@ -0,0 +1,6 @@
+/* {dg-do compile} */
+/* { dg-options "-Wabsolute-value" } */
+
+int a;
+int abs();
+void b() { abs(a); }