From 207dd9084789868adb00fddcb98014f320b253ac Mon Sep 17 00:00:00 2001 From: evans1629 Date: Mon, 27 Oct 2003 18:23:29 +0000 Subject: [PATCH] Fixed line counting for #pragma's. --- src/cscannerHelp.c | 6 ++++++ src/ctbase.i | 9 ++++++++- src/sRefSet.c | 3 ++- test/tests2.4.expect | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/cscannerHelp.c b/src/cscannerHelp.c index 1aee6d6..ae202f4 100644 --- a/src/cscannerHelp.c +++ b/src/cscannerHelp.c @@ -724,11 +724,15 @@ bool cscannerHelp_handleSpecial (char *yyt) cstring_free (exname); } + + cscannerHelp_handleNewLine (); // evans 2003-10-27: pragment increments line } else if (cstring_equalPrefixLit (olc, "ident")) { /* Some pre-processors will leave these in the code. Ignore rest of line */ + cscannerHelp_handleNewLine (); // evans 2003-10-27: ident increments line } + /* ** Yuk...Win32 filenames can have spaces in them...we need to read ** to the matching end quote. @@ -835,6 +839,7 @@ bool cscannerHelp_handleSpecial (char *yyt) ** We handle a plain # in the input file, by echoing it, and ignoring it in the post-pp-file. */ mstring_free (ol); + cscannerHelp_handleNewLine (); // evans 2003-10-27: increments line return FALSE; } else { voptgenerror @@ -842,6 +847,7 @@ bool cscannerHelp_handleSpecial (char *yyt) message ("Unrecognized pre-processor directive: #%s", cstring_fromChars (ol)), g_currentloc); + cscannerHelp_handleNewLine (); // evans 2003-10-27: increments line } sfree (ol); diff --git a/src/ctbase.i b/src/ctbase.i index c256432..6fbb3c3 100644 --- a/src/ctbase.i +++ b/src/ctbase.i @@ -458,7 +458,14 @@ ctbase_typeId (ctbase c) { if (ctbase_isConj (c)) { - return ctbase_typeId (ctype_getCtbase (ctbase_getConjA (c))); + if (ctype_isUA (ctbase_getConjA (c))) { + return ctbase_typeId (ctype_getCtbase (ctbase_getConjA (c))); + } else if (ctype_isUA (ctbase_getConjB (c))) { + return ctbase_typeId (ctype_getCtbase (ctbase_getConjB (c))); + } else { + llcontbug (message ("ctbase_typeId: bad call: %q", ctbase_unparse (c))); + return typeId_invalid; + } } else { diff --git a/src/sRefSet.c b/src/sRefSet.c index 9fffe5f..796d176 100644 --- a/src/sRefSet.c +++ b/src/sRefSet.c @@ -831,7 +831,8 @@ sRefSet_free (/*@only@*/ sRefSet s) { if (!sRefSet_isUndefined (s)) { - llassertprint (s->entries < 1000, ("sRefSet free size: %d", s->entries)); + /* evans 2003-10-20: increase size sanity limit from 1000 */ + llassertprint (s->entries < 99999, ("sRefSet free size: %d", s->entries)); sfree (s->elements); sfree (s); diff --git a/test/tests2.4.expect b/test/tests2.4.expect index 8ab7e1d..0c58bd6 100644 --- a/test/tests2.4.expect +++ b/test/tests2.4.expect @@ -88,7 +88,7 @@ error.c:5:9: Variable x initialized to type char, expects int: 'a' Finished checking --- 1 code warning, as expected ulrich.c: (in function utl_calloc) -ulrich.c:14:13: Possibly null storage newblock returned as non-null: newblock +ulrich.c:15:12: Possibly null storage newblock returned as non-null: newblock ulrich.c:12:16: Storage newblock may become null Finished checking --- 1 code warning, as expected -- 2.45.0