value *aggregateToPointer (value *val);
+void printFromToType(sym_link *from, sym_link *to) {
+ fprintf (stderr, "from type '");
+ printTypeChain (from, stderr);
+ fprintf (stderr, "'\nto type '");
+ printTypeChain (to, stderr);
+ fprintf (stderr, "'\n");
+}
+
/* noun strings */
char *nounName(sym_link *sl) {
switch (SPEC_NOUN(sl))
exit (1);
}
- if (getenv("DEBUG_mergeSpec")) {
- fprintf (stderr, "mergeSpec: \"%s\"\n", name);
- }
-
if (SPEC_NOUN(src)) {
if (!SPEC_NOUN(dest)) {
SPEC_NOUN(dest)=SPEC_NOUN(src);
if (getenv("DEBUG_SANITY")) {
fprintf (stderr, "checkSClass: %s \n", sym->name);
}
- if (strcmp(sym->name, "_testsGlobal")==0) {
- printf ("oach\n");
- }
/* type is literal can happen foe enums change
to auto */
case S_FIXED:
if (SPEC_OCLS(val->etype)) {
DCL_TYPE(val->type)=PTR_TYPE(SPEC_OCLS(val->etype));
+ break;
}
- break;
if (TARGET_IS_DS390)
{
if (compareType (csym->type, sym->type) <= 0)
{
werror (E_PREV_DEF_CONFLICT, csym->name, "type");
- werror (W_CONTINUE, "previous definition type ");
- printTypeChain (csym->type, stderr);
- fprintf (stderr, "\n");
- werror (W_CONTINUE, "current definition type ");
- printTypeChain (sym->type, stderr);
- fprintf (stderr, "\n");
+ printFromToType(csym->type, sym->type);
return 0;
}
if (compareType (exargs->type, checkValue->type) <= 0)
{
werror (E_ARG_TYPE, argCnt);
+ printFromToType(exargs->type, checkValue->type);
return 0;
}
}