/[ascend]/trunk/base/generic/compiler/childdef.c
ViewVC logotype

Diff of /trunk/base/generic/compiler/childdef.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 528 by johnpye, Fri Mar 31 08:52:57 2006 UTC revision 529 by johnpye, Sat Apr 22 06:26:23 2006 UTC
# Line 224  void GetTypeInfoFromISA(struct Statement Line 224  void GetTypeInfoFromISA(struct Statement
224      if ((bt == 1) || (bt == 4))      if ((bt == 1) || (bt == 4))
225        TypeSetVarList(GetStatVarList(stat),clist,childd,inited,bt);        TypeSetVarList(GetStatVarList(stat),clist,childd,inited,bt);
226      else { /* error */      else { /* error */
227        WSEM(ASCERR,stat, (bt < 0) ?        STATEMENT_ERROR(stat, (bt < 0) ?
228                        "Missing OF clause in set IS_A declaration":                        "Missing OF clause in set IS_A declaration":
229                        "Incorrect OF type in set IS_A declaration");                        "Incorrect OF type in set IS_A declaration");
230        FPRINTF(ASCERR,        FPRINTF(ASCERR,
# Line 236  void GetTypeInfoFromISA(struct Statement Line 236  void GetTypeInfoFromISA(struct Statement
236      TypeSymbolVarList(GetStatVarList(stat),clist,childd,inited);      TypeSymbolVarList(GetStatVarList(stat),clist,childd,inited);
237      break;      break;
238    default: /* error */    default: /* error */
239      WSEM(ASCERR,stat, "Non-fundamental type used in atom definition");      STATEMENT_ERROR(stat, "Non-fundamental type used in atom definition");
240      break;      break;
241    }    }
242  }  }
# Line 337  static void EvaluateAssignment(struct St Line 337  static void EvaluateAssignment(struct St
337                                                   dim));                                                   dim));
338            }            }
339            else{            else{
340              WSEM(ASCERR,stat, "Dimensionally inconsistent assignment");              STATEMENT_ERROR(stat, "Dimensionally inconsistent assignment");
341            }            }
342          }          }
343          else{          else{
# Line 356  static void EvaluateAssignment(struct St Line 356  static void EvaluateAssignment(struct St
356                                                   dim));                                                   dim));
357            }            }
358            else{            else{
359              WSEM(ASCERR,stat, "Dimensionally inconsistent assignment");              STATEMENT_ERROR(stat, "Dimensionally inconsistent assignment");
360            }            }
361          }          }
362          else{          else{
# Line 366  static void EvaluateAssignment(struct St Line 366  static void EvaluateAssignment(struct St
366          }          }
367        }        }
368        else /*error*/        else /*error*/
369          WSEM(ASCERR,stat,"Assignment type conflict");          STATEMENT_ERROR(stat,"Assignment type conflict");
370        break;        break;
371      case integer_child:      case integer_child:
372          if (ValueKind(result)==integer_value){          if (ValueKind(result)==integer_value){
# Line 374  static void EvaluateAssignment(struct St Line 374  static void EvaluateAssignment(struct St
374                                    MakeIntegerDesc(1,IntegerValue(result)));                                    MakeIntegerDesc(1,IntegerValue(result)));
375          }          }
376          else { /*error*/          else { /*error*/
377            WSEM(ASCERR,stat,"Assignment type conflict");            STATEMENT_ERROR(stat,"Assignment type conflict");
378          }          }
379        break;        break;
380      case boolean_child:      case boolean_child:
# Line 391  static void EvaluateAssignment(struct St Line 391  static void EvaluateAssignment(struct St
391                                                ,SetValue(result)));                                                ,SetValue(result)));
392          }          }
393          else/*error*/          else/*error*/
394            WSEM(ASCERR,stat,"Assignment type conflict");            STATEMENT_ERROR(stat,"Assignment type conflict");
395    
396        }        }
397        else /*error*/        else /*error*/
398          WSEM(ASCERR,stat, "Attempt to reassign to a set atom child");          STATEMENT_ERROR(stat, "Attempt to reassign to a set atom child");
399        break;        break;
400      case symbol_child:      case symbol_child:
401        if (!ValueAssigned(rec)){        if (!ValueAssigned(rec)){
# Line 404  static void EvaluateAssignment(struct St Line 404  static void EvaluateAssignment(struct St
404                                    MakeSymbolDesc(1,SymbolValue(result)));                                    MakeSymbolDesc(1,SymbolValue(result)));
405          }          }
406          else /*error*/          else /*error*/
407            WSEM(ASCERR,stat,"Assignment type conflict");            STATEMENT_ERROR(stat,"Assignment type conflict");
408        }        }
409        else /*error*/        else /*error*/
410          WSEM(ASCERR,stat, "Attempt to reassign to a symbol atom child");          STATEMENT_ERROR(stat, "Attempt to reassign to a symbol atom child");
411        break;        break;
412      case bad_child:      case bad_child:
413          WSEM(ASCERR,stat, "Attempt to assign to a childless atom child?");          STATEMENT_ERROR(stat, "Attempt to assign to a childless atom child?");
414        break;        break;
415      }      }
416    }    }
417    else    else
418      WSEM(ASCERR,stat, "Assignment to undefined atom child");      STATEMENT_ERROR(stat, "Assignment to undefined atom child");
419  }  }
420    
421  static  static

Legend:
Removed from v.528  
changed lines
  Added in v.529

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22