[Bug c/88886] [9 Regression] ice in get_constant, at c-family/c-format.c:292

msebor at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 16 23:16:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88886

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=86125
           Assignee|unassigned at gcc dot gnu.org      |msebor at gcc dot gnu.org

--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
The patch posted for bug 86125 fixes this ICE and results in the output below. 
Let me try to revive it.

$ /build/gcc-86125/gcc/xgcc -B /build/gcc-86125/gcc -S pr88886.c
pr88886.c:1:5: warning: conflicting types for built-in function ‘sscanf’;
expected ‘int(const char *, const char *, ...)’
[-Wbuiltin-declaration-mismatch]
    1 | int sscanf(long, unsigned[], ...);
      |     ^~~~~~
pr88886.c:1:1: note: ‘sscanf’ is declared in header ‘<stdio.h>’
  +++ |+#include <stdio.h>
    1 | int sscanf(long, unsigned[], ...);
pr88886.c:1:5: warning: conflicting types for built-in function ‘sscanf’;
expected ‘int(const char *, const char *, ...)’
[-Wbuiltin-declaration-mismatch]
    1 | int sscanf(long, unsigned[], ...);
      |     ^~~~~~
pr88886.c: In function ‘a’:
pr88886.c:2:22: warning: passing argument 2 of ‘sscanf’ from incompatible
pointer type [-Wincompatible-pointer-types]
    2 | void a() { sscanf(0, ""); }
      |                      ^~
      |                      |
      |                      char *
pr88886.c:1:18: note: expected ‘unsigned int *’ but argument is of type ‘char
*’
    1 | int sscanf(long, unsigned[], ...);
      |                  ^~~~~~~~~~


More information about the Gcc-bugs mailing list