@@ -2697,7 +2697,7 @@ AT_DATA([prog.cob], [
26972697 STOP RUN.
26982698])
26992699
2700- AT_CHECK([$COMPILE -fno-ec=EC-SIZE prog.cob], [0], [], [])
2700+ AT_CHECK([$COMPILE -fno-ec=size prog.cob], [0], [], [])
27012701AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], [])
27022702
27032703AT_CLEANUP
@@ -7446,7 +7446,7 @@ AT_DATA([prog.cob], [
74467446 .
74477447])
74487448
7449- AT_CHECK([$COMPILE -fno-ec=EC-SIZE prog.cob], [0], [], [])
7449+ AT_CHECK([$COMPILE -fno-ec=size prog.cob], [0], [], [])
74507450AT_CHECK([$COBCRUN_DIRECT ./prog], [0],
74517451[EC-SIZE-OVERFLOW
74527452prog; ; 10
@@ -11733,7 +11733,7 @@ AT_DATA([prog.cob], [
1173311733 END PROGRAM prog.
1173411734])
1173511735
11736- AT_CHECK([$COMPILE -fno-ec=EC-SIZE prog.cob], [0], [],
11736+ AT_CHECK([$COMPILE -fno-ec=size prog.cob], [0], [],
1173711737[prog.cob:10: warning: value size exceeds data size
1173811738prog.cob:10: note: value is 30000
1173911739prog.cob:7: note: 'x' defined here as PIC 9(4)
@@ -12741,7 +12741,7 @@ AT_DATA([prog.cob], [
1274112741 END-IF.
1274212742 STOP RUN.
1274312743])
12744- AT_CHECK([$COMPILE -fno-ec=EC-SIZE prog.cob], [0], [], [])
12744+ AT_CHECK([$COMPILE -fno-ec=size prog.cob], [0], [], [])
1274512745
1274612746AT_CHECK([$COBCRUN_DIRECT ./prog], [0],
1274712747[Simple Compute RSLT IS 400
@@ -12897,7 +12897,7 @@ AT_DATA([prog.cob], [
1289712897 STOP RUN.
1289812898])
1289912899
12900- AT_CHECK([$COMPILE -fno-ec=EC-SIZE -farithmetic-osvs prog.cob], [0], [],
12900+ AT_CHECK([$COMPILE -fno-ec=size -farithmetic-osvs prog.cob], [0], [],
1290112901[prog.cob: in paragraph 'MAIN':
1290212902prog.cob:19: warning: precision of result may change with arithmetic-osvs
1290312903prog.cob:21: warning: precision of result may change with arithmetic-osvs
@@ -13999,7 +13999,7 @@ AT_DATA([prog.cob], [
1399913999 .
1400014000])
1400114001
14002- AT_CHECK([$COMPILE -fno-ec=EC-SIZE prog.cob], [0], [], [])
14002+ AT_CHECK([$COMPILE -fno-ec=size prog.cob], [0], [], [])
1400314003AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], [])
1400414004AT_CLEANUP
1400514005
@@ -14030,7 +14030,7 @@ AT_DATA([prog.cob], [
1403014030 .
1403114031])
1403214032
14033- AT_CHECK([$COMPILE -fno-ec=EC-SIZE prog.cob], [0], [], [])
14033+ AT_CHECK([$COMPILE -fno-ec=size prog.cob], [0], [], [])
1403414034AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], [])
1403514035AT_CLEANUP
1403614036
@@ -14039,7 +14039,7 @@ AT_SETUP([Constant Expressions])
1403914039AT_KEYWORDS([runmisc condition expression])
1404014040
1404114041AT_DATA([prog.cob], [
14042- IDENTIFICATION DIVISION.
14042+ IDENTIFICATION DIVISION
1404314043 PROGRAM-ID. prog.
1404414044 DATA DIVISION.
1404514045 WORKING-STORAGE SECTION.
@@ -15693,8 +15693,8 @@ AT_DATA([prog.cob], [
1569315693 DATA DIVISION.
1569415694 WORKING-STORAGE SECTION.
1569515695 01 LARGE-VALUE PIC 9(3) VALUE 999.
15696- 01 SMALL-VALUE PIC 9(3) VALUE 999 .
15697- 01 RESULT PIC 9(3) VALUE 999 .
15696+ 01 SMALL-VALUE PIC 9(3) VALUE 1 .
15697+ 01 RESULT PIC 9(3).
1569815698 PROCEDURE DIVISION.
1569915699 ADD SMALL-VALUE TO LARGE-VALUE
1570015700 GIVING RESULT.
@@ -15713,8 +15713,8 @@ AT_DATA([prog1.cob], [
1571315713 DATA DIVISION.
1571415714 WORKING-STORAGE SECTION.
1571515715 01 LARGE-VALUE PIC 9(3) VALUE 999.
15716- 01 SMALL-VALUE PIC 9(3) VALUE 999 .
15717- 01 RESULT PIC 9(3) VALUE 999 .
15716+ 01 SMALL-VALUE PIC 9(3) VALUE 1 .
15717+ 01 RESULT PIC 9(3).
1571815718 PROCEDURE DIVISION.
1571915719 ADD SMALL-VALUE TO LARGE-VALUE
1572015720 GIVING RESULT
@@ -15727,6 +15727,131 @@ AT_DATA([prog1.cob], [
1572715727AT_CHECK([$COMPILE prog1.cob], [0], [], [])
1572815728AT_CHECK([$COBCRUN_DIRECT ./prog1], [0],
1572915729[SIZE ERROR detected
15730- 999
15730+ 000
1573115731], [])
15732+
15733+ AT_DATA([prog2.cob], [
15734+ IDENTIFICATION DIVISION.
15735+ PROGRAM-ID. prog.
15736+ DATA DIVISION.
15737+ WORKING-STORAGE SECTION.
15738+ 01 LARGE-VALUE PIC 9(3) VALUE 999.
15739+ 01 SMALL-VALUE PIC 9(3) VALUE 1.
15740+ 01 RESULT PIC 9(3).
15741+ PROCEDURE DIVISION.
15742+ COMPUTE LARGE-VALUE = LARGE-VALUE - (999 * SMALL-VALUE).
15743+ DIVIDE SMALL-VALUE BY LARGE-VALUE
15744+ GIVING RESULT.
15745+ DISPLAY RESULT.
15746+ STOP RUN.
15747+ ])
15748+
15749+ AT_CHECK([$COMPILE prog2.cob], [0], [], [])
15750+ AT_CHECK([$COBCRUN_DIRECT ./prog2], [1],
15751+ [], [libcob: prog2.cob:11: error: unhandled fatal exception code: EC-SIZE-ZERO-DIVIDE
15752+ ])
15753+
15754+ AT_DATA([prog3.cob], [
15755+ IDENTIFICATION DIVISION.
15756+ PROGRAM-ID. prog.
15757+ DATA DIVISION.
15758+ WORKING-STORAGE SECTION.
15759+ 01 LARGE-VALUE PIC 9(3) VALUE 999.
15760+ 01 SMALL-VALUE PIC 9(3) VALUE 1.
15761+ 01 RESULT PIC 9(3).
15762+ PROCEDURE DIVISION.
15763+ COMPUTE LARGE-VALUE = LARGE-VALUE - SMALL-VALUE.
15764+ DIVIDE SMALL-VALUE BY LARGE-VALUE
15765+ GIVING RESULT
15766+ ON SIZE ERROR
15767+ DISPLAY "SIZE ERROR detected".
15768+ DISPLAY RESULT.
15769+ STOP RUN.
15770+ ])
15771+
15772+ AT_CHECK([$COMPILE prog3.cob], [0], [], [])
15773+ AT_CHECK([$COBCRUN_DIRECT ./prog3], [0],
15774+ [000
15775+ ], [])
15776+
15777+ AT_DATA([prog4.cob], [
15778+ IDENTIFICATION DIVISION.
15779+ PROGRAM-ID. prog.
15780+ DATA DIVISION.
15781+ WORKING-STORAGE SECTION.
15782+ 01 TEST-VALUE PIC S9.
15783+ PROCEDURE DIVISION.
15784+ COMPUTE TEST-VALUE ROUNDED MODE PROHIBITED
15785+ = 2.49.
15786+ DISPLAY TEST-VALUE.
15787+ STOP RUN.
15788+ ])
15789+
15790+ AT_CHECK([$COMPILE prog4.cob], [0], [], [])
15791+ AT_CHECK([$COBCRUN_DIRECT ./prog4], [1],
15792+ [], [libcob: prog4.cob:8: error: unhandled fatal exception code: EC-SIZE-TRUNCATION
15793+ ])
15794+
15795+
15796+ AT_DATA([prog5.cob], [
15797+ IDENTIFICATION DIVISION.
15798+ PROGRAM-ID. prog.
15799+ DATA DIVISION.
15800+ WORKING-STORAGE SECTION.
15801+ 01 TEST-VALUE PIC S9.
15802+ PROCEDURE DIVISION.
15803+ COMPUTE TEST-VALUE ROUNDED MODE PROHIBITED
15804+ = 2.49
15805+ ON SIZE ERROR
15806+ DISPLAY "SIZE ERROR detected".
15807+ DISPLAY TEST-VALUE.
15808+ STOP RUN.
15809+ ])
15810+
15811+ AT_CHECK([$COMPILE prog5.cob], [0], [], [])
15812+ AT_CHECK([$COBCRUN_DIRECT ./prog5], [0],
15813+ [SIZE ERROR detected
15814+ +0
15815+ ], [])
15816+
15817+ AT_DATA([prog6.cob], [
15818+ IDENTIFICATION DIVISION.
15819+ PROGRAM-ID. prog.
15820+ DATA DIVISION.
15821+ WORKING-STORAGE SECTION.
15822+ 01 TEST-VALUE PIC S9 VALUE 0.
15823+ PROCEDURE DIVISION.
15824+ COMPUTE TEST-VALUE
15825+ = TEST-VALUE ** TEST-VALUE.
15826+ DISPLAY TEST-VALUE.
15827+ STOP RUN.
15828+ ])
15829+
15830+ AT_CHECK([$COMPILE prog6.cob], [0], [], [])
15831+ AT_CHECK([$COBCRUN_DIRECT ./prog6], [1],
15832+ [], [libcob: prog6.cob:8: error: unhandled fatal exception code: EC-SIZE-EXPONENTIATION
15833+ ])
15834+
15835+ AT_DATA([prog7.cob], [
15836+ IDENTIFICATION DIVISION.
15837+ PROGRAM-ID. prog.
15838+ DATA DIVISION.
15839+ WORKING-STORAGE SECTION.
15840+ 01 TEST-VALUE PIC S9 VALUE 0.
15841+ PROCEDURE DIVISION.
15842+ COMPUTE TEST-VALUE
15843+ = TEST-VALUE ** TEST-VALUE
15844+ ON SIZE ERROR
15845+ DISPLAY "SIZE ERROR detected".
15846+ DISPLAY TEST-VALUE.
15847+ STOP RUN.
15848+ ])
15849+
15850+ AT_CHECK([$COMPILE prog7.cob], [0], [], [])
15851+ AT_CHECK([$COBCRUN_DIRECT ./prog7], [0],
15852+ [SIZE ERROR detected
15853+ +1
15854+ ], [])
15855+
15856+
1573215857AT_CLEANUP
0 commit comments