On Tue, 04 Jul 2000, you wrote:
3-Jul-00 17:01 you wrote:
Hello all,
I am trying to port a large program written on a SUN to linux using gpc. So far it goes well, but I run into an error. type T_PtrStr_t = ^TZ_Str_t; compiles perfectly, while type T_PtrStr_t = ^T_Str_t; generates a warning: warning: identifiers should not start with an underscore parse error before `;'
I have added the transcription of the session using an as small as possible program. For clarity, the difference between the two source files is the removal of the three Z's: two in the type declaration and one in the var declaration.
Can someone point out what is wrong with the compilation of the second program?
I can not for sure. Since BOTH are works just fine here. Very comprehensive bug-report. Just one VITAL for any bug-report thing is missing: what compiler you are using ? Version I mean (I'm using 19991030 based on gcc 2.95.2).
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs gpc version 19990118, based on egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
Seems I should upgrade.
Thanks in advance,
Marten Jan de Ruiter mailto:m.j.deruiter@wbmt.tudelft.nl
37 % cat -n pointertypeOK.p
1 program pointertypeOK; 2 3 type 4 TZ_Str_t = string[6]; 5 T_PtrStr_t = ^TZ_Str_t; 6 7 var s: TZ_Str_t; 8 p: T_PtrStr_t; 9 10 begin 11 s:='world!'; 12 p:=addr(s); 13 writeln('hello ',p^); 14 end.
src 38 % gpc pointertypeOK.p -o pointertypeOK
src 39 % pointertypeOK
hello world!
src 41 % cat -n pointertypeNO.p
1 program pointertypeNO; 2 3 type 4 T_Str_t = string[6]; 5 T_PtrStr_t = ^T_Str_t; 6 7 var s: T_Str_t; 8 p: T_PtrStr_t; 9 10 begin 11 s:='world!'; 12 p:=addr(s); 13 writeln('hello ',p^); 14 end.
42 % gpc pointertypeNO.p -o pointertypeNO
pointertype.p:5: warning: identifiers should not start with an underscore pointertype.p:5: parse error before `;' pointertype.p:5: extra semicolon pointertype.p:5: extra semicolon pointertype.p:8: type name expected, identifier `T_ptrstr_t' given pointertype.p: In function `program_Pointertype': pointertype.p:12: incompatible types in assignment pointertype.p:13: invalid type argument of ``^''