Restore use of alloca for string value copies. mingw build fixes. Support Linux subsystem for Windows.

This commit is contained in:
David Brown 2016-10-28 18:13:42 +01:00
parent d906629d2a
commit cf49ec30b9
208 changed files with 575 additions and 544 deletions

View file

@ -1,5 +1,6 @@
#!/bin/sh
. ../testenv.sh
rm -f aa # Remove LSW binary so it doesn't hide Cygwin binary.
$OBECOMP aa.mod -m
./aa >result
. ../testresult.sh

View file

@ -428,149 +428,163 @@ pos=427 char=O
pos=428 char=u
pos=429 char=t
pos=430 char=.
pos=431 char=L
pos=432 char=n
pos=433 char=;
pos=434 char=
pos=435 char=
pos=436 char=
pos=437 char=
pos=438 char=
pos=439 char=
pos=440 char=
pos=441 char=
pos=442 char=I
pos=443 char=F
pos=431 char=C
pos=432 char=h
pos=433 char=a
pos=434 char=r
pos=435 char=(
pos=436 char=0
pos=437 char=A
pos=438 char=X
pos=439 char=)
pos=440 char=;
pos=441 char=
pos=442 char=
pos=443 char=
pos=444 char=
pos=445 char=i
pos=445 char=
pos=446 char=
pos=447 char==
pos=447 char=
pos=448 char=
pos=449 char=2
pos=450 char=1
pos=451 char=9
pos=452 char=0
pos=453 char=6
pos=454 char=
pos=455 char=T
pos=456 char=H
pos=457 char=E
pos=458 char=N
pos=459 char=
pos=460 char=
pos=449 char=I
pos=450 char=F
pos=451 char=
pos=452 char=i
pos=453 char=
pos=454 char==
pos=455 char=
pos=456 char=2
pos=457 char=1
pos=458 char=9
pos=459 char=0
pos=460 char=6
pos=461 char=
pos=462 char=
pos=463 char=
pos=464 char=
pos=465 char=
pos=466 char=
pos=462 char=T
pos=463 char=H
pos=464 char=E
pos=465 char=N
pos=466 char=
pos=467 char=
pos=468 char=
pos=469 char=O
pos=470 char=u
pos=471 char=t
pos=472 char=.
pos=473 char=S
pos=474 char=t
pos=475 char=r
pos=476 char=i
pos=477 char=n
pos=478 char=g
pos=479 char=(
pos=480 char="
pos=481 char=2
pos=482 char=1
pos=483 char=9
pos=484 char=0
pos=485 char=6
pos=486 char="
pos=487 char=)
pos=488 char=;
pos=489 char=
pos=490 char=O
pos=491 char=u
pos=492 char=t
pos=493 char=.
pos=494 char=L
pos=495 char=n
pos=496 char=;
pos=497 char=
pos=498 char=
pos=499 char=
pos=500 char=
pos=501 char=
pos=502 char=
pos=503 char=
pos=504 char=
pos=505 char=
pos=506 char=
pos=507 char=(
pos=508 char=*
pos=509 char=P
pos=510 char=l
pos=511 char=a
pos=512 char=t
pos=513 char=f
pos=514 char=o
pos=515 char=r
pos=516 char=m
pos=517 char=.
pos=518 char=D
pos=519 char=e
pos=520 char=l
pos=521 char=a
pos=522 char=y
pos=523 char=(
pos=524 char=1
pos=525 char=0
pos=526 char=0
pos=527 char=0
pos=528 char=0
pos=529 char=)
pos=530 char=;
pos=531 char=*
pos=532 char=)
pos=533 char=
pos=534 char=
pos=535 char=
pos=536 char=
pos=537 char=
pos=538 char=
pos=539 char=
pos=540 char=
pos=541 char=E
pos=542 char=N
pos=543 char=D
pos=469 char=
pos=470 char=
pos=471 char=
pos=472 char=
pos=473 char=
pos=474 char=
pos=475 char=
pos=476 char=O
pos=477 char=u
pos=478 char=t
pos=479 char=.
pos=480 char=S
pos=481 char=t
pos=482 char=r
pos=483 char=i
pos=484 char=n
pos=485 char=g
pos=486 char=(
pos=487 char="
pos=488 char=2
pos=489 char=1
pos=490 char=9
pos=491 char=0
pos=492 char=6
pos=493 char="
pos=494 char=)
pos=495 char=;
pos=496 char=
pos=497 char=O
pos=498 char=u
pos=499 char=t
pos=500 char=.
pos=501 char=C
pos=502 char=h
pos=503 char=a
pos=504 char=r
pos=505 char=(
pos=506 char=0
pos=507 char=A
pos=508 char=X
pos=509 char=)
pos=510 char=;
pos=511 char=
pos=512 char=
pos=513 char=
pos=514 char=
pos=515 char=
pos=516 char=
pos=517 char=
pos=518 char=
pos=519 char=
pos=520 char=
pos=521 char=(
pos=522 char=*
pos=523 char=P
pos=524 char=l
pos=525 char=a
pos=526 char=t
pos=527 char=f
pos=528 char=o
pos=529 char=r
pos=530 char=m
pos=531 char=.
pos=532 char=D
pos=533 char=e
pos=534 char=l
pos=535 char=a
pos=536 char=y
pos=537 char=(
pos=538 char=1
pos=539 char=0
pos=540 char=0
pos=541 char=0
pos=542 char=0
pos=543 char=)
pos=544 char=;
pos=545 char=
pos=546 char=
pos=547 char=
pos=545 char=*
pos=546 char=)
pos=547 char=
pos=548 char=
pos=549 char=
pos=550 char=E
pos=551 char=N
pos=552 char=D
pos=553 char=;
pos=554 char=
pos=555 char=
pos=556 char=
pos=557 char=E
pos=558 char=N
pos=559 char=D
pos=560 char=
pos=561 char=E
pos=562 char=N
pos=563 char=D
pos=564 char=
pos=565 char=i
pos=566 char=s
pos=567 char=p
pos=568 char=t
pos=569 char=e
pos=570 char=s
pos=571 char=t
pos=572 char=.
pos=573 char=
pos=550 char=
pos=551 char=
pos=552 char=
pos=553 char=
pos=554 char=
pos=555 char=E
pos=556 char=N
pos=557 char=D
pos=558 char=;
pos=559 char=
pos=560 char=
pos=561 char=
pos=562 char=
pos=563 char=
pos=564 char=E
pos=565 char=N
pos=566 char=D
pos=567 char=;
pos=568 char=
pos=569 char=
pos=570 char=
pos=571 char=E
pos=572 char=N
pos=573 char=D
pos=574 char=
pos=575 char=E
pos=576 char=N
pos=577 char=D
pos=578 char=
pos=579 char=i
pos=580 char=s
pos=581 char=p
pos=582 char=t
pos=583 char=e
pos=584 char=s
pos=585 char=t
pos=586 char=.
pos=587 char=
--- Testing with Component Pascal variable model ---
@ -1003,146 +1017,160 @@ pos=427 char=O
pos=428 char=u
pos=429 char=t
pos=430 char=.
pos=431 char=L
pos=432 char=n
pos=433 char=;
pos=434 char=
pos=435 char=
pos=436 char=
pos=437 char=
pos=438 char=
pos=439 char=
pos=440 char=
pos=441 char=
pos=442 char=I
pos=443 char=F
pos=431 char=C
pos=432 char=h
pos=433 char=a
pos=434 char=r
pos=435 char=(
pos=436 char=0
pos=437 char=A
pos=438 char=X
pos=439 char=)
pos=440 char=;
pos=441 char=
pos=442 char=
pos=443 char=
pos=444 char=
pos=445 char=i
pos=445 char=
pos=446 char=
pos=447 char==
pos=447 char=
pos=448 char=
pos=449 char=2
pos=450 char=1
pos=451 char=9
pos=452 char=0
pos=453 char=6
pos=454 char=
pos=455 char=T
pos=456 char=H
pos=457 char=E
pos=458 char=N
pos=459 char=
pos=460 char=
pos=449 char=I
pos=450 char=F
pos=451 char=
pos=452 char=i
pos=453 char=
pos=454 char==
pos=455 char=
pos=456 char=2
pos=457 char=1
pos=458 char=9
pos=459 char=0
pos=460 char=6
pos=461 char=
pos=462 char=
pos=463 char=
pos=464 char=
pos=465 char=
pos=466 char=
pos=462 char=T
pos=463 char=H
pos=464 char=E
pos=465 char=N
pos=466 char=
pos=467 char=
pos=468 char=
pos=469 char=O
pos=470 char=u
pos=471 char=t
pos=472 char=.
pos=473 char=S
pos=474 char=t
pos=475 char=r
pos=476 char=i
pos=477 char=n
pos=478 char=g
pos=479 char=(
pos=480 char="
pos=481 char=2
pos=482 char=1
pos=483 char=9
pos=484 char=0
pos=485 char=6
pos=486 char="
pos=487 char=)
pos=488 char=;
pos=489 char=
pos=490 char=O
pos=491 char=u
pos=492 char=t
pos=493 char=.
pos=494 char=L
pos=495 char=n
pos=496 char=;
pos=497 char=
pos=498 char=
pos=499 char=
pos=500 char=
pos=501 char=
pos=502 char=
pos=503 char=
pos=504 char=
pos=505 char=
pos=506 char=
pos=507 char=(
pos=508 char=*
pos=509 char=P
pos=510 char=l
pos=511 char=a
pos=512 char=t
pos=513 char=f
pos=514 char=o
pos=515 char=r
pos=516 char=m
pos=517 char=.
pos=518 char=D
pos=519 char=e
pos=520 char=l
pos=521 char=a
pos=522 char=y
pos=523 char=(
pos=524 char=1
pos=525 char=0
pos=526 char=0
pos=527 char=0
pos=528 char=0
pos=529 char=)
pos=530 char=;
pos=531 char=*
pos=532 char=)
pos=533 char=
pos=534 char=
pos=535 char=
pos=536 char=
pos=537 char=
pos=538 char=
pos=539 char=
pos=540 char=
pos=541 char=E
pos=542 char=N
pos=543 char=D
pos=469 char=
pos=470 char=
pos=471 char=
pos=472 char=
pos=473 char=
pos=474 char=
pos=475 char=
pos=476 char=O
pos=477 char=u
pos=478 char=t
pos=479 char=.
pos=480 char=S
pos=481 char=t
pos=482 char=r
pos=483 char=i
pos=484 char=n
pos=485 char=g
pos=486 char=(
pos=487 char="
pos=488 char=2
pos=489 char=1
pos=490 char=9
pos=491 char=0
pos=492 char=6
pos=493 char="
pos=494 char=)
pos=495 char=;
pos=496 char=
pos=497 char=O
pos=498 char=u
pos=499 char=t
pos=500 char=.
pos=501 char=C
pos=502 char=h
pos=503 char=a
pos=504 char=r
pos=505 char=(
pos=506 char=0
pos=507 char=A
pos=508 char=X
pos=509 char=)
pos=510 char=;
pos=511 char=
pos=512 char=
pos=513 char=
pos=514 char=
pos=515 char=
pos=516 char=
pos=517 char=
pos=518 char=
pos=519 char=
pos=520 char=
pos=521 char=(
pos=522 char=*
pos=523 char=P
pos=524 char=l
pos=525 char=a
pos=526 char=t
pos=527 char=f
pos=528 char=o
pos=529 char=r
pos=530 char=m
pos=531 char=.
pos=532 char=D
pos=533 char=e
pos=534 char=l
pos=535 char=a
pos=536 char=y
pos=537 char=(
pos=538 char=1
pos=539 char=0
pos=540 char=0
pos=541 char=0
pos=542 char=0
pos=543 char=)
pos=544 char=;
pos=545 char=
pos=546 char=
pos=547 char=
pos=545 char=*
pos=546 char=)
pos=547 char=
pos=548 char=
pos=549 char=
pos=550 char=E
pos=551 char=N
pos=552 char=D
pos=553 char=;
pos=554 char=
pos=555 char=
pos=556 char=
pos=557 char=E
pos=558 char=N
pos=559 char=D
pos=560 char=
pos=561 char=E
pos=562 char=N
pos=563 char=D
pos=564 char=
pos=565 char=i
pos=566 char=s
pos=567 char=p
pos=568 char=t
pos=569 char=e
pos=570 char=s
pos=571 char=t
pos=572 char=.
pos=573 char=
pos=550 char=
pos=551 char=
pos=552 char=
pos=553 char=
pos=554 char=
pos=555 char=E
pos=556 char=N
pos=557 char=D
pos=558 char=;
pos=559 char=
pos=560 char=
pos=561 char=
pos=562 char=
pos=563 char=
pos=564 char=E
pos=565 char=N
pos=566 char=D
pos=567 char=;
pos=568 char=
pos=569 char=
pos=570 char=
pos=571 char=E
pos=572 char=N
pos=573 char=D
pos=574 char=
pos=575 char=E
pos=576 char=N
pos=577 char=D
pos=578 char=
pos=579 char=i
pos=580 char=s
pos=581 char=p
pos=582 char=t
pos=583 char=e
pos=584 char=s
pos=585 char=t
pos=586 char=.
pos=587 char=

