anchor.diff:              raise SystemExit, "Component must have at least one pin"
           prologue(f)
           lineno = a.count("\n") + 3
  -        f.write("#line %d \"%s\"\n" % (lineno, filename))
  +        #f.write("#line %d \"%s\"\n" % (lineno, filename))
           f.write(b)
           epilogue(f)
           f.close()
  
positive.code:     # When we start warning about s32/u32 this is where the warning goes
      return typemap.get(type, type)
      
  def pin(name, type, dir, doc, value):
      type = type2type(type)
      if name in names:
          Error("Duplicate item name %s" % name)
      docs.append(('pin', name, type, dir, doc, value))
      names[name] = None
      pins.append((name, type, dir, value))
  
  def param(name, type, dir, doc, value):
      type = type2type(type)
  
negative.code:     if options.get("extra_cleanup"):
          print >>f, "static void extra_cleanup(void);"
  
      has_array = False
      for name, type, array, dir, value in pins:
          if array: has_array = True
  
      print >>f
      print >>f, "static int export(char *prefix, long extra_arg) {"
      print >>f, "    char buf[HAL_NAME_LEN + 2];"
      print >>f, "    int r = 0;"
      if has_array:
          print >>f, "    int j = 0;"
      print >>f, "    int sz = sizeof(struct state) + get_data_size();"
      print >>f, "    struct state *inst = hal_malloc(sz);"
      print >>f, "    memset(inst, 0, sz);"
  