Mercurial > hg > CbC > old > device
comparison Idea @ 46:b1c8ac8c308d
fix cascading struct retrun. Now it should be compatible with gcc
calling sequence.
author | kono |
---|---|
date | Sat, 15 Feb 2003 17:54:30 +0900 |
parents | b9266c88495c |
children | f6b5e4f1a962 |
comparison
equal
deleted
inserted
replaced
45:b9266c88495c | 46:b1c8ac8c308d |
---|---|
1504 char *bname; | 1504 char *bname; |
1505 int type; /* register variable or not */ | 1505 int type; /* register variable or not */ |
1506 int number; | 1506 int number; |
1507 } | 1507 } |
1508 virtual/real は、どうする。 | 1508 virtual/real は、どうする。 |
1509 | |
1510 Sat Feb 15 14:00:03 JST 2003 | |
1511 | |
1512 fdecl_struct を構文的に引数が出現するときに行うと、int *f(int | |
1513 a) などで、* の評価が終る前に、int aが評価されしまう。*obj | |
1514 のobj を評価し終らないとfのタイプが確定しない。int*f()[] み | |
1515 たいな場合があるから。(?) なので、gcc と、そろえるためには、 | |
1516 arg の先頭で fdecl_struct を行う方法ではだめで、fdecl 中であ | |
1517 とから修正する方が良い。 | |
1518 | |
1519 fix しようにも引数リストなんて、存在しないじゃん! | |
1520 | |
1521 varargs を実装するのはめんどくさかろう... | |
1522 | |
1523 rvalue(expr(),type) では、expr() のtypeをrvalueに引き渡せな | |
1524 い。でも、type を大域変数にすると、rvalueを異なるタイプで呼 | |
1525 び出すときにtypeを変更する必要がある。このrvalueのtype の扱 | |
1526 いは、かなりはまったことがあるので、rvalue(int e,int type)の | |
1527 方が良いことは確かなんだが... |