View file

@ -17,9 +17,9 @@ BEGIN
WHILE ~R.eot DO
Texts.Read(R, ch);
i := Texts.Pos(R);
Out.String("pos="); Out.Int(i,0); Out.String(" char="); Out.Char(ch); Out.Ln;
Out.String("pos="); Out.Int(i,0); Out.String(" char="); Out.Char(ch); Out.Char(0AX);
IF i = 21906 THEN
Out.String("21906"); Out.Ln;
Out.String("21906"); Out.Char(0AX);
(*Platform.Delay(10000);*)
END;
END;

View file

@ -1,6 +1,7 @@
#!/bin/sh
. ../testenv.sh
# Generate mixed source and assembly code listing
rm -f TestLanguage # Remove LSW binary so it doesn't hide Cygwin binary.
$OBECOMP TestLanguage.mod -m
./TestLanguage >result
. ../testresult.sh

View file

@ -1,6 +1,7 @@
#!/bin/sh
. ../testenv.sh
# Generate mixed source and assembly code listing
rm -f TestLibrary # Remove LSW binary so it doesn't hide Cygwin binary.
$OBECOMP TestLibrary.mod -m
./TestLibrary >result
. ../testresult.sh

View file

@ -1,5 +1,6 @@
#!/bin/sh
. ../testenv.sh
rm -f mathtest # Remove LSW binary so it doesn't hide Cygwin binary.
$OBECOMP mathtest.mod -m -OC
./mathtest >result
. ../testresult.sh

