Commit 44b8934d authored by Ken Thompson's avatar Ken Thompson

back out last chan fix

allow print of pointers

SVN=127548
parent 90da10d7
......@@ -13,7 +13,7 @@ func printbool(bool);
func printfloat(double);
func printint(int64);
func printstring(string);
func printpointer(*byte);
func printpointer(*any);
func catstring(string, string) string;
func cmpstring(string, string) int32;
......
......@@ -3,10 +3,10 @@ char* sysimport =
"type sys._esys_002 {}\n"
"type sys.any 24\n"
"type sys._esys_003 *sys.any\n"
"type sys._osys_314 {_esys_312 sys._esys_003}\n"
"type sys._osys_332 {_esys_330 sys._esys_003}\n"
"type sys.uint32 6\n"
"type sys._isys_316 {_esys_313 sys.uint32}\n"
"type sys._esys_001 (sys._esys_002 sys._osys_314 sys._isys_316)\n"
"type sys._isys_334 {_esys_331 sys.uint32}\n"
"type sys._esys_001 (sys._esys_002 sys._osys_332 sys._isys_334)\n"
"var !sys.mal sys._esys_001\n"
"type sys._esys_005 {}\n"
"type sys._esys_006 {}\n"
......@@ -16,213 +16,213 @@ char* sysimport =
"type sys._esys_009 {}\n"
"type sys._esys_010 {}\n"
"type sys.int32 5\n"
"type sys._isys_322 {_esys_321 sys.int32}\n"
"type sys._esys_008 (sys._esys_009 sys._esys_010 sys._isys_322)\n"
"type sys._isys_340 {_esys_339 sys.int32}\n"
"type sys._esys_008 (sys._esys_009 sys._esys_010 sys._isys_340)\n"
"var !sys.panicl sys._esys_008\n"
"type sys._esys_012 {}\n"
"type sys._esys_013 {}\n"
"type sys.bool 12\n"
"type sys._isys_327 {_esys_326 sys.bool}\n"
"type sys._esys_011 (sys._esys_012 sys._esys_013 sys._isys_327)\n"
"type sys._isys_345 {_esys_344 sys.bool}\n"
"type sys._esys_011 (sys._esys_012 sys._esys_013 sys._isys_345)\n"
"var !sys.printbool sys._esys_011\n"
"type sys._esys_015 {}\n"
"type sys._esys_016 {}\n"
"type sys.float64 10\n"
"type sys._isys_332 {_esys_331 sys.float64}\n"
"type sys._esys_014 (sys._esys_015 sys._esys_016 sys._isys_332)\n"
"type sys._isys_350 {_esys_349 sys.float64}\n"
"type sys._esys_014 (sys._esys_015 sys._esys_016 sys._isys_350)\n"
"var !sys.printfloat sys._esys_014\n"
"type sys._esys_018 {}\n"
"type sys._esys_019 {}\n"
"type sys.int64 7\n"
"type sys._isys_337 {_esys_336 sys.int64}\n"
"type sys._esys_017 (sys._esys_018 sys._esys_019 sys._isys_337)\n"
"type sys._isys_355 {_esys_354 sys.int64}\n"
"type sys._esys_017 (sys._esys_018 sys._esys_019 sys._isys_355)\n"
"var !sys.printint sys._esys_017\n"
"type sys._esys_021 {}\n"
"type sys._esys_022 {}\n"
"type sys._esys_023 25\n"
"type sys.string *sys._esys_023\n"
"type sys._isys_342 {_esys_341 sys.string}\n"
"type sys._esys_020 (sys._esys_021 sys._esys_022 sys._isys_342)\n"
"type sys._isys_360 {_esys_359 sys.string}\n"
"type sys._esys_020 (sys._esys_021 sys._esys_022 sys._isys_360)\n"
"var !sys.printstring sys._esys_020\n"
"type sys._esys_025 {}\n"
"type sys._esys_026 {}\n"
"type sys.uint8 2\n"
"type sys._esys_027 *sys.uint8\n"
"type sys._isys_347 {_esys_346 sys._esys_027}\n"
"type sys._esys_024 (sys._esys_025 sys._esys_026 sys._isys_347)\n"
"type sys._esys_027 *sys.any\n"
"type sys._isys_365 {_esys_364 sys._esys_027}\n"
"type sys._esys_024 (sys._esys_025 sys._esys_026 sys._isys_365)\n"
"var !sys.printpointer sys._esys_024\n"
"type sys._esys_029 {}\n"
"type sys._osys_354 {_esys_351 sys.string}\n"
"type sys._isys_356 {_esys_352 sys.string _esys_353 sys.string}\n"
"type sys._esys_028 (sys._esys_029 sys._osys_354 sys._isys_356)\n"
"type sys._osys_372 {_esys_369 sys.string}\n"
"type sys._isys_374 {_esys_370 sys.string _esys_371 sys.string}\n"
"type sys._esys_028 (sys._esys_029 sys._osys_372 sys._isys_374)\n"
"var !sys.catstring sys._esys_028\n"
"type sys._esys_031 {}\n"
"type sys._osys_364 {_esys_361 sys.int32}\n"
"type sys._isys_366 {_esys_362 sys.string _esys_363 sys.string}\n"
"type sys._esys_030 (sys._esys_031 sys._osys_364 sys._isys_366)\n"
"type sys._osys_382 {_esys_379 sys.int32}\n"
"type sys._isys_384 {_esys_380 sys.string _esys_381 sys.string}\n"
"type sys._esys_030 (sys._esys_031 sys._osys_382 sys._isys_384)\n"
"var !sys.cmpstring sys._esys_030\n"
"type sys._esys_033 {}\n"
"type sys._osys_375 {_esys_371 sys.string}\n"
"type sys._isys_377 {_esys_372 sys.string _esys_373 sys.int32 _esys_374 sys.int32}\n"
"type sys._esys_032 (sys._esys_033 sys._osys_375 sys._isys_377)\n"
"type sys._osys_393 {_esys_389 sys.string}\n"
"type sys._isys_395 {_esys_390 sys.string _esys_391 sys.int32 _esys_392 sys.int32}\n"
"type sys._esys_032 (sys._esys_033 sys._osys_393 sys._isys_395)\n"
"var !sys.slicestring sys._esys_032\n"
"type sys._esys_035 {}\n"
"type sys._osys_386 {_esys_383 sys.uint8}\n"
"type sys._isys_388 {_esys_384 sys.string _esys_385 sys.int32}\n"
"type sys._esys_034 (sys._esys_035 sys._osys_386 sys._isys_388)\n"
"type sys.uint8 2\n"
"type sys._osys_404 {_esys_401 sys.uint8}\n"
"type sys._isys_406 {_esys_402 sys.string _esys_403 sys.int32}\n"
"type sys._esys_034 (sys._esys_035 sys._osys_404 sys._isys_406)\n"
"var !sys.indexstring sys._esys_034\n"
"type sys._esys_037 {}\n"
"type sys._osys_395 {_esys_393 sys.string}\n"
"type sys._isys_397 {_esys_394 sys.int64}\n"
"type sys._esys_036 (sys._esys_037 sys._osys_395 sys._isys_397)\n"
"type sys._osys_413 {_esys_411 sys.string}\n"
"type sys._isys_415 {_esys_412 sys.int64}\n"
"type sys._esys_036 (sys._esys_037 sys._osys_413 sys._isys_415)\n"
"var !sys.intstring sys._esys_036\n"
"type sys._esys_039 {}\n"
"type sys._osys_404 {_esys_401 sys.string}\n"
"type sys._osys_422 {_esys_419 sys.string}\n"
"type sys._esys_040 *sys.uint8\n"
"type sys._isys_406 {_esys_402 sys._esys_040 _esys_403 sys.int32}\n"
"type sys._esys_038 (sys._esys_039 sys._osys_404 sys._isys_406)\n"
"type sys._isys_424 {_esys_420 sys._esys_040 _esys_421 sys.int32}\n"
"type sys._esys_038 (sys._esys_039 sys._osys_422 sys._isys_424)\n"
"var !sys.byteastring sys._esys_038\n"
"type sys._esys_042 {}\n"
"type sys._esys_043 <>\n"
"type sys._osys_415 {_esys_411 sys._esys_043}\n"
"type sys._osys_433 {_esys_429 sys._esys_043}\n"
"type sys._esys_044 *sys.uint8\n"
"type sys._esys_045 *sys.uint8\n"
"type sys._ssys_422 {}\n"
"type sys._esys_046 *sys._ssys_422\n"
"type sys._isys_417 {_esys_412 sys._esys_044 _esys_413 sys._esys_045 _esys_414 sys._esys_046}\n"
"type sys._esys_041 (sys._esys_042 sys._osys_415 sys._isys_417)\n"
"type sys._ssys_440 {}\n"
"type sys._esys_046 *sys._ssys_440\n"
"type sys._isys_435 {_esys_430 sys._esys_044 _esys_431 sys._esys_045 _esys_432 sys._esys_046}\n"
"type sys._esys_041 (sys._esys_042 sys._osys_433 sys._isys_435)\n"
"var !sys.mkiface sys._esys_041\n"
"type sys._esys_048 {}\n"
"type sys._osys_426 {_esys_425 sys.int32}\n"
"type sys._osys_444 {_esys_443 sys.int32}\n"
"type sys._esys_049 {}\n"
"type sys._esys_047 (sys._esys_048 sys._osys_426 sys._esys_049)\n"
"type sys._esys_047 (sys._esys_048 sys._osys_444 sys._esys_049)\n"
"var !sys.argc sys._esys_047\n"
"type sys._esys_051 {}\n"
"type sys._osys_430 {_esys_429 sys.int32}\n"
"type sys._osys_448 {_esys_447 sys.int32}\n"
"type sys._esys_052 {}\n"
"type sys._esys_050 (sys._esys_051 sys._osys_430 sys._esys_052)\n"
"type sys._esys_050 (sys._esys_051 sys._osys_448 sys._esys_052)\n"
"var !sys.envc sys._esys_050\n"
"type sys._esys_054 {}\n"
"type sys._osys_435 {_esys_433 sys.string}\n"
"type sys._isys_437 {_esys_434 sys.int32}\n"
"type sys._esys_053 (sys._esys_054 sys._osys_435 sys._isys_437)\n"
"type sys._osys_453 {_esys_451 sys.string}\n"
"type sys._isys_455 {_esys_452 sys.int32}\n"
"type sys._esys_053 (sys._esys_054 sys._osys_453 sys._isys_455)\n"
"var !sys.argv sys._esys_053\n"
"type sys._esys_056 {}\n"
"type sys._osys_443 {_esys_441 sys.string}\n"
"type sys._isys_445 {_esys_442 sys.int32}\n"
"type sys._esys_055 (sys._esys_056 sys._osys_443 sys._isys_445)\n"
"type sys._osys_461 {_esys_459 sys.string}\n"
"type sys._isys_463 {_esys_460 sys.int32}\n"
"type sys._esys_055 (sys._esys_056 sys._osys_461 sys._isys_463)\n"
"var !sys.envv sys._esys_055\n"
"type sys._esys_058 {}\n"
"type sys._osys_452 {_esys_449 sys.float64 _esys_450 sys.int32}\n"
"type sys._isys_454 {_esys_451 sys.float64}\n"
"type sys._esys_057 (sys._esys_058 sys._osys_452 sys._isys_454)\n"
"type sys._osys_470 {_esys_467 sys.float64 _esys_468 sys.int32}\n"
"type sys._isys_472 {_esys_469 sys.float64}\n"
"type sys._esys_057 (sys._esys_058 sys._osys_470 sys._isys_472)\n"
"var !sys.frexp sys._esys_057\n"
"type sys._esys_060 {}\n"
"type sys._osys_461 {_esys_458 sys.float64}\n"
"type sys._isys_463 {_esys_459 sys.float64 _esys_460 sys.int32}\n"
"type sys._esys_059 (sys._esys_060 sys._osys_461 sys._isys_463)\n"
"type sys._osys_479 {_esys_476 sys.float64}\n"
"type sys._isys_481 {_esys_477 sys.float64 _esys_478 sys.int32}\n"
"type sys._esys_059 (sys._esys_060 sys._osys_479 sys._isys_481)\n"
"var !sys.ldexp sys._esys_059\n"
"type sys._esys_062 {}\n"
"type sys._osys_471 {_esys_468 sys.float64 _esys_469 sys.float64}\n"
"type sys._isys_473 {_esys_470 sys.float64}\n"
"type sys._esys_061 (sys._esys_062 sys._osys_471 sys._isys_473)\n"
"type sys._osys_489 {_esys_486 sys.float64 _esys_487 sys.float64}\n"
"type sys._isys_491 {_esys_488 sys.float64}\n"
"type sys._esys_061 (sys._esys_062 sys._osys_489 sys._isys_491)\n"
"var !sys.modf sys._esys_061\n"
"type sys._esys_064 {}\n"
"type sys._osys_480 {_esys_477 sys.bool}\n"
"type sys._isys_482 {_esys_478 sys.float64 _esys_479 sys.int32}\n"
"type sys._esys_063 (sys._esys_064 sys._osys_480 sys._isys_482)\n"
"type sys._osys_498 {_esys_495 sys.bool}\n"
"type sys._isys_500 {_esys_496 sys.float64 _esys_497 sys.int32}\n"
"type sys._esys_063 (sys._esys_064 sys._osys_498 sys._isys_500)\n"
"var !sys.isInf sys._esys_063\n"
"type sys._esys_066 {}\n"
"type sys._osys_489 {_esys_487 sys.bool}\n"
"type sys._isys_491 {_esys_488 sys.float64}\n"
"type sys._esys_065 (sys._esys_066 sys._osys_489 sys._isys_491)\n"
"type sys._osys_507 {_esys_505 sys.bool}\n"
"type sys._isys_509 {_esys_506 sys.float64}\n"
"type sys._esys_065 (sys._esys_066 sys._osys_507 sys._isys_509)\n"
"var !sys.isNaN sys._esys_065\n"
"type sys._esys_068 {}\n"
"type sys._osys_497 {_esys_495 sys.float64}\n"
"type sys._isys_499 {_esys_496 sys.int32}\n"
"type sys._esys_067 (sys._esys_068 sys._osys_497 sys._isys_499)\n"
"type sys._osys_515 {_esys_513 sys.float64}\n"
"type sys._isys_517 {_esys_514 sys.int32}\n"
"type sys._esys_067 (sys._esys_068 sys._osys_515 sys._isys_517)\n"
"var !sys.Inf sys._esys_067\n"
"type sys._esys_070 {}\n"
"type sys._osys_504 {_esys_503 sys.float64}\n"
"type sys._osys_522 {_esys_521 sys.float64}\n"
"type sys._esys_071 {}\n"
"type sys._esys_069 (sys._esys_070 sys._osys_504 sys._esys_071)\n"
"type sys._esys_069 (sys._esys_070 sys._osys_522 sys._esys_071)\n"
"var !sys.NaN sys._esys_069\n"
"type sys._esys_073 {}\n"
"type sys._esys_075 [sys.any] sys.any\n"
"type sys._esys_074 *sys._esys_075\n"
"type sys._osys_507 {hmap sys._esys_074}\n"
"type sys._isys_509 {keysize sys.uint32 valsize sys.uint32 keyalg sys.uint32 valalg sys.uint32 hint sys.uint32}\n"
"type sys._esys_072 (sys._esys_073 sys._osys_507 sys._isys_509)\n"
"type sys._osys_525 {hmap sys._esys_074}\n"
"type sys._isys_527 {keysize sys.uint32 valsize sys.uint32 keyalg sys.uint32 valalg sys.uint32 hint sys.uint32}\n"
"type sys._esys_072 (sys._esys_073 sys._osys_525 sys._isys_527)\n"
"var !sys.newmap sys._esys_072\n"
"type sys._esys_077 {}\n"
"type sys._osys_518 {val sys.any}\n"
"type sys._osys_536 {val sys.any}\n"
"type sys._esys_079 [sys.any] sys.any\n"
"type sys._esys_078 *sys._esys_079\n"
"type sys._isys_520 {hmap sys._esys_078 key sys.any}\n"
"type sys._esys_076 (sys._esys_077 sys._osys_518 sys._isys_520)\n"
"type sys._isys_538 {hmap sys._esys_078 key sys.any}\n"
"type sys._esys_076 (sys._esys_077 sys._osys_536 sys._isys_538)\n"
"var !sys.mapaccess1 sys._esys_076\n"
"type sys._esys_081 {}\n"
"type sys._osys_526 {val sys.any pres sys.bool}\n"
"type sys._osys_544 {val sys.any pres sys.bool}\n"
"type sys._esys_083 [sys.any] sys.any\n"
"type sys._esys_082 *sys._esys_083\n"
"type sys._isys_528 {hmap sys._esys_082 key sys.any}\n"
"type sys._esys_080 (sys._esys_081 sys._osys_526 sys._isys_528)\n"
"type sys._isys_546 {hmap sys._esys_082 key sys.any}\n"
"type sys._esys_080 (sys._esys_081 sys._osys_544 sys._isys_546)\n"
"var !sys.mapaccess2 sys._esys_080\n"
"type sys._esys_085 {}\n"
"type sys._esys_086 {}\n"
"type sys._esys_088 [sys.any] sys.any\n"
"type sys._esys_087 *sys._esys_088\n"
"type sys._isys_535 {hmap sys._esys_087 key sys.any val sys.any}\n"
"type sys._esys_084 (sys._esys_085 sys._esys_086 sys._isys_535)\n"
"type sys._isys_553 {hmap sys._esys_087 key sys.any val sys.any}\n"
"type sys._esys_084 (sys._esys_085 sys._esys_086 sys._isys_553)\n"
"var !sys.mapassign1 sys._esys_084\n"
"type sys._esys_090 {}\n"
"type sys._esys_091 {}\n"
"type sys._esys_093 [sys.any] sys.any\n"
"type sys._esys_092 *sys._esys_093\n"
"type sys._isys_541 {hmap sys._esys_092 key sys.any val sys.any pres sys.bool}\n"
"type sys._esys_089 (sys._esys_090 sys._esys_091 sys._isys_541)\n"
"type sys._isys_559 {hmap sys._esys_092 key sys.any val sys.any pres sys.bool}\n"
"type sys._esys_089 (sys._esys_090 sys._esys_091 sys._isys_559)\n"
"var !sys.mapassign2 sys._esys_089\n"
"type sys._esys_095 {}\n"
"type sys._esys_097 1 sys.any\n"
"type sys._esys_096 *sys._esys_097\n"
"type sys._osys_548 {hchan sys._esys_096}\n"
"type sys._isys_550 {elemsize sys.uint32 elemalg sys.uint32 hint sys.uint32}\n"
"type sys._esys_094 (sys._esys_095 sys._osys_548 sys._isys_550)\n"
"type sys._osys_566 {hchan sys._esys_096}\n"
"type sys._isys_568 {elemsize sys.uint32 elemalg sys.uint32 hint sys.uint32}\n"
"type sys._esys_094 (sys._esys_095 sys._osys_566 sys._isys_568)\n"
"var !sys.newchan sys._esys_094\n"
"type sys._esys_099 {}\n"
"type sys._osys_557 {elem sys.any}\n"
"type sys._osys_575 {elem sys.any}\n"
"type sys._esys_101 1 sys.any\n"
"type sys._esys_100 *sys._esys_101\n"
"type sys._isys_559 {hchan sys._esys_100}\n"
"type sys._esys_098 (sys._esys_099 sys._osys_557 sys._isys_559)\n"
"type sys._isys_577 {hchan sys._esys_100}\n"
"type sys._esys_098 (sys._esys_099 sys._osys_575 sys._isys_577)\n"
"var !sys.chanrecv1 sys._esys_098\n"
"type sys._esys_103 {}\n"
"type sys._osys_564 {elem sys.any pres sys.bool}\n"
"type sys._osys_582 {elem sys.any pres sys.bool}\n"
"type sys._esys_105 1 sys.any\n"
"type sys._esys_104 *sys._esys_105\n"
"type sys._isys_566 {hchan sys._esys_104}\n"
"type sys._esys_102 (sys._esys_103 sys._osys_564 sys._isys_566)\n"
"type sys._isys_584 {hchan sys._esys_104}\n"
"type sys._esys_102 (sys._esys_103 sys._osys_582 sys._isys_584)\n"
"var !sys.chanrecv2 sys._esys_102\n"
"type sys._esys_107 {}\n"
"type sys._osys_572 {elem sys.any pres sys.bool}\n"
"type sys._osys_590 {elem sys.any pres sys.bool}\n"
"type sys._esys_109 1 sys.any\n"
"type sys._esys_108 *sys._esys_109\n"
"type sys._isys_574 {hchan sys._esys_108}\n"
"type sys._esys_106 (sys._esys_107 sys._osys_572 sys._isys_574)\n"
"type sys._isys_592 {hchan sys._esys_108}\n"
"type sys._esys_106 (sys._esys_107 sys._osys_590 sys._isys_592)\n"
"var !sys.chanrecv3 sys._esys_106\n"
"type sys._esys_111 {}\n"
"type sys._esys_112 {}\n"
"type sys._esys_114 1 sys.any\n"
"type sys._esys_113 *sys._esys_114\n"
"type sys._isys_580 {hchan sys._esys_113 elem sys.any}\n"
"type sys._esys_110 (sys._esys_111 sys._esys_112 sys._isys_580)\n"
"type sys._isys_598 {hchan sys._esys_113 elem sys.any}\n"
"type sys._esys_110 (sys._esys_111 sys._esys_112 sys._isys_598)\n"
"var !sys.chansend1 sys._esys_110\n"
"type sys._esys_116 {}\n"
"type sys._osys_585 {pres sys.bool}\n"
"type sys._osys_603 {pres sys.bool}\n"
"type sys._esys_118 1 sys.any\n"
"type sys._esys_117 *sys._esys_118\n"
"type sys._isys_587 {hchan sys._esys_117 elem sys.any}\n"
"type sys._esys_115 (sys._esys_116 sys._osys_585 sys._isys_587)\n"
"type sys._isys_605 {hchan sys._esys_117 elem sys.any}\n"
"type sys._esys_115 (sys._esys_116 sys._osys_603 sys._isys_605)\n"
"var !sys.chansend2 sys._esys_115\n"
"type sys._esys_120 {}\n"
"type sys._esys_121 {}\n"
......@@ -235,30 +235,30 @@ char* sysimport =
"type sys._esys_123 (sys._esys_124 sys._esys_125 sys._esys_126)\n"
"var !sys.goexit sys._esys_123\n"
"type sys._esys_128 {}\n"
"type sys._osys_598 {_esys_595 sys.string _esys_596 sys.bool}\n"
"type sys._isys_600 {_esys_597 sys.string}\n"
"type sys._esys_127 (sys._esys_128 sys._osys_598 sys._isys_600)\n"
"type sys._osys_616 {_esys_613 sys.string _esys_614 sys.bool}\n"
"type sys._isys_618 {_esys_615 sys.string}\n"
"type sys._esys_127 (sys._esys_128 sys._osys_616 sys._isys_618)\n"
"var !sys.readfile sys._esys_127\n"
"type sys._esys_130 {}\n"
"type sys._osys_607 {_esys_604 sys.bool}\n"
"type sys._isys_609 {_esys_605 sys.string _esys_606 sys.string}\n"
"type sys._esys_129 (sys._esys_130 sys._osys_607 sys._isys_609)\n"
"type sys._osys_625 {_esys_622 sys.bool}\n"
"type sys._isys_627 {_esys_623 sys.string _esys_624 sys.string}\n"
"type sys._esys_129 (sys._esys_130 sys._osys_625 sys._isys_627)\n"
"var !sys.writefile sys._esys_129\n"
"type sys._esys_132 {}\n"
"type sys._osys_619 {_esys_614 sys.int32 _esys_615 sys.int32}\n"
"type sys._osys_637 {_esys_632 sys.int32 _esys_633 sys.int32}\n"
"type sys._esys_133 *sys.uint8\n"
"type sys._isys_621 {_esys_616 sys._esys_133 _esys_617 sys.int32 _esys_618 sys.int32}\n"
"type sys._esys_131 (sys._esys_132 sys._osys_619 sys._isys_621)\n"
"type sys._isys_639 {_esys_634 sys._esys_133 _esys_635 sys.int32 _esys_636 sys.int32}\n"
"type sys._esys_131 (sys._esys_132 sys._osys_637 sys._isys_639)\n"
"var !sys.bytestorune sys._esys_131\n"
"type sys._esys_135 {}\n"
"type sys._osys_632 {_esys_627 sys.int32 _esys_628 sys.int32}\n"
"type sys._isys_634 {_esys_629 sys.string _esys_630 sys.int32 _esys_631 sys.int32}\n"
"type sys._esys_134 (sys._esys_135 sys._osys_632 sys._isys_634)\n"
"type sys._osys_650 {_esys_645 sys.int32 _esys_646 sys.int32}\n"
"type sys._isys_652 {_esys_647 sys.string _esys_648 sys.int32 _esys_649 sys.int32}\n"
"type sys._esys_134 (sys._esys_135 sys._osys_650 sys._isys_652)\n"
"var !sys.stringtorune sys._esys_134\n"
"type sys._esys_137 {}\n"
"type sys._esys_138 {}\n"
"type sys._isys_641 {_esys_640 sys.int32}\n"
"type sys._esys_136 (sys._esys_137 sys._esys_138 sys._isys_641)\n"
"type sys._isys_659 {_esys_658 sys.int32}\n"
"type sys._esys_136 (sys._esys_137 sys._esys_138 sys._isys_659)\n"
"var !sys.exit sys._esys_136\n"
"))\n"
;
......@@ -1179,6 +1179,8 @@ prcompat(Node *n)
loop:
if(l == N) {
if(r == N)
return nod(OBAD, N, N);
walktype(r, Etop);
return r;
}
......@@ -1186,28 +1188,33 @@ loop:
w = whatis(l);
switch(w) {
default:
badtype(n->op, l->type, T);
l = listnext(&save);
goto loop;
if(!isptr[l->type->etype]) {
badtype(n->op, l->type, T);
l = listnext(&save);
goto loop;
}
on = syslook("printpointer", 1);
argtype(on, l->type->type); // any-1
break;
case Wlitint:
case Wtint:
name = "printint";
on = syslook("printint", 0);
break;
case Wlitfloat:
case Wtfloat:
name = "printfloat";
on = syslook("printfloat", 0);
break;
case Wlitbool:
case Wtbool:
name = "printbool";
on = syslook("printbool", 0);
break;
case Wlitstr:
case Wtstr:
name = "printstring";
on = syslook("printstring", 0);
break;
}
on = syslook(name, 0);
t = *getinarg(on->type);
if(t != nil)
t = t->type;
......
......@@ -15,8 +15,7 @@ struct Hchan
uint32 dataqsiz; // size of the circular q
uint32 qcount; // total data in the q
uint32 eo; // vararg of element
uint32 po1; // vararg of present bool in next structure
uint32 po2; // vararg of present bool in same structure
uint32 po; // vararg of present bool
Alg* elemalg; // interface for element type
Link* senddataq; // pointer for sender
Link* recvdataq; // pointer for receiver
......@@ -75,8 +74,7 @@ sys·newchan(uint32 elemsize, uint32 elemalg, uint32 hint,
// these calculations are compiler dependent
c->eo = rnd(sizeof(c), elemsize);
c->po1 = rnd(c->eo+elemsize, 8); // next structure
c->po2 = rnd(c->eo+elemsize, 1); // same structure
c->po = rnd(c->eo+elemsize, 1);
ret = c;
FLUSH(&ret);
......@@ -146,7 +144,7 @@ sys·chansend2(Hchan* c, ...)
G *gr;
ae = (byte*)&c + c->eo;
ap = (byte*)&c + c->po1;
ap = (byte*)&c + c->po;
if(debug) {
prints("chansend: chan=");
......@@ -232,7 +230,7 @@ sys·chanrecv2(Hchan* c, ...)
G *gs;
ae = (byte*)&c + c->eo;
ap = (byte*)&c + c->po2;
ap = (byte*)&c + c->po;
if(debug) {
prints("chanrecv2: chan=");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment