Generated by scripts/conformance-diff.py from ibmi-conformance-transcript.txt and ibmi-conformance-baseline.json.
| rpgc accepts | rpgc rejects | |
|---|---|---|
| IBM accepts | 271 | 4 |
| IBM rejects | 43 | 131 |
Agreement: 402 of 449 (90%). A shared rejection counts as agreement: it is a negative test working as designed.
Of the 47 disagreements, 47 are known and listed in tests/ibmi-expected.txt (see the end). None is unexplained.
None.
None.
Listed in tests/ibmi-expected.txt: OpenRPG extensions IBM's compiler rejects, and valid RPG that rpgc refuses on purpose. Not work items.
test105_rla_write_upd_del.rpgle(IBM rejects): database record formats: rpgc uses the file name (RNF5063)test146_fixed_cspec_write_upd_del.rpgle(IBM rejects): database record formats: rpgc uses the file name (RNF5063)test159_fixed_ispec_err_zone.rpgle(rpgc rejects): valid RPG; rpgc does not support I-spec record-identification zone codestest195_fixed_cspec_err_move_declit.rpgle(rpgc rejects): valid RPG; rpgc refuses MOVE of a decimal literaltest205_fixed_cspec_err_entry_f2.rpgle(rpgc rejects): valid RPG; rpgc does not support Factor 2 on an *ENTRY PARMtest213_fixed_cspec_err_move_jobrun.rpgle(rpgc rejects): valid RPG; rpgc has no job attributes for *JOBRUNtest219_prog_order_release.sqlrpgle(IBM rejects): database record formats: rpgc uses the file name (RNF5063)test238_rla_field_fit.rpgle(IBM rejects): database record formats: rpgc uses the file name (RNF5063)test332_extfile_usropn.rpgle(IBM rejects): OpenRPG extension: EXTFILE names a host file path; IBM i wants LIB/FILE, 10 characters each (RNF0652)test334_free_dclf_disk_len.rpgle(IBM rejects): OpenRPG extension: EXTFILE names a host file path; IBM i wants LIB/FILE, 10 characters each (RNF0652)test350_block_comments.rpgle(IBM rejects): OpenRPG extension: block comments; IBM i has only //test351_fixed_block_comments.rpgle(IBM rejects): OpenRPG extension: block comments; IBM i has only //test354_dcl_s_names.rpgle(IBM rejects): OpenRPG extension: several names in one DCL-S; IBM i takes onetest355_fstring.rpgle(IBM rejects): OpenRPG extension: interpolated stringstest358_nested_proc.rpgle(IBM rejects): OpenRPG extension: procedures inside procedurestest360_not_in.rpgle(IBM rejects): OpenRPG extension: NOT INtest362_regex.rpgle(IBM rejects): OpenRPG extension: regular-expression BIFstest364_subst_nolenchk.rpgle(IBM rejects): OpenRPG extension: OPTION(*NOLENCHK)test365_fixed_subst_nolenchk.rpgle(IBM rejects): OpenRPG extension: OPTION(*NOLENCHK)test366_char_nozero.rpgle(IBM rejects): OpenRPG extension: %CHAR(n : *NOZEROSUPPRESS)test369_if_directive_and_or.rpgle(IBM rejects): OpenRPG extension: AND/OR/NOT in /IFtest370_fixed_if_and_or.rpgle(IBM rejects): OpenRPG extension: AND/OR/NOT in /IFtest372_true_false.rpgle(IBM rejects): OpenRPG extension: *TRUE and *FALSEtest373_fixed_true_false.rpgle(IBM rejects): OpenRPG extension: *TRUE and *FALSEtest386_if_bif.rpgle(IBM rejects): OpenRPG extension: %IFtest390_keyword_args.rpgle(IBM rejects): OpenRPG extension: keyword argumentstest397_scanrpl_first_last.rpgle(IBM rejects): OpenRPG extension: %SCANRPL *FIRST and *LASTtest400_options_upper_lower.rpgle(IBM rejects): OpenRPG extension: OPTIONS(*UPPER) and OPTIONS(*LOWER)test402_dynamic_char.rpgle(IBM rejects): OpenRPG extension: CHAR with no lengthtest405_inz_list.rpgle(IBM rejects): OpenRPG extension: INZ(%LIST) on an arraytest409_xfoot_ds_column.rpgle(IBM rejects): OpenRPG extension: %XFOOT, %MAXARR and IN over ds(*).subfieldtest411_compcorr.rpgle(IBM rejects): OpenRPG extension: %COMPCORRtest415_deprecated.rpgle(IBM rejects): OpenRPG extension: DEPRECATEDtest416_lookup_kds.rpgle(IBM rejects): OpenRPG extension: %LOOKUP(%KDS(key) : ds(*))test418_repeat.rpgle(IBM rejects): OpenRPG extension: %REPEATtest420_param_default.rpgle(IBM rejects): OpenRPG extension: DEFAULT on a parametertest422_progname.rpgle(IBM rejects): OpenRPG extension: %PROGNAMEtest424_binary_literal.rpgle(IBM rejects): OpenRPG extension: binary literalstest427_foreach_index.rpgle(IBM rejects): OpenRPG extension: FOR-EACH INDEXtest429_compare_proc.rpgle(IBM rejects): OpenRPG extension: a comparison procedure for SORTA and %LOOKUPtest432_when_is_not.rpgle(IBM rejects): OpenRPG extension: WHEN-IS-NOT and WHEN-NOT-INtest434_empty.rpgle(IBM rejects): OpenRPG extension: *EMPTYtest435_hex_bifs.rpgle(IBM rejects): OpenRPG extension: %TOHEX, %HEX and %FROMHEXtest436_message_directive.rpgle(IBM rejects): OpenRPG extension: /MESSAGEtest438_fixed_message_directive.rpgle(IBM rejects): OpenRPG extension: /MESSAGEtest61_no_free.rpgle(IBM rejects): OpenRPG extension: free-form without **FREE; IBM i requires the directivetest85_getenv.rpgle(IBM rejects): OpenRPG extension: %GETENV has no IBM i equivalent (IBM: RNF0604, not a built-in)