some minor fixes
This commit is contained in:
parent
11e1b3ce15
commit
fc6a8c5aa8
3 changed files with 7 additions and 3 deletions
|
@ -422,7 +422,7 @@ MkSet(size)
|
||||||
{
|
{
|
||||||
register arith *s;
|
register arith *s;
|
||||||
|
|
||||||
size += sizeof(arith);
|
size = ((size + (int)word_size - 1) / (int)word_size + 1) * sizeof(arith);
|
||||||
s = (arith *) Malloc(size);
|
s = (arith *) Malloc(size);
|
||||||
clear((char *) s , size);
|
clear((char *) s , size);
|
||||||
s++;
|
s++;
|
||||||
|
@ -433,6 +433,7 @@ MkSet(size)
|
||||||
FreeSet(s)
|
FreeSet(s)
|
||||||
register arith *s;
|
register arith *s;
|
||||||
{
|
{
|
||||||
|
dec_refcount(s);
|
||||||
if (refcount(s) <= 0) {
|
if (refcount(s) <= 0) {
|
||||||
free((char *) (s-1));
|
free((char *) (s-1));
|
||||||
}
|
}
|
||||||
|
@ -482,7 +483,7 @@ ChkSet(expp)
|
||||||
First allocate room for the set.
|
First allocate room for the set.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
expp->nd_set = MkSet((unsigned)(tp->tp_size) * (sizeof(arith) / (int) word_size));
|
expp->nd_set = MkSet((unsigned)(tp->tp_size));
|
||||||
|
|
||||||
/* Now check the elements, one by one
|
/* Now check the elements, one by one
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -20,4 +20,5 @@ extern int (*DesigChkTable[])(); /* table of designator checking
|
||||||
#define ChkDesignator(expp) ((*DesigChkTable[(expp)->nd_class])(expp))
|
#define ChkDesignator(expp) ((*DesigChkTable[(expp)->nd_class])(expp))
|
||||||
|
|
||||||
#define inc_refcount(s) (*((s) - 1) += 1)
|
#define inc_refcount(s) (*((s) - 1) += 1)
|
||||||
|
#define dec_refcount(s) (*((s) - 1) -= 1)
|
||||||
#define refcount(s) (*((s) - 1))
|
#define refcount(s) (*((s) - 1))
|
||||||
|
|
|
@ -360,10 +360,12 @@ CheckWithDef(df, tp)
|
||||||
possible earlier definition in the definition module.
|
possible earlier definition in the definition module.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (df->df_type) {
|
if (df->df_kind == D_PROCHEAD && df->df_type != error_type) {
|
||||||
/* We already saw a definition of this type
|
/* We already saw a definition of this type
|
||||||
in the definition module.
|
in the definition module.
|
||||||
*/
|
*/
|
||||||
|
assert(df->df_type != 0);
|
||||||
|
|
||||||
if (!TstProcEquiv(tp, df->df_type)) {
|
if (!TstProcEquiv(tp, df->df_type)) {
|
||||||
error("inconsistent procedure declaration for \"%s\"",
|
error("inconsistent procedure declaration for \"%s\"",
|
||||||
df->df_idf->id_text);
|
df->df_idf->id_text);
|
||||||
|
|
Loading…
Reference in a new issue