This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/20385] Lame parse error message for undefined type
- From: "egallager at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 25 Jul 2017 19:01:36 +0000
- Subject: [Bug c/20385] Lame parse error message for undefined type
- Auto-submitted: auto-generated
- References: <bug-20385-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=20385
Eric Gallager <egallager at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #12 from Eric Gallager <egallager at gcc dot gnu.org> ---
(In reply to Eric Gallager from comment #11)
>
> So can this be closed as FIXED now then?
I combined all the examples from this PR into a single testcase and can confirm
that gcc now prints decent errors for all of them:
$ cat 20385.c
unknowntype f() { return 0; }
unknowntype *fp() { return 0; }
int ff(unknowntype a) { return 0; }
int gg(unknowntype *a) { return 0; }
typedef uintt16_t pid_t;
extern uintt16_t x;
foo_t *P = 0;
$ /usr/local/bin/gcc -c 20385.c
20385.c:1:1: error: unknown type name ‘unknowntype’
unknowntype f() { return 0; }
^~~~~~~~~~~
20385.c:2:1: error: unknown type name ‘unknowntype’
unknowntype *fp() { return 0; }
^~~~~~~~~~~
20385.c:3:8: error: unknown type name ‘unknowntype’
int ff(unknowntype a) { return 0; }
^~~~~~~~~~~
20385.c:4:8: error: unknown type name ‘unknowntype’
int gg(unknowntype *a) { return 0; }
^~~~~~~~~~~
20385.c:6:9: error: unknown type name ‘uintt16_t’
typedef uintt16_t pid_t;
^~~~~~~~~
20385.c:7:8: error: unknown type name ‘uintt16_t’
extern uintt16_t x;
^~~~~~~~~
20385.c:8:1: error: unknown type name ‘foo_t’; did you mean ‘float’?
foo_t *P = 0;
^~~~~
float
So I'm going to close this as FIXED.