[PR 87347] Prevent segfaults if TYPE_ARG_TYPES is NULL
2018-09-26 Martin Jambor <mjambor@suse.cz> PR c/87347 c/ * c-parser.c (warn_for_abs): Bail out if TYPE_ARG_TYPES is NULL. Fix comment. testsuite/ * gcc.dg/pr87347.c: New test. From-SVN: r264640
This commit is contained in:
parent
6fe0c58b9f
commit
ce6f088889
4 changed files with 22 additions and 2 deletions
|
@ -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):
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
6
gcc/testsuite/gcc.dg/pr87347.c
Normal file
6
gcc/testsuite/gcc.dg/pr87347.c
Normal file
|
@ -0,0 +1,6 @@
|
|||
/* {dg-do compile} */
|
||||
/* { dg-options "-Wabsolute-value" } */
|
||||
|
||||
int a;
|
||||
int abs();
|
||||
void b() { abs(a); }
|
Loading…
Add table
Reference in a new issue