Repository navigation
IBM i Execution Results
Generated by the IBM i conformance workflow's
executemode (scripts/execution-wiki.py) after each run. Do not edit this page by hand; it is overwritten. Why each program differs comes fromtests/ibmi-execution-notes.txt: edit it there.
Every test program that runs on its own is compiled with IBM's ILE RPG compiler on a real IBM i and run there, and what it displays is compared line by line with what the same program displays compiled with rpgc. IBM i Conformance Results shows whether IBM compiles each program; this page shows whether it then does the same thing. rpgc's expected outputs are written by rpgc itself, so IBM i is the only independent check of what the programs do.
233 of 234 programs that should run the same on IBM i as with rpgc do: they display exactly the same output. Trailing blanks are ignored (DSPLY does not show them); nothing else is.
What this rating means: it counts the programs that should behave the same on both platforms. A program that differs by design — because the system it runs on differs (a pointer is 16 bytes on IBM i, a hex literal is EBCDIC there, a parser rpgc builds in is a separate program on IBM i) — is expected to differ, and is not counted against the rating. The reason for each is under Details.
| Programs | |
|---|---|
| Should run the same, and do | 233 |
| Should run the same, and do not |
1 |
| Differ by design (the platform) | 14 |
| Page generated | 2026-10-27 19:12 UTC |
| Last run on IBM i | 2026-10-27 |
| Source | 518dead |
| Workflow run | 40566176630 |
| Same on IBM i | Differs | Total | |
|---|---|---|---|
| Should run the same | 233 | 1 | 234 |
| Differs by design | 0 | 14 | 14 |
| Total | 233 | 15 | 248 |
247 of 248 programs behave as expected on IBM i. The other 1 are marked
42 run tests are not run on IBM i; see Not run.
| Cause | Programs |
|---|---|
| The test relies on something IBM i does not do | 1 |
| Differs by design, following from the platform | 14 |
Match? whether the program should display the same on both. IBM i, rpgc: how it ran compiled by each — ✅ to the end, ❌ it ended in an error, ⏱ it did not finish. Same: whether it displayed the same on both;
| Program | Match? | IBM i | rpgc | Same | Details | Run |
|---|---|---|---|---|---|---|
| test01_hello | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test02_arithmetic | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test03_types | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test04_bifs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test05_if | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test06_loops | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test07_select | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test08_procedures | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test09_datastructs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test10_bifs_expanded | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test12_monitor | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test13_subroutines | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test14_indicators | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test15_dou | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test16_copy | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test17_constants | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test18_datetime | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test19_math_bifs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test20_memory_bifs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test21_parms | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test22_status_error | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test23_reset_clear | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test24_max_min | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test25_dclf | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test26_pointers | No | ✅ | ✅ | ❌ | why | 2026-10-27 |
| test27_arrays | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test28_conditional | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test29_dclsubf_parm | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test30_like | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test31_lookup_sorta | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test32_editc_editw | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test33_replace | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test34_check | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test35_evalcorr | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test36_ds_params | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test37_inzsr | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test38_ctlopt | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test39_figconst | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test40_evalr_leavesr | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test41_string_bifs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test42_onexit | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test43_static | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test44_alloc | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test45_array_bifs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test46_options | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test47_test | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test50_numeric_bifs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test51_string_bifs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test52_array_bifs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test53_datetime_bifs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test54_memory_bifs | No | ✅ | ✅ | ❌ | why | 2026-10-27 |
| test55_figconst | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test56_ctlopt_main | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test57_datfmt | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test58_foreach_in | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test59_passed_omitted | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test60_datatypes | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test62_overlay_pos | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test64_omit | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test65_actgrp | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test66_pssr | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test67_pssr_error | Yes | ❌ | ❌ | ✅ | 2026-10-27 | |
| test68_bitwise_power | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test69_scanr | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test70_editflt_unsh | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test71_enum_boolean | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test72_dim_var | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test73_date_formats | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test74_concat | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test75_tlookup_elem | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test76_ds_dim_var | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test87 | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test88 | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test89 | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test90_psds_basic | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test91_psds_monitor | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test92_data_area_lda | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test93_data_area_named | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test94_extender_h | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test95_extender_e | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test96_da_status401 | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test99_data_into | No | ❌ | ✅ | ❌ | why | 2026-10-27 |
| test100_data_gen | No | ❌ | ✅ | ❌ | why | 2026-10-27 |
| test101_user | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test102_snd_msg | No | ✅ | ✅ | ❌ | why | 2026-10-27 |
| test110_overload | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test111_elem_alloc | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test112_data_into_csv | No | ❌ | ✅ | ❌ | why | 2026-10-27 |
| test113_data_gen_csv | No | ❌ | ✅ | ❌ | why | 2026-10-27 |
| test114_data_into_json_parser | No | ❌ | ✅ | ❌ | why | 2026-10-27 |
| test115_dump | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test116_fixed_hd | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test117_fixed_free_hello | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test120_fixed_varchar | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test121_fixed_varchar_subfield | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test123_fixed_ds_dim | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test124_fixed_overlay | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test125_fixed_cspec_if | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test126_fixed_cspec_dow_dou | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test127_fixed_cspec_for | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test128_fixed_cspec_select | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test129_fixed_cspec_subr | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test130_fixed_cspec_eval_callp | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test131_fixed_cspec_clear_sorta | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test132_fixed_cspec_monitor | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test133_fixed_cspec_continuation | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test134_fixed_cspec_mixed_free | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test139_fixed_copy_dspec | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test140_fixed_copy_cspec | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test141_fixed_copy_nested | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test142_fixed_copy_in_free | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test148_fixed_cspec_goto_tag | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test149_fixed_cspec_goto_in_begsr | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test150_fixed_cspec_arith | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test151_fixed_cspec_zadd_zsub | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test154_fixed_ispec_single | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test155_fixed_ispec_multi | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test156_fixed_ispec_field_ind | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test157_fixed_ispec_update | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test158_fixed_ospec_editcode | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test159_fixed_ispec_zone | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test161_fixed_subf_dim | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test162_fixed_subf_like | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test163_subfield_like_dim | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test164_fixed_cspec_cond_ind | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test167_fixed_cspec_cond_anor | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test170_fixed_cspec_move | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test175_fixed_cspec_call_parm | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test177_fixed_cspec_call_var | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test180_fixed_cspec_modern_opcodes | No | ❌ | ✅ | ❌ | why | 2026-10-27 |
| test182_fixed_cspec_cas_cab | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test186_fixed_cspec_comp | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test191_fixed_cspec_move_num | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test192_fixed_cspec_move_char_to_num | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test193_fixed_cspec_move_num_to_char | No | ✅ | ✅ | ❌ | why | 2026-10-27 |
| test196_fixed_cspec_move_data_exc | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test197_fixed_cspec_plist | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test198_fixed_cspec_parm_f1f2 | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test204_fixed_cspec_entry_caller | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test205_fixed_cspec_entry_f2 | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test208_fixed_cspec_move_date | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test209_fixed_cspec_move_dt_nosep | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test210_fixed_cspec_move_timestamp | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test211_fixed_cspec_move_dt_align | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test212_fixed_cspec_move_dt_err | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test215_prog_ar_aging | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test216_prog_gl_post | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test217_prog_inv_reorder | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test218_prog_payroll | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test220_overlay_alias | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test221_ospec_decimals | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test222_half_adjust | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test223_editc_decimals | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test224_fixed_dspec_inz | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test225_decimal_division | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test226_subfield_inz | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test227_proc_globals | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test228_exsr_order | Yes | ⏱ | ✅ | ❌ |
why | 2026-10-27 |
| test229_char_compare | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test230_ds_subfield_attrs | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test231_assign_fit | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test232_fixed_conditionals | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test235_copy_eof | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test236_assign_fit_paths | No | ❌ | ✅ | ❌ | why | 2026-10-27 |
| test239_numeric_overflow | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test240_fixed_arith_trunc | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test242_hex_nul | No | ✅ | ✅ | ❌ | why | 2026-10-27 |
| test243_array_init | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test244_pi_star_n | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test245_bare_call | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test246_const_params | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test248_proc_no_pi | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test249_ds_subfield_types | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test250_dcl_s_keywords | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test251_ds_template | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test252_nested_target | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test253_unqualified_subfields | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test254_fixed_unqualified_ds | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test259_not_precedence | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test267_compound_assign | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test268_inlr_indicator | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test269_fixed_inlr | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test282_ctdata | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test283_fixed_ctdata | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test302_ds_blank_inz | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test303_edit_codes | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test305_on_error_codes | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test306_keyword_names | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test310_pssr_proc | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test311_subst_range | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test312_snd_msg_escape | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test313_dump_debug | No | ✅ | ✅ | ❌ | why | 2026-10-27 |
| test314_dump_always | No | ✅ | ✅ | ❌ | why | 2026-10-27 |
| test315_ds_position_overlap | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test316_test_subfield | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test317_numeric_bif_char | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test318_fixed_inz_sys | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test319_begsr_in_proc | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test320_ds_as_char | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test321_ds_unnamed | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test322_fixed_ds_unnamed | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test323_likeds_overlay | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test336_exit_status | Yes | ❌ | ❌ | ✅ | 2026-10-27 | |
| test337_exit_status_set | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test338_extpgm_types | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test339_call_errors | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test340_call_c_program | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test341_int_sizes | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test343_fixed_int20 | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test344_ind_inz | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test345_fixed_ind_inz | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test346_timestamp_duration | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test347_ind_as_char | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test348_date_month_end | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test361_in_array | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test368_elseif_directive | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test374_proc_return_ind | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test378_local_hides_global | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test379_subst_target | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test380_fixed_subst_target | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test384_fixed_starts_with_directive | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test385_fixed_starts_with_free | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test389_omit_args | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test396_scanrpl_portion | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test398_scanrpl_empty_scan | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test399_options_trim | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test408_ds_column | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test414_proc_forward | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test423_bit_chars | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test426_auto_next | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test431_select_when_is | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test439_fixed_cspec_move_dt_unmonitored | Yes | ❌ | ❌ | ✅ | 2026-10-27 | |
| test440_fixed_cspec_move_bad_digit | Yes | ❌ | ❌ | ✅ | 2026-10-27 | |
| test441_fixed_ispec_rid_persist | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test442_like_subfield | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test445_overload_with_prototypes | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test447_likeds_dim_subfield | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test448_fixed_dspec_likeds_dim | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test453_cycle_repeat | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test454_fixed_seton_setoff | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test455_in_array | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test456_based_ind_ds | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test457_based_ds_alloc | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test458_fixed_based_ind_ds | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test459_based_dim_likeds | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test460_based_bare_dim_nested | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test461_fixed_based_dim_overlay | Yes | ✅ | ✅ | ✅ | 2026-10-27 | |
| test462_unqual_dim_subfield | Yes | ✅ | ✅ | ✅ | 2026-10-27 |
For each program that differs, or is expected to: why, IBM's error if the program ended in one, and the output side by side — lines only rpgc displays are marked -, lines only IBM i displays +.
test26_pointers.rpgle — should differ by design; it did.
Differs by design, following from the platform: a pointer is 16 bytes on IBM i and 8 where rpgc runs, so %SIZE of one differs
--- rpgc
+++ IBM i
@@ -3,3 +3,3 @@
ptr2 copied
String pointer ok
-8
+16test54_memory_bifs.rpgle — should differ by design; it did.
Differs by design, following from the platform: the program's name: RPGCXRUN is the object the execution harness creates on IBM i; rpgc's program is main
--- rpgc
+++ IBM i
@@ -1,2 +1,2 @@
-main
+RPGCXRUN
GETMYNAMEtest99_data_into.rpgle — should differ by design; it did.
Differs by design, following from the platform: DATA-INTO names a parser program; the parsers the tests use are built into rpgc and do not exist on IBM i (RNX0355)
IBM i: CEE9901 Application error. RNX0355 unmonitored by RPGCXRUN at statement 0000000032, instruction X'0000'..
--- rpgc
+++ IBM i
@@ -1,10 +0,0 @@
-Name: Alice
-Age: 30
-City: Boston
-ID: 42
-Price: 19.99
-Qty: 100
-Label: Widget
-X: 7
-Y: 0
-Note: []test100_data_gen.rpgle — should differ by design; it did.
Differs by design, following from the platform: DATA-GEN names a generator program; the ones the tests use are built into rpgc and do not exist on IBM i (RNX0355)
IBM i: CEE9901 Application error. RNX0355 unmonitored by RPGCXRUN at statement 0000000034, instruction X'0000'..
--- rpgc
+++ IBM i
@@ -1,3 +0,0 @@
-{"NAME":"Bob","AGE":25,"CITY":"Seattle"}
-{"ID":99,"PRICE":4.500000,"ACTIVE":1}
-{"TEXT":"Hello \"world\"","CODE":42}test102_snd_msg.rpgle — should differ by design; it did.
Differs by design, following from the platform: *INFO, *DIAG and *COMP go to the job log on IBM i; rpgc has none and prints them (*ESCAPE matches: test312)
--- rpgc
+++ IBM i
@@ -1,5 +1 @@
-INFO: Starting process
-DIAG: Diagnostic: value out of range
-COMP: Processing complete
-INFO: Default info message
Donetest112_data_into_csv.rpgle — should differ by design; it did.
Differs by design, following from the platform: DATA-INTO names a parser program; the parsers the tests use are built into rpgc and do not exist on IBM i (RNX0355)
IBM i: CEE9901 Application error. RNX0355 unmonitored by RPGCXRUN at statement 0000000033, instruction X'0000'..
--- rpgc
+++ IBM i
@@ -1,9 +0,0 @@
-Name: Alice
-Age: 30
-City: Boston
-Count: 2
-Bob / Engineering
-Carol / Marketing
-X: 7
-Y: 0
-Note: []test113_data_gen_csv.rpgle — should differ by design; it did.
Differs by design, following from the platform: DATA-GEN names a generator program; the ones the tests use are built into rpgc and do not exist on IBM i (RNX0355)
IBM i: CEE9901 Application error. RNX0355 unmonitored by RPGCXRUN at statement 0000000030, instruction X'0000'..
--- rpgc
+++ IBM i
@@ -1,5 +0,0 @@
-NAME,AGE,CITY
-Alice,30,Boston
-LABEL,PRICE
-"Gadget, Pro",9.990000
-Alice,30,Bostontest114_data_into_json_parser.rpgle — should differ by design; it did.
Differs by design, following from the platform: DATA-INTO names a parser program; the parsers the tests use are built into rpgc and do not exist on IBM i (RNX0355)
IBM i: CEE9901 Application error. RNX0355 unmonitored by RPGCXRUN at statement 0000000020, instruction X'0000'..
--- rpgc
+++ IBM i
@@ -1,4 +0,0 @@
-Name: Diana
-Age: 28
-City: Austin
-{"NAME":"Eve","AGE":35,"CITY":"Denver"}test180_fixed_cspec_modern_opcodes.rpgle — should differ by design; it did.
Differs by design, following from the platform: DATA-INTO names a parser program; the parsers the tests use are built into rpgc and do not exist on IBM i (RNX0355)
IBM i: CEE9901 Application error. RNX0355 unmonitored by RPGCXRUN at statement 0000000008, instruction X'0000'..
--- rpgc
+++ IBM i
@@ -1,3 +0,0 @@
-Name: Alice
-Age: 30
-INFO: from fixed C-spectest193_fixed_cspec_move_num_to_char.rpgle — should differ by design; it did.
Differs by design, following from the platform: a negative zero digit is the byte x'D0', which is '}' in CCSID 37, as rpgc shows it, and 'u' with an umlaut in CCSID 273, PUB400's job CCSID
--- rpgc
+++ IBM i
@@ -5,4 +5,4 @@
[ZZZZZ105]
[ZZZ1234N]
-[1234}ZZZ]
+[1234üZZZ]
[ZZ210991]test228_exsr_order.rpgle — should run the same; it did not.
The test relies on something IBM i does not do: its subroutines call each other recursively; an IBM i subroutine has one return point, which the recursion overwrites, so the program loops
IBM i: test228_exsr_order.rpgle after 60s, ending job 336168/QUSER/QP0ZSPWT
--- rpgc
+++ IBM i
@@ -1 +0,0 @@
-RESULT:TRAIL=DLPQPQPtest236_assign_fit_paths.rpgle — should differ by design; it did.
Differs by design, following from the platform: its DATA-INTO names rpgc's built-in JSON parser, which does not exist on IBM i (RNX0355); everything before it matches
IBM i: CEE9901 Application error. RNX0355 unmonitored by RPGCXRUN at statement 0000000050, instruction X'0000'..
--- rpgc
+++ IBM i
@@ -3,3 +3,2 @@
RESULT:RETDEC=1.23 1.23
RESULT:XML=[A1 ][LONG] 3.14
-RESULT:JSON=[B2 ] 2.99test242_hex_nul.rpgle — should differ by design; it did.
Differs by design, following from the platform: a hex literal is bytes in the job's character set: x'C1C2' is 'AB' in EBCDIC, not in ASCII
--- rpgc
+++ IBM i
@@ -1,4 +1,4 @@
RESULT:MID=3 3
-RESULT:LEAD=4 AB
+RESULT:LEAD=4 â
RESULT:FIRST=2 Z
RESULT:ALLNUL=4 10test313_dump_debug.rpgle — should differ by design; it did.
Differs by design, following from the platform: IBM i writes the dump to a spooled file (QPPGMDMP); rpgc has none and prints it
--- rpgc
+++ IBM i
@@ -1,4 +1 @@
-** DUMP **
- COUNT = 5
- NAME = 'HELLO '
AFTER DUMPtest314_dump_always.rpgle — should differ by design; it did.
Differs by design, following from the platform: IBM i writes the dump to a spooled file (QPPGMDMP); rpgc has none and prints it
--- rpgc
+++ IBM i
@@ -1,3 +1 @@
-** DUMP **
- COUNT = 7
AFTER DUMPRun tests the harness does not run on IBM i, and why.
| Program | Why |
|---|---|
| test332_extfile_usropn | IBM i does not compile it |
| test334_free_dclf_disk_len | IBM i does not compile it |
| test350_block_comments | IBM i does not compile it |
| test351_fixed_block_comments | IBM i does not compile it |
| test354_dcl_s_names | IBM i does not compile it |
| test355_fstring | IBM i does not compile it |
| test358_nested_proc | IBM i does not compile it |
| test360_not_in | IBM i does not compile it |
| test362_regex | IBM i does not compile it |
| test364_subst_nolenchk | IBM i does not compile it |
| test365_fixed_subst_nolenchk | IBM i does not compile it |
| test366_char_nozero | IBM i does not compile it |
| test369_if_directive_and_or | IBM i does not compile it |
| test370_fixed_if_and_or | IBM i does not compile it |
| test372_true_false | IBM i does not compile it |
| test373_fixed_true_false | IBM i does not compile it |
| test386_if_bif | IBM i does not compile it |
| test390_keyword_args | IBM i does not compile it |
| test397_scanrpl_first_last | IBM i does not compile it |
| test400_options_upper_lower | IBM i does not compile it |
| test402_dynamic_char | IBM i does not compile it |
| test405_inz_list | IBM i does not compile it |
| test409_xfoot_ds_column | IBM i does not compile it |
| test411_compcorr | IBM i does not compile it |
| test415_deprecated | IBM i does not compile it |
| test416_lookup_kds | IBM i does not compile it |
| test418_repeat | IBM i does not compile it |
| test420_param_default | IBM i does not compile it |
| test422_progname | IBM i does not compile it |
| test424_binary_literal | IBM i does not compile it |
| test427_foreach_index | IBM i does not compile it |
| test429_compare_proc | IBM i does not compile it |
| test432_when_is_not | IBM i does not compile it |
| test434_empty | IBM i does not compile it |
| test435_hex_bifs | IBM i does not compile it |
| test436_message_directive | IBM i does not compile it |
| test438_fixed_message_directive | IBM i does not compile it |
| test443_like_nested_subfield | IBM i does not compile it |
| test446_overload_ind | IBM i does not compile it |
| test49_extproc | links a second object; not run standalone |
| test61_no_free | IBM i does not compile it |
| test85_getenv | IBM i does not compile it |
- Installation
- Quick Start
- CLI Reference
- Language Basics
- Data Types
- Variables and Constants
- Data Structures
- Arrays
- Varying-Dimension Arrays
- Control Flow
- Procedures
- Procedure Overloading
- Built-In Functions
- Error Handling
- Operation Extenders
- Enumerations
- Program Status Data Structure
- Data Areas
- SND-MSG
- Embedded SQL
- Record-Level Access
- Display Files (WORKSTN)
- Program-Described Files (I-Specs and O-Specs)
- DATA-INTO and DATA-GEN
- XML-INTO
- Fixed-Format Source
- Database Connections
- Multi-Module Programs
- Environment Variables
- Testing
- Complete Example: Employee Report
- IBM i Conformance Results
- IBM i Execution Results