View file

@ -1,10 +1,9 @@
#!/bin/sh
. ../testenv.sh
rm -f outtest # Remove LSW binary so it doesn't hide Cygwin binary.
$OBECOMP outtest.mod -m -O2
#../../../../voc outtest.mod -m -O2
./outtest >result-O2
$OBECOMP outtest.mod -m -OC
#../../../../voc outtest.mod -m -OC
./outtest >result-OC
echo --- Testing with Oberon 2 variable model --- >result
cat result-O2 >>result

View file

@ -1,5 +1,6 @@
#!/bin/sh
. ../testenv.sh
rm -f SignalTest # Remove LSW binary so it doesn't hide Cygwin binary.
$OBECOMP signal.mod -m
./SignalTest x &
sleep 1

View file

@ -11,7 +11,7 @@ fi
# Set ibrary paths for darwin and termux(android)
export DYLD_LIBRARY_PATH=$1/lib:$DYLD_LIBRARY_PATH
export LD_LIBRARY_PATH=$1/lib:$LD_LIBRARY_PATH
rm -f *.o *.obj *.exe *.sym *.c *.h result new.asm
rm -f *.o *.obj *.exe *.sym *.c *.h result new.asm $(basename $PWD)
# Under gcc generate assembly source for source change test.
# NOTE: The following CFLAGS causes the assembler to write source

View file

@ -1,5 +1,6 @@
#!/bin/sh
. ../testenv.sh
rm -f testTexts # Remove LSW binary so it doesn't hide Cygwin binary.
$OBECOMP testTexts.mod -m
./testTexts >result
. ../testresult.sh