[Aldor-l] BUG
Christian Aistleitner
tmgisi at gmx.at
Sat Jan 27 10:24:01 EST 2007
Hello,
apparently, my answer to your previous post came 15 Minutes too late ;)
> Extract the attached files and simply type "make".
>
> [...]
>
> woodpecker:~/scratch/BUG>make
> rm *.ao *.o *~
> rm: cannot remove `*.ao': No such file or directory
> rm: cannot remove `*.o': No such file or directory
> rm: cannot remove `*~': No such file or directory
> make: [clean] Error 1 (ignored)
> rm blah foo
> rm: cannot remove `blah': No such file or directory
> rm: cannot remove `foo': No such file or directory
> make: [clean] Error 1 (ignored)
> aldor -mno-mactext -mno-abbrev -fao -fo -fx -DDEBUG -laldord blah.as
> blah
> Call blah
> t=[]
> s=[]
> END blah
> aldor -mno-mactext -mno-abbrev -fx -laldor foo.as blah.o
>
> foo.as:
> "foo.as", line 13: s: T := t/t;
> .................^
> [L13 C18] #1 (Error) There are no suitable meanings for the operator `/'.
>
> make: *** [foo] Error 1
Again, you can hint Aldor towards the fact that T has a / function. By
converting the relevant part of the code into
assert ( T has with { /: ( %, % ) -> % } );
if ( T has with { /: ( %, % ) -> % } ) then {
s: T := t/t;
stdout << "s=" << s << newline;
} else {
never;
}
you'll get a working program. However at the price of an ugly workaround ;)
Here is the output I got after I applied the workaround:
____________________________________________
tmgisi at spencer
cwd: ~/ralf/BUG
LC_ALL=C make
rm *.ao *.o *~
rm: cannot remove `*~': No such file or directory
make: [clean] Error 1 (ignored)
rm blah foo
aldor -mno-mactext -mno-abbrev -C args=-Wopts=-m32 -fao -fo -fx -DDEBUG
-laldord blah.as
cc1: note: -fwritable-strings is deprecated; see documentation for details
cc1: note: -fwritable-strings is deprecated; see documentation for details
./blah
Call blah
t=[]
s=[]
END blah
aldor -mno-mactext -mno-abbrev -C args=-Wopts=-m32 -fx -laldor foo.as
blah.o
foo.as:
cc1: note: -fwritable-strings is deprecated; see documentation for details
cc1: note: -fwritable-strings is deprecated; see documentation for details
./foo
Call blah
t=[]
s=[]
END blah
t=[]
s=[]
t=[]
s=[]
Kind regards,
Christian
More information about the Aldor-l
mailing list