changeset 614:e4e007f4026d

fix #deifne /* line
author kono
date Tue, 30 May 2006 21:36:03 +0900
parents 3b9e0e59ab97
children 2dee957ef988
files Changes mc-macro.c test/macro.c
diffstat 3 files changed, 42 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/Changes	Wed Apr 19 14:32:36 2006 +0900
+++ b/Changes	Tue May 30 21:36:03 2006 +0900
@@ -8724,8 +8724,34 @@
 Object で構成するってこと? Java で書き直してもいいけど。
 まぁ、いいろいろイキヅマリガあるよな。
 
-
-
-
-
-
+Wed Apr 19 14:37:36 JST 2006
+
+list を必ずtag付きにして、型を決め打ちすれば良い。gettree を
+任意のベクタにすると良いね。
+    型        expression
+    int
+    double
+    long double
+    long long
+    NMTBL
+    xx        extension
+3bit x n ぐらいか?
+    9  bit tag              
+    4  bit type tag         (singed, long long, float, double, char, short)
+    3  bit length
+    15 bit (3*5) 型リスト
+ぐらい?
+
+    #define GSYMS           (8192*32)
+    #define HEAPSIZE        120000
+    #define CHEAPSIZE       (sizeof(NMTBL)*8192)
+    #define LBUFSIZE        4096
+    #define STRSIZE         4096
+
+ここら辺も初期値をオプションで指定できた方が良い。
+
+Mon May 29 02:52:40 JST 2006
+
+そうか... sse2 をサポートしないと、やっぱりだめなのね。
+Pen 4 以上では。
+
--- a/mc-macro.c	Wed Apr 19 14:32:36 2006 +0900
+++ b/mc-macro.c	Tue May 30 21:36:03 2006 +0900
@@ -666,7 +666,12 @@
 	    while(*chptr++); break;
 	} else if (c=='/'&&chptr[0]=='*') {
 	    cheap->ptr--; chptr++;
-	    while((c = *chptr++)) {
+	    for(;;) {
+		c = *chptr++;
+		if (!c) {
+		    getline();
+		    continue;
+		}
 		if (c=='*'&&chptr[0]=='/') {
 		    c = *chptr++; break;
 		}
--- a/test/macro.c	Wed Apr 19 14:32:36 2006 +0900
+++ b/test/macro.c	Tue May 30 21:36:03 2006 +0900
@@ -33,6 +33,10 @@
 
 #define name_hoge(c)   (c+a)
 
+#define hoge000(a)    (a+a) /*  hoge
+  comment 
+*/
+
 
 int
 main() {
@@ -71,6 +75,7 @@
 #endif
     printf("#0071:%d\n",name(3,hoge));
     printf("#0072:%d\n",names(3,hoge));
+    printf("#0073:%d\n",hoge000(3));
     return 0;
 }