From 17266fb3734e09fb5bd721f3f41eab7c7e05e2c8 Mon Sep 17 00:00:00 2001 From: ceriel Date: Wed, 13 Mar 1991 10:11:25 +0000 Subject: [PATCH] A strict warning was given too often --- lang/cem/cemcom.ansi/decspecs.c | 2 ++ lang/cem/cemcom.ansi/program.g | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lang/cem/cemcom.ansi/decspecs.c b/lang/cem/cemcom.ansi/decspecs.c index 83f081b95..f7169dda2 100644 --- a/lang/cem/cemcom.ansi/decspecs.c +++ b/lang/cem/cemcom.ansi/decspecs.c @@ -79,6 +79,7 @@ do_decspecs(ds) SIZE_ERROR: error("%s with illegal type",symbol2str(ds->ds_size)); } + ds->ds_notypegiven = 0; } if (ds->ds_unsigned) { register int ds_isunsigned = (ds->ds_unsigned == UNSIGNED); @@ -101,6 +102,7 @@ do_decspecs(ds) error("%s with illegal type" , symbol2str(ds->ds_unsigned)); } + ds->ds_notypegiven = 0; } ds->ds_type = qualifier_type(tp, ds->ds_typequal); } diff --git a/lang/cem/cemcom.ansi/program.g b/lang/cem/cemcom.ansi/program.g index 38333d521..0fc7481ee 100644 --- a/lang/cem/cemcom.ansi/program.g +++ b/lang/cem/cemcom.ansi/program.g @@ -155,14 +155,16 @@ external_definition [ function(&Ds, &Dc) | - { if (! Ds.ds_sc_given && Ds.ds_notypegiven) { + { if (! Ds.ds_sc_given && ! Ds.ds_typequal && + Ds.ds_notypegiven) { strict("declaration specifiers missing"); } } non_function(&Ds, &Dc) ] | - { if (! Ds.ds_sc_given && Ds.ds_notypegiven) { + { if (! Ds.ds_sc_given && ! Ds.ds_typequal && + Ds.ds_notypegiven) { strict("declaration missing"); } } -- 2.34.1