@@ -2267,6 +2267,57 @@ AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], [])
22672267AT_CLEANUP
22682268
22692269
2270+ AT_SETUP([Fixed BINARY size])
2271+ AT_KEYWORDS([binary])
2272+
2273+ AT_DATA([prog.cob], [
2274+ IDENTIFICATION DIVISION.
2275+ PROGRAM-ID. prog.
2276+
2277+ DATA DIVISION.
2278+ WORKING-STORAGE SECTION.
2279+ 01 WS-BCS BINARY-CHAR SIGNED.
2280+ 01 WS-BCU BINARY-CHAR UNSIGNED.
2281+ 01 WS-BSS BINARY-SHORT SIGNED.
2282+ 01 WS-BSU BINARY-SHORT UNSIGNED.
2283+ 01 WS-BLS BINARY-LONG SIGNED.
2284+ 01 WS-BLU BINARY-LONG UNSIGNED.
2285+ 01 WS-BDS BINARY-DOUBLE SIGNED.
2286+ 01 WS-BDU BINARY-DOUBLE UNSIGNED.
2287+
2288+ PROCEDURE DIVISION.
2289+ MAIN.
2290+ IF BYTE-LENGTH(WS-BCS) <> 1
2291+ DISPLAY "BAD BINARY-CHAR SIGNED".
2292+ IF BYTE-LENGTH(WS-BCU) <> 1
2293+ DISPLAY "BAD BINARY-CHAR UNSIGNED".
2294+ IF BYTE-LENGTH(WS-BSS) <> 2
2295+ DISPLAY "BAD BINARY-SHORT SIGNED".
2296+ IF BYTE-LENGTH(WS-BSU) <> 2
2297+ DISPLAY "BAD BINARY-SHORT UNSIGNED".
2298+ IF BYTE-LENGTH(WS-BLS) <> 4
2299+ DISPLAY "BAD BINARY-LONG SIGNED".
2300+ IF BYTE-LENGTH(WS-BLU) <> 4
2301+ DISPLAY "BAD BINARY-LONG UNSIGNED".
2302+ IF BYTE-LENGTH(WS-BDS) <> 8
2303+ DISPLAY "BAD BINARY-DOUBLE SIGNED".
2304+ IF BYTE-LENGTH(WS-BDU) <> 8
2305+ DISPLAY "BAD BINARY-DOUBLE UNSIGNED".
2306+ STOP RUN.
2307+ ])
2308+
2309+ AT_CHECK([$COMPILE -fintrinsics=ALL -Wno-constant-expression -fbinary-size=1-2-4-8 prog.cob], [0], [], [])
2310+ AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], [])
2311+
2312+ AT_CHECK([$COMPILE -fintrinsics=ALL -Wno-constant-expression -fbinary-size=2-4-8 prog.cob], [0], [], [])
2313+ AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], [])
2314+
2315+ AT_CHECK([$COMPILE -fintrinsics=ALL -Wno-constant-expression -fbinary-size=1--8 prog.cob], [0], [], [])
2316+ AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [], [])
2317+
2318+ AT_CLEANUP
2319+
2320+
22702321AT_SETUP([COMP-5 binary size])
22712322AT_KEYWORDS([binary])
22722323
@@ -2355,86 +2406,86 @@ AT_DATA([prog.cob], [
23552406
23562407 PROCEDURE DIVISION.
23572408 MAIN.
2358- DISPLAY "V9(1): " FUNCTION BYTE-LENGTH (WS-1).
2359- DISPLAY "V9(2): " FUNCTION BYTE-LENGTH (WS-2).
2360- DISPLAY "V9(3): " FUNCTION BYTE-LENGTH (WS-3).
2361- DISPLAY "V9(4): " FUNCTION BYTE-LENGTH (WS-4).
2362- DISPLAY "V9(5): " FUNCTION BYTE-LENGTH (WS-5).
2363- DISPLAY "V9(6): " FUNCTION BYTE-LENGTH (WS-6).
2364- DISPLAY "V9(7): " FUNCTION BYTE-LENGTH (WS-7).
2365- DISPLAY "V9(8): " FUNCTION BYTE-LENGTH (WS-8).
2366- DISPLAY "V9(9): " FUNCTION BYTE-LENGTH (WS-9).
2367- DISPLAY "V9(10): " FUNCTION BYTE-LENGTH (WS-10).
2368- DISPLAY "V9(11): " FUNCTION BYTE-LENGTH (WS-11).
2369- DISPLAY "V9(12): " FUNCTION BYTE-LENGTH (WS-12).
2370- DISPLAY "V9(13): " FUNCTION BYTE-LENGTH (WS-13).
2371- DISPLAY "V9(14): " FUNCTION BYTE-LENGTH (WS-14).
2372- DISPLAY "V9(15): " FUNCTION BYTE-LENGTH (WS-15).
2373- DISPLAY "V9(16): " FUNCTION BYTE-LENGTH (WS-16).
2374- DISPLAY "V9(17): " FUNCTION BYTE-LENGTH (WS-17).
2375- DISPLAY "V9(18): " FUNCTION BYTE-LENGTH (WS-18).
2376-
2377- DISPLAY "VPP9(1): " FUNCTION BYTE-LENGTH (WS-P1).
2378- DISPLAY "VPP9(2): " FUNCTION BYTE-LENGTH (WS-P2).
2379- DISPLAY "VPP9(3): " FUNCTION BYTE-LENGTH (WS-P3).
2380- DISPLAY "VPP9(4): " FUNCTION BYTE-LENGTH (WS-P4).
2381- DISPLAY "VPP9(5): " FUNCTION BYTE-LENGTH (WS-P5).
2382- DISPLAY "VPP9(6): " FUNCTION BYTE-LENGTH (WS-P6).
2383- DISPLAY "VPP9(7): " FUNCTION BYTE-LENGTH (WS-P7).
2384- DISPLAY "VPP9(8): " FUNCTION BYTE-LENGTH (WS-P8).
2385- DISPLAY "VPP9(9): " FUNCTION BYTE-LENGTH (WS-P9).
2386- DISPLAY "VPP9(10): " FUNCTION BYTE-LENGTH (WS-P10).
2387- DISPLAY "VPP9(11): " FUNCTION BYTE-LENGTH (WS-P11).
2388- DISPLAY "VPP9(12): " FUNCTION BYTE-LENGTH (WS-P12).
2389- DISPLAY "VPP9(13): " FUNCTION BYTE-LENGTH (WS-P13).
2390- DISPLAY "VPP9(14): " FUNCTION BYTE-LENGTH (WS-P14).
2391- DISPLAY "VPP9(15): " FUNCTION BYTE-LENGTH (WS-P15).
2392- DISPLAY "VPP9(16): " FUNCTION BYTE-LENGTH (WS-P16).
2393- DISPLAY "VPP9(17): " FUNCTION BYTE-LENGTH (WS-P17).
2394- DISPLAY "VPP9(18): " FUNCTION BYTE-LENGTH (WS-P18).
2395-
2396- DISPLAY "SV9(1): " FUNCTION BYTE-LENGTH (WS-S1).
2397- DISPLAY "SV9(2): " FUNCTION BYTE-LENGTH (WS-S2).
2398- DISPLAY "SV9(3): " FUNCTION BYTE-LENGTH (WS-S3).
2399- DISPLAY "SV9(4): " FUNCTION BYTE-LENGTH (WS-S4).
2400- DISPLAY "SV9(5): " FUNCTION BYTE-LENGTH (WS-S5).
2401- DISPLAY "SV9(6): " FUNCTION BYTE-LENGTH (WS-S6).
2402- DISPLAY "SV9(7): " FUNCTION BYTE-LENGTH (WS-S7).
2403- DISPLAY "SV9(8): " FUNCTION BYTE-LENGTH (WS-S8).
2404- DISPLAY "SV9(9): " FUNCTION BYTE-LENGTH (WS-S9).
2405- DISPLAY "SV9(10): " FUNCTION BYTE-LENGTH (WS-S10).
2406- DISPLAY "SV9(11): " FUNCTION BYTE-LENGTH (WS-S11).
2407- DISPLAY "SV9(12): " FUNCTION BYTE-LENGTH (WS-S12).
2408- DISPLAY "SV9(13): " FUNCTION BYTE-LENGTH (WS-S13).
2409- DISPLAY "SV9(14): " FUNCTION BYTE-LENGTH (WS-S14).
2410- DISPLAY "SV9(15): " FUNCTION BYTE-LENGTH (WS-S15).
2411- DISPLAY "SV9(16): " FUNCTION BYTE-LENGTH (WS-S16).
2412- DISPLAY "SV9(17): " FUNCTION BYTE-LENGTH (WS-S17).
2413- DISPLAY "SV9(18): " FUNCTION BYTE-LENGTH (WS-S18).
2414-
2415- DISPLAY "SVPP9(1): " FUNCTION BYTE-LENGTH (WS-SP1).
2416- DISPLAY "SVPP9(2): " FUNCTION BYTE-LENGTH (WS-SP2).
2417- DISPLAY "SVPP9(3): " FUNCTION BYTE-LENGTH (WS-SP3).
2418- DISPLAY "SVPP9(4): " FUNCTION BYTE-LENGTH (WS-SP4).
2419- DISPLAY "SVPP9(5): " FUNCTION BYTE-LENGTH (WS-SP5).
2420- DISPLAY "SVPP9(6): " FUNCTION BYTE-LENGTH (WS-SP6).
2421- DISPLAY "SVPP9(7): " FUNCTION BYTE-LENGTH (WS-SP7).
2422- DISPLAY "SVPP9(8): " FUNCTION BYTE-LENGTH (WS-SP8).
2423- DISPLAY "SVPP9(9): " FUNCTION BYTE-LENGTH (WS-SP9).
2424- DISPLAY "SVPP9(10): " FUNCTION BYTE-LENGTH (WS-SP10).
2425- DISPLAY "SVPP9(11): " FUNCTION BYTE-LENGTH (WS-SP11).
2426- DISPLAY "SVPP9(12): " FUNCTION BYTE-LENGTH (WS-SP12).
2427- DISPLAY "SVPP9(13): " FUNCTION BYTE-LENGTH (WS-SP13).
2428- DISPLAY "SVPP9(14): " FUNCTION BYTE-LENGTH (WS-SP14).
2429- DISPLAY "SVPP9(15): " FUNCTION BYTE-LENGTH (WS-SP15).
2430- DISPLAY "SVPP9(16): " FUNCTION BYTE-LENGTH (WS-SP16).
2431- DISPLAY "SVPP9(17): " FUNCTION BYTE-LENGTH (WS-SP17).
2432- DISPLAY "SVPP9(18): " FUNCTION BYTE-LENGTH (WS-SP18).
2409+ DISPLAY "V9(1): " BYTE-LENGTH (WS-1).
2410+ DISPLAY "V9(2): " BYTE-LENGTH (WS-2).
2411+ DISPLAY "V9(3): " BYTE-LENGTH (WS-3).
2412+ DISPLAY "V9(4): " BYTE-LENGTH (WS-4).
2413+ DISPLAY "V9(5): " BYTE-LENGTH (WS-5).
2414+ DISPLAY "V9(6): " BYTE-LENGTH (WS-6).
2415+ DISPLAY "V9(7): " BYTE-LENGTH (WS-7).
2416+ DISPLAY "V9(8): " BYTE-LENGTH (WS-8).
2417+ DISPLAY "V9(9): " BYTE-LENGTH (WS-9).
2418+ DISPLAY "V9(10): " BYTE-LENGTH (WS-10).
2419+ DISPLAY "V9(11): " BYTE-LENGTH (WS-11).
2420+ DISPLAY "V9(12): " BYTE-LENGTH (WS-12).
2421+ DISPLAY "V9(13): " BYTE-LENGTH (WS-13).
2422+ DISPLAY "V9(14): " BYTE-LENGTH (WS-14).
2423+ DISPLAY "V9(15): " BYTE-LENGTH (WS-15).
2424+ DISPLAY "V9(16): " BYTE-LENGTH (WS-16).
2425+ DISPLAY "V9(17): " BYTE-LENGTH (WS-17).
2426+ DISPLAY "V9(18): " BYTE-LENGTH (WS-18).
2427+
2428+ DISPLAY "VPP9(1): " BYTE-LENGTH (WS-P1).
2429+ DISPLAY "VPP9(2): " BYTE-LENGTH (WS-P2).
2430+ DISPLAY "VPP9(3): " BYTE-LENGTH (WS-P3).
2431+ DISPLAY "VPP9(4): " BYTE-LENGTH (WS-P4).
2432+ DISPLAY "VPP9(5): " BYTE-LENGTH (WS-P5).
2433+ DISPLAY "VPP9(6): " BYTE-LENGTH (WS-P6).
2434+ DISPLAY "VPP9(7): " BYTE-LENGTH (WS-P7).
2435+ DISPLAY "VPP9(8): " BYTE-LENGTH (WS-P8).
2436+ DISPLAY "VPP9(9): " BYTE-LENGTH (WS-P9).
2437+ DISPLAY "VPP9(10): " BYTE-LENGTH (WS-P10).
2438+ DISPLAY "VPP9(11): " BYTE-LENGTH (WS-P11).
2439+ DISPLAY "VPP9(12): " BYTE-LENGTH (WS-P12).
2440+ DISPLAY "VPP9(13): " BYTE-LENGTH (WS-P13).
2441+ DISPLAY "VPP9(14): " BYTE-LENGTH (WS-P14).
2442+ DISPLAY "VPP9(15): " BYTE-LENGTH (WS-P15).
2443+ DISPLAY "VPP9(16): " BYTE-LENGTH (WS-P16).
2444+ DISPLAY "VPP9(17): " BYTE-LENGTH (WS-P17).
2445+ DISPLAY "VPP9(18): " BYTE-LENGTH (WS-P18).
2446+
2447+ DISPLAY "SV9(1): " BYTE-LENGTH (WS-S1).
2448+ DISPLAY "SV9(2): " BYTE-LENGTH (WS-S2).
2449+ DISPLAY "SV9(3): " BYTE-LENGTH (WS-S3).
2450+ DISPLAY "SV9(4): " BYTE-LENGTH (WS-S4).
2451+ DISPLAY "SV9(5): " BYTE-LENGTH (WS-S5).
2452+ DISPLAY "SV9(6): " BYTE-LENGTH (WS-S6).
2453+ DISPLAY "SV9(7): " BYTE-LENGTH (WS-S7).
2454+ DISPLAY "SV9(8): " BYTE-LENGTH (WS-S8).
2455+ DISPLAY "SV9(9): " BYTE-LENGTH (WS-S9).
2456+ DISPLAY "SV9(10): " BYTE-LENGTH (WS-S10).
2457+ DISPLAY "SV9(11): " BYTE-LENGTH (WS-S11).
2458+ DISPLAY "SV9(12): " BYTE-LENGTH (WS-S12).
2459+ DISPLAY "SV9(13): " BYTE-LENGTH (WS-S13).
2460+ DISPLAY "SV9(14): " BYTE-LENGTH (WS-S14).
2461+ DISPLAY "SV9(15): " BYTE-LENGTH (WS-S15).
2462+ DISPLAY "SV9(16): " BYTE-LENGTH (WS-S16).
2463+ DISPLAY "SV9(17): " BYTE-LENGTH (WS-S17).
2464+ DISPLAY "SV9(18): " BYTE-LENGTH (WS-S18).
2465+
2466+ DISPLAY "SVPP9(1): " BYTE-LENGTH (WS-SP1).
2467+ DISPLAY "SVPP9(2): " BYTE-LENGTH (WS-SP2).
2468+ DISPLAY "SVPP9(3): " BYTE-LENGTH (WS-SP3).
2469+ DISPLAY "SVPP9(4): " BYTE-LENGTH (WS-SP4).
2470+ DISPLAY "SVPP9(5): " BYTE-LENGTH (WS-SP5).
2471+ DISPLAY "SVPP9(6): " BYTE-LENGTH (WS-SP6).
2472+ DISPLAY "SVPP9(7): " BYTE-LENGTH (WS-SP7).
2473+ DISPLAY "SVPP9(8): " BYTE-LENGTH (WS-SP8).
2474+ DISPLAY "SVPP9(9): " BYTE-LENGTH (WS-SP9).
2475+ DISPLAY "SVPP9(10): " BYTE-LENGTH (WS-SP10).
2476+ DISPLAY "SVPP9(11): " BYTE-LENGTH (WS-SP11).
2477+ DISPLAY "SVPP9(12): " BYTE-LENGTH (WS-SP12).
2478+ DISPLAY "SVPP9(13): " BYTE-LENGTH (WS-SP13).
2479+ DISPLAY "SVPP9(14): " BYTE-LENGTH (WS-SP14).
2480+ DISPLAY "SVPP9(15): " BYTE-LENGTH (WS-SP15).
2481+ DISPLAY "SVPP9(16): " BYTE-LENGTH (WS-SP16).
2482+ DISPLAY "SVPP9(17): " BYTE-LENGTH (WS-SP17).
2483+ DISPLAY "SVPP9(18): " BYTE-LENGTH (WS-SP18).
24332484
24342485 STOP RUN.
24352486])
24362487
2437- AT_CHECK([$COMPILE -fbinary-size=1-2-4-8 prog.cob], [0], [], [])
2488+ AT_CHECK([$COMPILE -fintrinsics=ALL - fbinary-size=1-2-4-8 prog.cob], [0], [], [])
24382489AT_CHECK([$COBCRUN_DIRECT ./prog], [0],
24392490[V9(1): 1
24402491V9(2): 1
@@ -2510,10 +2561,10 @@ SVPP9(17): 8
25102561SVPP9(18): 8
25112562], [])
25122563
2513- AT_CHECK([$COMPILE -fbinary-size=2-4-8 prog.cob], [0], [], [])
2564+ AT_CHECK([$COMPILE -fintrinsics=ALL - fbinary-size=2-4-8 prog.cob], [0], [], [])
25142565AT_CHECK([$COBCRUN_DIRECT ./prog], [0],
2515- [V9(1): 1
2516- V9(2): 1
2566+ [V9(1): 2
2567+ V9(2): 2
25172568V9(3): 2
25182569V9(4): 2
25192570V9(5): 4
@@ -2530,8 +2581,8 @@ V9(15): 8
25302581V9(16): 8
25312582V9(17): 8
25322583V9(18): 8
2533- VPP9(1): 1
2534- VPP9(2): 1
2584+ VPP9(1): 2
2585+ VPP9(2): 2
25352586VPP9(3): 2
25362587VPP9(4): 2
25372588VPP9(5): 4
@@ -2548,8 +2599,8 @@ VPP9(15): 8
25482599VPP9(16): 8
25492600VPP9(17): 8
25502601VPP9(18): 8
2551- SV9(1): 1
2552- SV9(2): 1
2602+ SV9(1): 2
2603+ SV9(2): 2
25532604SV9(3): 2
25542605SV9(4): 2
25552606SV9(5): 4
@@ -2566,8 +2617,8 @@ SV9(15): 8
25662617SV9(16): 8
25672618SV9(17): 8
25682619SV9(18): 8
2569- SVPP9(1): 1
2570- SVPP9(2): 1
2620+ SVPP9(1): 2
2621+ SVPP9(2): 2
25712622SVPP9(3): 2
25722623SVPP9(4): 2
25732624SVPP9(5): 4
@@ -2586,7 +2637,7 @@ SVPP9(17): 8
25862637SVPP9(18): 8
25872638], [])
25882639
2589- AT_CHECK([$COMPILE -fbinary-size=1--8 prog.cob], [0], [], [])
2640+ AT_CHECK([$COMPILE -fintrinsics=ALL - fbinary-size=1--8 prog.cob], [0], [], [])
25902641AT_CHECK([$COBCRUN_DIRECT ./prog], [0],
25912642[V9(1): 1
25922643V9(2): 1
0 commit comments