├── .gitattributes ├── .github └── workflows │ └── test.yml ├── .gitignore ├── LICENSE ├── README.md ├── core ├── README.md ├── ar │ ├── 0-cat │ │ ├── README.md │ │ ├── ar.oo │ │ └── build.sh │ ├── 1-unix │ │ └── README.md │ └── README.md ├── as │ ├── 0-basic │ │ ├── README.md │ │ ├── as.oo │ │ └── build.sh │ ├── 1-compound │ │ ├── README.md │ │ ├── build.sh │ │ └── src │ │ │ ├── emit.os │ │ │ ├── main.os │ │ │ ├── op_arithmetic.os │ │ │ ├── op_control.os │ │ │ ├── op_logic.os │ │ │ ├── op_memory.os │ │ │ ├── opcodes.os │ │ │ └── parse.os │ ├── 2-full │ │ ├── README.md │ │ ├── build-ccargs │ │ ├── build.sh │ │ ├── rebuild-ccargs │ │ ├── rebuild.sh │ │ └── src │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── emit.c │ │ │ ├── emit.h │ │ │ ├── main.c │ │ │ ├── opcodes.c │ │ │ ├── opcodes.h │ │ │ ├── parse.c │ │ │ └── parse.h │ └── README.md ├── build.sh ├── cc │ ├── README.md │ ├── build.sh │ ├── cc.c │ └── rebuild.sh ├── cci │ ├── 0-omc │ │ ├── README.md │ │ ├── build.sh │ │ └── src │ │ │ ├── common.os │ │ │ ├── compile.os │ │ │ ├── emit.os │ │ │ ├── globals.os │ │ │ ├── lexer.os │ │ │ ├── locals.os │ │ │ ├── main.os │ │ │ ├── parse.os │ │ │ └── type.os │ ├── 1-opc │ │ ├── README.md │ │ ├── build-ccargs │ │ ├── build.sh │ │ └── src │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── compile.c │ │ │ ├── compile.h │ │ │ ├── emit.c │ │ │ ├── emit.h │ │ │ ├── global.c │ │ │ ├── global.h │ │ │ ├── lexer.c │ │ │ ├── lexer.h │ │ │ ├── locals.c │ │ │ ├── locals.h │ │ │ ├── main.c │ │ │ ├── member.c │ │ │ ├── member.h │ │ │ ├── parse-decl.c │ │ │ ├── parse-decl.h │ │ │ ├── parse-expr.c │ │ │ ├── parse-expr.h │ │ │ ├── parse-stmt.c │ │ │ ├── parse-stmt.h │ │ │ ├── record.c │ │ │ ├── record.h │ │ │ ├── type.c │ │ │ ├── type.h │ │ │ ├── types.c │ │ │ └── types.h │ ├── 2-full │ │ ├── README.md │ │ ├── build-ccargs │ │ ├── build.sh │ │ ├── rebuild-ccargs │ │ ├── rebuild.sh │ │ └── src │ │ │ ├── arithmetic.c │ │ │ ├── arithmetic.h │ │ │ ├── block.c │ │ │ ├── block.h │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── emit.c │ │ │ ├── emit.h │ │ │ ├── enum.c │ │ │ ├── enum.h │ │ │ ├── function.c │ │ │ ├── function.h │ │ │ ├── generate.c │ │ │ ├── generate.h │ │ │ ├── generate_ops.c │ │ │ ├── generate_ops.h │ │ │ ├── generate_stmt.c │ │ │ ├── generate_stmt.h │ │ │ ├── instruction.c │ │ │ ├── instruction.h │ │ │ ├── lexer.c │ │ │ ├── lexer.h │ │ │ ├── main.c │ │ │ ├── node.c │ │ │ ├── node.h │ │ │ ├── optimize_asm.c │ │ │ ├── optimize_asm.h │ │ │ ├── optimize_tree.c │ │ │ ├── optimize_tree.h │ │ │ ├── options.c │ │ │ ├── options.h │ │ │ ├── parse_decl.c │ │ │ ├── parse_decl.h │ │ │ ├── parse_expr.c │ │ │ ├── parse_expr.h │ │ │ ├── parse_init.c │ │ │ ├── parse_init.h │ │ │ ├── parse_stmt.c │ │ │ ├── parse_stmt.h │ │ │ ├── record.c │ │ │ ├── record.h │ │ │ ├── scope.c │ │ │ ├── scope.h │ │ │ ├── strings.c │ │ │ ├── strings.h │ │ │ ├── symbol.c │ │ │ ├── symbol.h │ │ │ ├── token.c │ │ │ ├── token.h │ │ │ ├── type.c │ │ │ └── type.h │ └── README.md ├── cpp │ ├── 0-strip │ │ ├── README.md │ │ ├── build.sh │ │ └── cpp.os │ ├── 1-omc │ │ ├── README.md │ │ ├── build.sh │ │ └── cpp.c │ ├── 2-full │ │ ├── README.md │ │ ├── build-ccargs │ │ ├── build.sh │ │ ├── rebuild-ccargs │ │ ├── rebuild.sh │ │ └── src │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── directive.c │ │ │ ├── directive.h │ │ │ ├── emit.c │ │ │ ├── emit.h │ │ │ ├── expression.c │ │ │ ├── expression.h │ │ │ ├── file.c │ │ │ ├── file.h │ │ │ ├── hideset.c │ │ │ ├── hideset.h │ │ │ ├── lexer.c │ │ │ ├── lexer.h │ │ │ ├── macro.c │ │ │ ├── macro.h │ │ │ ├── main.c │ │ │ ├── options.c │ │ │ ├── options.h │ │ │ ├── preprocess.c │ │ │ ├── preprocess.h │ │ │ ├── stream.c │ │ │ ├── stream.h │ │ │ ├── strings.c │ │ │ ├── strings.h │ │ │ ├── token.c │ │ │ └── token.h │ └── README.md ├── hex │ ├── 0-onramp │ │ ├── README.md │ │ └── hex.oe.ohx │ └── 1-c89 │ │ ├── README.md │ │ ├── build.sh │ │ └── hex.c ├── ld │ ├── 0-global │ │ ├── README.md │ │ ├── build.sh │ │ └── ld.oe.ohx │ ├── 1-omc │ │ ├── README.md │ │ ├── build.sh │ │ └── ld.c │ ├── 2-full │ │ ├── README.md │ │ ├── build-ccargs │ │ ├── build.sh │ │ ├── rebuild-ccargs │ │ ├── rebuild.sh │ │ └── src │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── emit.c │ │ │ ├── emit.h │ │ │ ├── label.c │ │ │ ├── label.h │ │ │ ├── main.c │ │ │ ├── parse.c │ │ │ ├── parse.h │ │ │ ├── symbol.c │ │ │ └── symbol.h │ └── README.md ├── libc │ ├── 0-oo │ │ ├── README.md │ │ ├── build.sh │ │ └── src │ │ │ ├── ctype.oo │ │ │ ├── environ.oo │ │ │ ├── errno.oo │ │ │ ├── malloc.oo │ │ │ ├── malloc_util.oo │ │ │ ├── spawn.oo │ │ │ ├── start.oo │ │ │ ├── stdio.oo │ │ │ └── string.oo │ ├── 1-omc │ │ ├── README.md │ │ ├── build.sh │ │ └── src │ │ │ ├── malloc.c │ │ │ ├── strrchr.c │ │ │ └── strtol.c │ ├── 2-opc │ │ ├── README.md │ │ ├── build-ccargs │ │ ├── build.sh │ │ └── src │ │ │ ├── assert.c │ │ │ ├── ctype.c │ │ │ ├── environ.c │ │ │ ├── file.c │ │ │ ├── format.c │ │ │ ├── io.c │ │ │ ├── llong.c │ │ │ ├── multibyte.c │ │ │ ├── setjmp.os │ │ │ ├── start.os │ │ │ ├── stdbit.c │ │ │ ├── stdlib.c │ │ │ ├── string.c │ │ │ ├── strings.c │ │ │ ├── stubs.c │ │ │ ├── syscalls.os │ │ │ └── system.c │ ├── 3-full │ │ ├── README.md │ │ ├── build-ccargs │ │ ├── build.sh │ │ ├── rebuild-ccargs │ │ ├── rebuild.sh │ │ └── src │ │ │ ├── atexit.c │ │ │ ├── bsearch.c │ │ │ ├── malloc.c │ │ │ ├── qsort.c │ │ │ ├── rand.c │ │ │ ├── signal.c │ │ │ ├── stdbit_llong.c │ │ │ ├── stdlib_3.c │ │ │ └── time.c │ ├── README.md │ └── common │ │ ├── README.md │ │ ├── build.sh │ │ ├── include │ │ ├── __onramp │ │ │ ├── __arithmetic.h │ │ │ ├── __bool.h │ │ │ ├── __mode_t.h │ │ │ ├── __null.h │ │ │ ├── __pit.h │ │ │ ├── __predef.h │ │ │ ├── __size_t.h │ │ │ ├── __useconds_t.h │ │ │ ├── __va_list.h │ │ │ ├── __wchar_limits.h │ │ │ ├── __wchar_t.h │ │ │ └── __wint_t.h │ │ ├── assert.h │ │ ├── ctype.h │ │ ├── errno.h │ │ ├── fcntl.h │ │ ├── features.h │ │ ├── inttypes.h │ │ ├── iso646.h │ │ ├── limits.h │ │ ├── malloc.h │ │ ├── math.h │ │ ├── setjmp.h │ │ ├── signal.h │ │ ├── spawn.h │ │ ├── stdalign.h │ │ ├── stdarg.h │ │ ├── stdbit.h │ │ ├── stdbool.h │ │ ├── stdckdint.h │ │ ├── stddef.h │ │ ├── stdint.h │ │ ├── stdio.h │ │ ├── stdlib.h │ │ ├── stdnoreturn.h │ │ ├── string.h │ │ ├── strings.h │ │ ├── sys │ │ │ ├── stat.h │ │ │ ├── time.h │ │ │ └── types.h │ │ ├── termios.h │ │ ├── time.h │ │ ├── uchar.h │ │ ├── unistd.h │ │ ├── wchar.h │ │ └── wctype.h │ │ └── src │ │ ├── internal.h │ │ └── syscalls.h ├── libo │ ├── 0-oo │ │ ├── README.md │ │ ├── build.sh │ │ ├── include │ │ │ ├── libo-error.h │ │ │ └── libo-util.h │ │ └── src │ │ │ ├── libo-error.oo │ │ │ └── libo-util.oo │ ├── 1-opc │ │ ├── README.md │ │ ├── build-ccargs │ │ ├── build.sh │ │ ├── include │ │ │ ├── libo-error.h │ │ │ ├── libo-reader.h │ │ │ ├── libo-string.h │ │ │ ├── libo-table.h │ │ │ ├── libo-unicode.h │ │ │ ├── libo-util.h │ │ │ └── libo-vector.h │ │ ├── rebuild-ccargs │ │ ├── rebuild.sh │ │ └── src │ │ │ ├── libo-data.os │ │ │ ├── libo-error.c │ │ │ ├── libo-reader.c │ │ │ ├── libo-string.c │ │ │ ├── libo-table.c │ │ │ ├── libo-unicode.c │ │ │ ├── libo-util.c │ │ │ └── libo-vector.c │ └── README.md ├── os │ ├── 0-minfs │ │ └── README.md │ ├── 1-full │ │ └── README.md │ └── README.md └── sh │ ├── README.md │ └── sh.oe.ohx ├── docs ├── assembly.md ├── assets │ └── information-superhighway.svg ├── bootstrap-path.md ├── coding-without-labels.md ├── debug-info.md ├── hexadecimal.md ├── inspiration.md ├── minimal-c.md ├── object-code.md ├── practical-c.md ├── setup-guide.md ├── shell.md ├── status.md ├── usage-guide.md └── virtual-machine.md ├── platform ├── cc │ ├── posix │ │ ├── onrampar │ │ ├── onrampcc │ │ ├── onrampcc-native │ │ ├── onramphex │ │ └── wrap-header │ └── windows │ │ ├── onrampcc.bat │ │ └── wrap-header.bat ├── hex │ ├── README.md │ ├── c89 │ │ ├── README.md │ │ ├── build.sh │ │ └── test.sh │ ├── onramp │ │ ├── README.md │ │ ├── build.sh │ │ └── test.sh │ ├── python-golf │ │ └── hex.py │ ├── python │ │ └── hex.py │ ├── sh-alt │ │ ├── README.md │ │ ├── hexcomb.sh │ │ ├── hexsemi.sh │ │ └── hexsplit.sh │ ├── sh │ │ └── hex.sh │ ├── x86_64-linux │ │ ├── Makefile │ │ ├── README.md │ │ ├── build.sh │ │ ├── hex.ohx │ │ └── test.sh │ └── xxd │ │ └── hex.sh └── vm │ ├── README.md │ ├── c-debugger │ ├── Makefile │ ├── build.sh │ ├── install.sh │ ├── src │ │ ├── debug.c │ │ ├── debug.h │ │ ├── vm.c │ │ ├── vm_ghost.h │ │ ├── vmcommon.c │ │ └── vmcommon.h │ └── test.sh │ ├── c89 │ ├── README.md │ ├── build.sh │ ├── test.sh │ └── vm.c │ ├── python │ ├── README.md │ ├── test.sh │ └── vm.py │ ├── sh │ ├── test.sh │ └── vm.sh │ ├── x86-bios │ └── README.md │ └── x86_64-linux │ ├── README.md │ ├── build.sh │ ├── test.sh │ └── vm.ohx ├── scripts ├── posix │ ├── build.sh │ ├── clean.sh │ ├── env.sh │ ├── install.sh │ ├── native.sh │ └── uninstall.sh └── windows │ ├── build.bat │ └── setup.bat └── test ├── README.md ├── ar ├── 0-cat │ └── Makefile └── run.sh ├── as ├── 0-basic │ ├── Makefile │ ├── programs │ │ ├── eight-queens.os │ │ └── eight-queens.stdout │ └── tests │ │ ├── comment.oo │ │ ├── comment.os │ │ ├── hello-world.oo │ │ ├── hello-world.os │ │ ├── keyword-all.nonstd │ │ ├── keyword-all.oo │ │ ├── keyword-all.os │ │ ├── keyword-not-found.fail │ │ ├── keyword-not-found.os │ │ ├── keyword-too-long.fail │ │ ├── keyword-too-long.os │ │ ├── keyword.oo │ │ ├── keyword.os │ │ ├── linker-invalid.oo │ │ ├── linker-invalid.os │ │ ├── linker.oo │ │ ├── linker.os │ │ ├── no-whitespace.oo │ │ ├── no-whitespace.os │ │ ├── quoted-bytes.oo │ │ ├── quoted-bytes.os │ │ ├── string-backslash.fail │ │ ├── string-backslash.os │ │ ├── string-comment.oo │ │ ├── string-comment.os │ │ ├── string-tab.fail │ │ ├── string-tab.os │ │ ├── string-truncated.fail │ │ ├── string-truncated.os │ │ ├── string.oo │ │ ├── string.os │ │ ├── whitespace.oo │ │ └── whitespace.os ├── 1-compound │ ├── Makefile │ ├── opcodes │ │ ├── opcode-add.oo │ │ ├── opcode-add.os │ │ ├── opcode-bool.oo │ │ ├── opcode-bool.os │ │ ├── opcode-call.oo │ │ ├── opcode-call.os │ │ ├── opcode-cmps.os │ │ ├── opcode-cmpu.os │ │ ├── opcode-divs.oo │ │ ├── opcode-divs.os │ │ ├── opcode-ims.oo │ │ ├── opcode-ims.os │ │ ├── opcode-imw.oo │ │ ├── opcode-imw.os │ │ ├── opcode-isz.oo │ │ ├── opcode-isz.os │ │ ├── opcode-lds.oo │ │ ├── opcode-lds.os │ │ ├── opcode-lts.oo │ │ ├── opcode-lts.os │ │ ├── opcode-ltu.oo │ │ ├── opcode-ltu.os │ │ ├── opcode-misc.oo │ │ ├── opcode-misc.os │ │ ├── opcode-mods.oo │ │ ├── opcode-mods.os │ │ ├── opcode-modu.oo │ │ ├── opcode-modu.os │ │ ├── opcode-mov.oo │ │ ├── opcode-mov.os │ │ ├── opcode-pop.oo │ │ ├── opcode-pop.os │ │ ├── opcode-push.oo │ │ ├── opcode-push.os │ │ ├── opcode-shl.oo │ │ ├── opcode-shl.os │ │ ├── opcode-shrs.oo │ │ ├── opcode-shrs.os │ │ ├── opcode-shru.oo │ │ ├── opcode-shru.os │ │ ├── opcode-sts.oo │ │ ├── opcode-sts.os │ │ ├── opcode-stw.oo │ │ ├── opcode-stw.os │ │ ├── opcode-sxb.os │ │ ├── opcode-sxs.os │ │ ├── opcode-trb.oo │ │ ├── opcode-trb.os │ │ ├── opcode-trs.oo │ │ ├── opcode-trs.os │ │ ├── opcode-zero.oo │ │ └── opcode-zero.os │ ├── programs │ │ ├── eight-queens.os │ │ └── eight-queens.stdout │ └── syntax │ │ ├── comment.oo │ │ ├── comment.os │ │ ├── linker-invalid.fail │ │ ├── linker-invalid.os │ │ ├── linker.oo │ │ ├── linker.os │ │ ├── linker.skip │ │ ├── no-whitespace.oo │ │ ├── no-whitespace.os │ │ ├── quoted-bytes.oo │ │ ├── quoted-bytes.os │ │ ├── string-backslash.fail │ │ ├── string-backslash.os │ │ ├── string-comment.oo │ │ ├── string-comment.os │ │ ├── string-tab.fail │ │ ├── string-tab.os │ │ ├── string-truncated.fail │ │ ├── string-truncated.os │ │ ├── string.oo │ │ ├── string.os │ │ ├── whitespace.oo │ │ └── whitespace.os ├── 2-full │ ├── Makefile │ ├── numbers │ │ ├── zero.oo │ │ └── zero.os │ ├── opcodes │ │ ├── opcode-bool-diff.oo │ │ ├── opcode-bool-diff.os │ │ ├── opcode-bool-match.oo │ │ ├── opcode-bool-match.os │ │ ├── opcode-divs-diff.oo │ │ ├── opcode-divs-diff.os │ │ ├── opcode-divs-match-dividend.oo │ │ ├── opcode-divs-match-dividend.os │ │ ├── opcode-divs-match-divisor.oo │ │ ├── opcode-divs-match-divisor.os │ │ ├── opcode-isz-bool.oo │ │ ├── opcode-isz-bool.os │ │ ├── opcode-isz-match.oo │ │ └── opcode-isz-match.os │ ├── programs │ │ ├── fibonacci.fail │ │ ├── fibonacci.os │ │ ├── hello-world.fail │ │ └── hello-world.os │ └── syntax │ │ ├── keyword-not-found.fail │ │ ├── keyword-not-found.os │ │ ├── keyword-too-long.fail │ │ └── keyword-too-long.os ├── generate.sh └── run.sh ├── cc ├── Makefile └── run.sh ├── cci ├── 0-omc │ ├── Makefile │ ├── expr │ │ ├── expr-add.c │ │ ├── expr-assign.c │ │ ├── expr-bitand.c │ │ ├── expr-bitnot.c │ │ ├── expr-boolnot-twice.c │ │ ├── expr-boolnot.c │ │ ├── expr-cast.c │ │ ├── expr-char-long.c │ │ ├── expr-char-long.fail │ │ ├── expr-char-short.c │ │ ├── expr-char-short.fail │ │ ├── expr-char-trunc.fail │ │ ├── expr-char-trunc.i │ │ ├── expr-char.c │ │ ├── expr-deref-lvalue.c │ │ ├── expr-deref-lvalue.stdout │ │ ├── expr-deref-twice.c │ │ ├── expr-deref-twice.stdout │ │ ├── expr-deref.c │ │ ├── expr-deref.stdout │ │ ├── expr-divs.c │ │ ├── expr-int.c │ │ ├── expr-mods.c │ │ ├── expr-mul.c │ │ ├── expr-non-pointer.c │ │ ├── expr-ptr-arith.c │ │ ├── expr-ref-deref.c │ │ ├── expr-shift.c │ │ ├── expr-str.c │ │ ├── expr-unary-minus.c │ │ ├── expr-unary-plus.c │ │ └── expr-var.c │ ├── func │ │ ├── func-call-assign.c │ │ ├── func-call.c │ │ ├── func-decl-args.c │ │ ├── func-decl-too-many-params.c │ │ ├── func-decl-too-many-params.fail │ │ ├── func-decl-too-many-params.nonstd │ │ ├── func-decl.c │ │ ├── func-def.c │ │ ├── func-return-mismatch.c │ │ └── func-return-mismatch.nonstd │ ├── if │ │ ├── if-eq.c │ │ ├── if-ge.c │ │ ├── if-gt.c │ │ ├── if-le.c │ │ ├── if-lt.c │ │ ├── if-ne.c │ │ ├── if-not.c │ │ ├── if-range.c │ │ └── if.c │ ├── locals │ │ ├── local-def-no-comma.c │ │ ├── local-def-no-comma.fail │ │ ├── local-def-no-comma.nonstd │ │ └── local-def.c │ ├── misc │ │ ├── fake-mod.c │ │ ├── global-var.c │ │ ├── implicit-cast-to-char.c │ │ └── sizeof.c │ ├── programs │ │ ├── eight-queens.c │ │ ├── eight-queens.stdout │ │ ├── number-format.c │ │ └── number-format.stdout │ ├── str │ │ ├── str-hello.c │ │ └── str-hello.stdout │ ├── type │ │ ├── type-too-many-indirections.c │ │ ├── type-too-many-indirections.fail │ │ ├── type-too-many-indirections.nonstd │ │ ├── typedef-indirect-too-many-indirections.c │ │ ├── typedef-indirect-too-many-indirections.fail │ │ ├── typedef-indirect-too-many-indirections.nonstd │ │ ├── typedef-repeat-alt.c │ │ ├── typedef-repeat.c │ │ └── typedef.c │ └── var │ │ ├── global-char.c │ │ ├── global-int.c │ │ ├── local-var-init.c │ │ └── var-sxb.c ├── 1-opc │ ├── Makefile │ ├── decl │ │ ├── decl-array-const-expr.c │ │ ├── decl-array-indeterminate-global.c │ │ ├── decl-array-indeterminate-global.fail │ │ ├── decl-array-indeterminate-local.c │ │ ├── decl-array-indeterminate-local.fail │ │ ├── decl-array-multidim.c │ │ ├── decl-array-multidim.fail │ │ ├── decl-array-multidim.nonstd │ │ ├── decl-base.c │ │ ├── decl-enum-empty.c │ │ ├── decl-enum-empty.fail │ │ ├── decl-enum-no-assigns.c │ │ ├── decl-enum-trailing-comma.c │ │ ├── decl-enum.c │ │ ├── decl-global-parens.c │ │ ├── decl-ints.c │ │ ├── decl-ptr-to-array.c │ │ ├── decl-ptr-to-array.fail │ │ ├── decl-ptr-to-array.nonstd │ │ ├── decl-struct-anon-forward.c │ │ ├── decl-struct-anon-forward.fail │ │ ├── decl-struct-anon-member.c │ │ ├── decl-struct-bitfield.c │ │ ├── decl-struct-flexible-not-last.c │ │ ├── decl-struct-flexible-not-last.fail │ │ ├── decl-struct-flexible.c │ │ ├── decl-struct-nested.c │ │ ├── decl-struct-sizeof.c │ │ ├── decl-struct-typedef-anon.c │ │ ├── decl-struct-typedef.c │ │ ├── decl-struct-union-array.c │ │ ├── decl-typedef-mixed.c │ │ ├── tag-namespace.c │ │ └── tag-namespace.fail │ ├── expr │ │ ├── expr-array-address.c │ │ ├── expr-array-address.nonstd │ │ ├── expr-array-assign-ptr.c │ │ ├── expr-array-assign-ptr.fail │ │ ├── expr-array-assign.c │ │ ├── expr-array-assign.fail │ │ ├── expr-array-dereference.c │ │ ├── expr-array-global.c │ │ ├── expr-array-local.c │ │ ├── expr-assign-expr.c │ │ ├── expr-associativity.c │ │ ├── expr-binary-precedence.c │ │ ├── expr-cast.c │ │ ├── expr-comma.c │ │ ├── expr-compare-null.c │ │ ├── expr-compound-assign.c │ │ ├── expr-conditional-assign.c │ │ ├── expr-conditional-assign.fail │ │ ├── expr-conditional-types.c │ │ ├── expr-conditional.c │ │ ├── expr-enum-arithmetic.c │ │ ├── expr-initializer.c │ │ ├── expr-logical-ops.c │ │ ├── expr-member-compound-assign.c │ │ ├── expr-number.c │ │ ├── expr-post-inc-dec-char.c │ │ ├── expr-post-inc-dec.c │ │ ├── expr-pre-inc-dec-short.c │ │ ├── expr-pre-inc-dec.c │ │ ├── expr-promotion.c │ │ ├── expr-ptr-arith-struct.c │ │ ├── expr-ptr-arith.c │ │ ├── expr-ptr-inc.c │ │ ├── expr-ptr-short-shift.c │ │ ├── expr-shift-sign.c │ │ ├── expr-shift.c │ │ ├── expr-sizeof-basic-expr.c │ │ ├── expr-sizeof-basic-type.c │ │ ├── expr-sizeof-forward-struct.c │ │ ├── expr-sizeof-forward-struct.fail │ │ ├── expr-struct-pointer-access.c │ │ └── expr-struct-value-access.c │ ├── function │ │ ├── function-array-arg.c │ │ ├── function-empty-arg.c │ │ ├── function-empty-noargs.c │ │ ├── function-empty-one-arg.c │ │ ├── function-empty-two-args.c │ │ ├── function-empty-void.c │ │ ├── function-empty-voidp-arg.c │ │ ├── function-large-stack-frame.c │ │ ├── function-param-unnamed.c │ │ ├── function-ten-args.c │ │ ├── function-variadic-decl.c │ │ ├── function-variadic-pass-ptr-to-arg.c │ │ ├── function-variadic-pass-ptr.c │ │ ├── function-variadic-pass.c │ │ ├── function-variadic-pass.fail │ │ ├── function-variadic-pass.skip │ │ ├── function-variadic-ptr.c │ │ └── function-variadic.c │ ├── global │ │ ├── global-define-char.c │ │ └── global-define-int.c │ ├── if │ │ ├── if-else-block.c │ │ ├── if-else-statement.c │ │ ├── if-greater-or-equal.c │ │ ├── if-greater.c │ │ ├── if-less-or-equal.c │ │ ├── if-less.c │ │ └── if-multiple-else.c │ ├── locals │ │ └── local-initializer.c │ ├── main │ │ └── main-return-0.c │ ├── misc │ │ ├── end-of-block-case.c │ │ ├── end-of-block-default.c │ │ ├── end-of-block-label.c │ │ ├── string-literal-unicode.c │ │ ├── string-literals.c │ │ └── string-literals.stdout │ ├── preprocs │ │ ├── line.i │ │ ├── preproc-start-of-line.fail │ │ └── preproc-start-of-line.i │ ├── programs │ │ ├── eight-queens.c │ │ └── eight-queens.stdout │ ├── stdout │ │ ├── stdout-fputc.c │ │ ├── stdout-fputc.stdout │ │ ├── stdout-putchar.c │ │ ├── stdout-putchar.stdout │ │ ├── stdout-puts.c │ │ └── stdout-puts.stdout │ ├── stmt │ │ ├── do-false.c │ │ ├── do-loop.c │ │ ├── for-loop-scope.c │ │ ├── for-loop-scope.fail │ │ ├── for-loop.c │ │ ├── goto.c │ │ ├── switch-duff.c │ │ ├── switch-empty.c │ │ ├── switch-enum.c │ │ └── switch.c │ └── type │ │ ├── casts.c │ │ ├── const.c │ │ ├── short-load-store.c │ │ ├── short-store.c │ │ └── struct-packing.c ├── 2-full │ ├── Makefile │ ├── decl │ │ ├── array-multidim.c │ │ ├── asm-name-func.c │ │ ├── asm-name-var-comma.c │ │ ├── asm-name-var-concat.c │ │ ├── asm-name-var.c │ │ ├── bool-global.c │ │ ├── decl-label.c │ │ ├── decl-label.fail │ │ ├── decl-local-extern-after.c │ │ ├── decl-local-extern-after.fail │ │ ├── decl-local-extern-before.c │ │ ├── decl-local-extern-before.fail │ │ ├── decl-local-extern-duplicate.c │ │ ├── decl-local-extern-hidden.c │ │ ├── decl-local-extern-hidden.fail │ │ ├── decl-local-extern-indeterminate.c │ │ ├── decl-local-extern-scope.c │ │ ├── decl-local-extern-static-after.c │ │ ├── decl-local-extern-static-after.fail │ │ ├── decl-local-extern-static-before.c │ │ ├── decl-local-extern-unused.c │ │ ├── decl-local-extern.c │ │ ├── decl-record-anon-tag.args │ │ ├── decl-record-anon-tag.c │ │ ├── decl-static-extern.c │ │ ├── function-shadow-params.c │ │ ├── function-shadow-params.fail │ │ ├── local-static-init.c │ │ ├── local-static.c │ │ ├── struct-not-defined.c │ │ ├── struct-not-defined.fail │ │ ├── struct-recursive.c │ │ ├── struct-scope-forward-decl-fail.c │ │ ├── struct-scope-forward-decl-missing.c │ │ ├── struct-scope-forward-decl-missing.fail │ │ ├── struct-scope-forward-decl-quals.c │ │ ├── struct-scope-forward-decl.c │ │ ├── struct-scope-inner-undef.c │ │ ├── struct-scope-inner-undef.fail │ │ ├── struct-scope-outer-undef.c │ │ ├── struct-scope-outer-undef.fail │ │ ├── struct-scope-param-nested.c │ │ ├── struct-scope-param-nested.fail │ │ ├── struct-scope-param.c │ │ ├── struct-scope-shadow.c │ │ ├── struct-scope.c │ │ ├── typedef-comma.c │ │ └── typedef-comma.fail │ ├── defer │ │ ├── defer-basic.c │ │ ├── defer-basic.stdout │ │ ├── defer-break-out-of-defer.c │ │ ├── defer-break-out-of-defer.fail │ │ ├── defer-break.c │ │ ├── defer-case-error.c │ │ ├── defer-case-error.fail │ │ ├── defer-continue-out-of-defer.c │ │ ├── defer-continue-out-of-defer.fail │ │ ├── defer-continue.c │ │ ├── defer-default-error.c │ │ ├── defer-default-error.fail │ │ ├── defer-goto-backwards-close.c │ │ ├── defer-goto-forward-nested.c │ │ ├── defer-goto-forward-nested.fail │ │ ├── defer-goto-forward.c │ │ ├── defer-goto-forward.fail │ │ ├── defer-goto-out-of-defer-nested.c │ │ ├── defer-goto-out-of-defer-nested.fail │ │ ├── defer-goto-out-of-defer.c │ │ ├── defer-goto-out-of-defer.fail │ │ ├── defer-goto.c │ │ ├── defer-if.c │ │ ├── defer-nested.c │ │ ├── defer-return-out-of-defer.c │ │ ├── defer-return-out-of-defer.fail │ │ ├── defer-return-var.c │ │ ├── defer-return.c │ │ └── defer-return.stdout │ ├── expr │ │ ├── const-error.args │ │ ├── const-error.c │ │ ├── const-error.fail │ │ ├── expr-array-conversion.c │ │ ├── expr-function-cast.c │ │ ├── expr-ptr-short-mask.c │ │ ├── expr-sizeof-incomplete.c │ │ ├── expr-sizeof-incomplete.fail │ │ ├── expr-sizeof-string.c │ │ ├── struct-array-assign.c │ │ ├── struct-assign.c │ │ ├── struct-deref-large.c │ │ ├── struct-deref.c │ │ ├── struct-pass.c │ │ └── struct-return.c │ ├── func-ptr │ │ ├── func-ptr-address.c │ │ ├── func-ptr-assign.c │ │ ├── func-ptr-deref.c │ │ ├── func-ptr-return-decl.c │ │ ├── func-ptr-ternary.c │ │ ├── func-sizeof.c │ │ └── func-sizeof.fail │ ├── globals │ │ ├── tentative-def-extern.c │ │ ├── tentative-def-init-twice.c │ │ ├── tentative-def-init-twice.fail │ │ ├── tentative-def-init.c │ │ ├── tentative-def-static-after.c │ │ ├── tentative-def-static-after.fail │ │ ├── tentative-def-static-before.c │ │ ├── tentative-def-static-before.fail │ │ ├── tentative-def-static.c │ │ ├── tentative-def-weak.args │ │ ├── tentative-def-weak.c │ │ ├── tentative-def-weak.fail │ │ ├── tentative-def-weak.skip │ │ └── tentative-def.c │ ├── init │ │ ├── init-array-string-indeterminate-extern.c │ │ ├── init-array-string-indeterminate-quals.c │ │ ├── init-array-string-indeterminate.c │ │ ├── init-array-string-short.c │ │ ├── init-array-string-splice.c │ │ ├── init-array-string-truncate.c │ │ ├── init-array-string.c │ │ ├── init-basic-array-local.c │ │ ├── init-basic-global.c │ │ ├── init-basic-struct-local.c │ │ ├── init-func.c │ │ ├── init-indeterminate-array-static.c │ │ ├── init-indeterminate-array.c │ │ ├── init-nested-struct.c │ │ ├── init-overrides-zeroing.c │ │ ├── init-overrides-zeroing.skip │ │ ├── init-partial-out-of-order.c │ │ ├── init-partial-out-of-order.skip │ │ ├── init-reloc.c │ │ ├── init-scalar-braces-duplicated.c │ │ ├── init-scalar-braces.c │ │ ├── init-scalar-trailing-comma.c │ │ ├── init-struct-array-string-align.c │ │ ├── init-struct-array-string.c │ │ ├── init-struct-func.c │ │ ├── init-struct-llong-member.c │ │ ├── init-struct-mixed.c │ │ └── init-trailing-comma.c │ ├── llong │ │ ├── digit-sep-end-suffix.c │ │ ├── digit-sep-end-suffix.fail │ │ ├── digit-sep-end.c │ │ ├── digit-sep-end.fail │ │ ├── digit-sep-start-bin.c │ │ ├── digit-sep-start-bin.fail │ │ ├── digit-sep-start-hex.c │ │ ├── digit-sep-start-hex.fail │ │ ├── digit-sep.c │ │ ├── llong-add.c │ │ ├── llong-bool.c │ │ ├── llong-cast.c │ │ ├── llong-cmp.c │ │ ├── llong-eq.c │ │ ├── llong-init.c │ │ ├── llong-member-compound-assign.c │ │ ├── llong-member.c │ │ ├── llong-number.c │ │ ├── llong-number.fail │ │ ├── llong-number.skip │ │ ├── llong-pass.c │ │ ├── llong-post-inc-dec.c │ │ ├── llong-pre-inc-dec.c │ │ ├── llong-ret-many-args.c │ │ ├── llong-return-implicit-cast.c │ │ └── llong-unary.c │ ├── misc │ │ ├── bool-implicit-cast.c │ │ ├── end-of-statement-label.c │ │ ├── end-of-statement-label.fail │ │ ├── escape-hex.c │ │ ├── escape-octal.c │ │ ├── func-name.c │ │ ├── string-concat.c │ │ └── voidpp-cast.c │ └── stmt-exprs │ │ ├── stmt-expr-break-cond.args │ │ ├── stmt-expr-break-cond.c │ │ ├── stmt-expr-break-incr.args │ │ ├── stmt-expr-break-incr.c │ │ ├── stmt-expr-break-init.args │ │ ├── stmt-expr-break-init.c │ │ ├── stmt-expr-break-invalid.args │ │ ├── stmt-expr-break-invalid.c │ │ ├── stmt-expr-break-invalid.fail │ │ ├── stmt-expr-break-switch.args │ │ ├── stmt-expr-break-switch.c │ │ ├── stmt-expr-decl.c │ │ ├── stmt-expr-decl.fail │ │ ├── stmt-expr-empty.args │ │ ├── stmt-expr-empty.c │ │ ├── stmt-expr-scope.args │ │ ├── stmt-expr-scope.c │ │ ├── stmt-expr-while.args │ │ ├── stmt-expr-while.c │ │ ├── stmt-expr.args │ │ └── stmt-expr.c └── run.sh ├── cpp ├── 0-strip │ ├── Makefile │ ├── basic │ │ ├── blank.c │ │ ├── blank.i │ │ ├── quote-number-sign.c │ │ └── quote-number-sign.i │ ├── comment │ │ ├── comment-c-extra-slashes.c │ │ ├── comment-c-extra-slashes.i │ │ ├── comment-c-multiline.c │ │ ├── comment-c-multiline.i │ │ ├── comment-c-nested.c │ │ ├── comment-c-nested.i │ │ ├── comment-c.c │ │ ├── comment-c.i │ │ ├── comment-cxx-and-c.c │ │ ├── comment-cxx-and-c.i │ │ ├── comment-cxx-double-backslash.c │ │ ├── comment-cxx-double-backslash.i │ │ ├── comment-cxx-eof.c │ │ ├── comment-cxx-eof.i │ │ ├── comment-cxx-escaped-newline.c │ │ ├── comment-cxx-escaped-newline.i │ │ ├── comment-cxx.c │ │ └── comment-cxx.i │ └── ifdef │ │ ├── ifdef-unclosed-false.c │ │ ├── ifdef-unclosed-false.i │ │ ├── ifdef-unclosed-true.c │ │ ├── ifdef-unclosed-true.i │ │ ├── ifdef.c │ │ └── ifdef.i ├── 1-omc │ ├── Makefile │ ├── basic │ │ ├── blank.c │ │ ├── blank.i │ │ ├── quote-number-sign.c │ │ └── quote-number-sign.i │ ├── comment │ │ ├── comment-c-extra-slashes.c │ │ ├── comment-c-extra-slashes.i │ │ ├── comment-c-multiline.c │ │ ├── comment-c-multiline.i │ │ ├── comment-c-nested.c │ │ ├── comment-c-nested.i │ │ ├── comment-c-unterminated.c │ │ ├── comment-c-unterminated.fail │ │ ├── comment-c.c │ │ ├── comment-c.i │ │ ├── comment-cxx-and-c.c │ │ ├── comment-cxx-and-c.i │ │ ├── comment-cxx-double-backslash.c │ │ ├── comment-cxx-double-backslash.i │ │ ├── comment-cxx-eof.c │ │ ├── comment-cxx-eof.i │ │ ├── comment-cxx-escaped-newline.c │ │ ├── comment-cxx-escaped-newline.i │ │ ├── comment-cxx.c │ │ └── comment-cxx.i │ ├── define │ │ ├── define-chain.c │ │ ├── define-chain.i │ │ ├── define-commandline-blank.args │ │ ├── define-commandline-blank.c │ │ ├── define-commandline-blank.i │ │ ├── define-commandline.args │ │ ├── define-commandline.c │ │ ├── define-commandline.i │ │ ├── define-operator.c │ │ ├── define-operator.i │ │ ├── define-recursive-indirect.c │ │ ├── define-recursive-indirect.fail │ │ ├── define-recursive-indirect.nonstd │ │ ├── define-recursive.c │ │ ├── define-recursive.fail │ │ ├── define-recursive.nonstd │ │ ├── define-symbols.c │ │ ├── define-symbols.i │ │ ├── define-whitespace-after.c │ │ ├── define-whitespace-after.i │ │ ├── define-whitespace-before.c │ │ └── define-whitespace-before.i │ ├── ifdef │ │ ├── ifdef-false-else-nested.c │ │ ├── ifdef-false-else.c │ │ ├── ifdef-false-else.fail │ │ ├── ifdef-false-else.nonstd │ │ ├── ifdef-false-if.c │ │ ├── ifdef-false-if.i │ │ ├── ifdef-false.c │ │ ├── ifdef-false.i │ │ ├── ifdef-unclosed-false.c │ │ ├── ifdef-unclosed-false.fail │ │ ├── ifdef-unclosed-true.c │ │ └── ifdef-unclosed-true.fail │ └── include │ │ ├── include-a.h │ │ ├── include-b.h │ │ ├── include-c.h │ │ ├── include-commented-blank-line-0.c │ │ ├── include-commented-blank-line-0.i │ │ ├── include-commented-blank-line-1.c │ │ ├── include-commented-blank-line-1.i │ │ ├── include-commented-blank-line-2.c │ │ ├── include-commented-blank-line-2.i │ │ ├── include-repeat.c │ │ ├── include-repeat.i │ │ ├── include-two.c │ │ └── include-two.i ├── 2-full │ ├── Makefile │ ├── arguments │ │ ├── argument-twice.c │ │ ├── argument-twice.i │ │ ├── double-expand-args.c │ │ ├── double-expand-args.i │ │ ├── empty-args.c │ │ ├── empty-args.i │ │ ├── nested-macros.c │ │ ├── nested-macros.i │ │ ├── nested-parens.c │ │ ├── nested-parens.i │ │ ├── simple-args.c │ │ └── simple-args.i │ ├── blank │ │ ├── blank-directive.c │ │ ├── blank-directive.i │ │ ├── blank.c │ │ ├── blank.i │ │ ├── many-blank-lines.c │ │ ├── many-blank-lines.i │ │ ├── no-directives.c │ │ └── no-directives.i │ ├── define │ │ ├── define-commandline-blank.args │ │ ├── define-commandline-blank.c │ │ ├── define-commandline-blank.fail │ │ ├── define-commandline-function-0args.args │ │ ├── define-commandline-function-0args.c │ │ ├── define-commandline-function-0args.fail │ │ ├── define-commandline-function-1arg.args │ │ ├── define-commandline-function-1arg.c │ │ ├── define-commandline-function-1arg.fail │ │ ├── define-commandline-function-2args.args │ │ ├── define-commandline-function-2args.c │ │ ├── define-commandline-function-2args.fail │ │ ├── define-commandline-object-comment.args │ │ ├── define-commandline-object-comment.c │ │ ├── define-commandline-object-comment.fail │ │ ├── define-commandline-object.args │ │ ├── define-commandline-object.c │ │ ├── define-commandline-object.fail │ │ ├── define-function-no-args-arg.c │ │ ├── define-function-no-args-arg.fail │ │ ├── define-function-no-args.c │ │ ├── define-function-no-args.i │ │ ├── define-hideset-intersection.c │ │ ├── define-hideset-intersection.i │ │ ├── define-hideset.c │ │ ├── define-hideset.i │ │ ├── define-indent-after-hash.c │ │ ├── define-indent-after-hash.i │ │ ├── define-indent-before-hash.c │ │ ├── define-indent-before-hash.i │ │ ├── define-multiline-comment.c │ │ ├── define-multiline-comment.i │ │ ├── define-object-to-function.c │ │ ├── define-object-to-function.i │ │ ├── define-parens.c │ │ ├── define-parens.i │ │ ├── define-recursive.c │ │ ├── define-recursive.i │ │ ├── define-string-macro-no-whitespace.c │ │ ├── define-string-macro-no-whitespace.i │ │ ├── define-va-args-not-variadic-stringify.c │ │ ├── define-va-args-not-variadic-stringify.fail │ │ ├── define-va-args-not-variadic.c │ │ ├── define-va-args-not-variadic.i │ │ ├── define-variadic-expand.c │ │ ├── define-variadic-expand.i │ │ ├── define-variadic-first.c │ │ ├── define-variadic-first.fail │ │ ├── define-variadic-ignored.c │ │ ├── define-variadic-ignored.i │ │ ├── define-variadic-middle.c │ │ ├── define-variadic-middle.fail │ │ ├── define-variadic-paste-extension-multiple-blank.c │ │ ├── define-variadic-paste-extension-multiple-blank.i │ │ ├── define-variadic-paste-extension-multiple.c │ │ ├── define-variadic-paste-extension-multiple.i │ │ ├── define-variadic-paste-extension-single.c │ │ ├── define-variadic-paste-extension-single.i │ │ ├── define-variadic-paste-extension.c │ │ ├── define-variadic-paste-extension.i │ │ ├── define-variadic-stringify.c │ │ ├── define-variadic-stringify.i │ │ ├── define.c │ │ ├── define.i │ │ ├── undef-file.c │ │ ├── undef-file.i │ │ ├── undef-function-like.c │ │ ├── undef-function-like.i │ │ ├── undef-line.c │ │ ├── undef-line.i │ │ ├── undef-not-defined.c │ │ ├── undef-not-defined.i │ │ ├── undef-object-like.c │ │ └── undef-object-like.i │ ├── extensions │ │ ├── arg-directive-define-after.c │ │ ├── arg-directive-define-after.i │ │ ├── arg-directive-define-before.c │ │ ├── arg-directive-define-before.i │ │ ├── arg-directive-define-inhibited.c │ │ ├── arg-directive-define-inhibited.i │ │ ├── arg-directive-define-multiple-after.c │ │ ├── arg-directive-define-multiple-after.i │ │ ├── arg-directive-define-multiple-first.c │ │ ├── arg-directive-define-multiple-first.i │ │ ├── arg-directive-define-multiple-reverse.c │ │ ├── arg-directive-define-multiple-reverse.i │ │ ├── arg-directive-define-multiple-second.c │ │ ├── arg-directive-define-multiple-second.i │ │ ├── arg-directive-define-repeat.c │ │ ├── arg-directive-define-repeat.i │ │ ├── arg-directive-define-unused.c │ │ ├── arg-directive-define-unused.i │ │ ├── arg-directive-if-inhibited.c │ │ ├── arg-directive-if-inhibited.i │ │ ├── arg-directive-if.c │ │ ├── arg-directive-if.i │ │ ├── arg-directive-pragma.c │ │ ├── arg-directive-pragma.i │ │ ├── pragma-once.c │ │ ├── pragma-once.h │ │ └── pragma-once.i │ ├── if │ │ ├── elif-without-if.c │ │ ├── elif-without-if.fail │ │ ├── if-add-constant-false.c │ │ ├── if-add-constant-false.i │ │ ├── if-add-constant-true-multiple.c │ │ ├── if-add-constant-true-multiple.i │ │ ├── if-add-constant-true.c │ │ ├── if-add-constant-true.i │ │ ├── if-add-mul-false.c │ │ ├── if-add-mul-false.i │ │ ├── if-add-mul-parens-true.c │ │ ├── if-add-mul-parens-true.i │ │ ├── if-add-mul-true.c │ │ ├── if-add-mul-true.i │ │ ├── if-char-literal-false.c │ │ ├── if-char-literal-false.i │ │ ├── if-char-literal-true.c │ │ ├── if-char-literal-true.i │ │ ├── if-comma.c │ │ ├── if-comma.fail │ │ ├── if-conditional-chain.c │ │ ├── if-conditional-chain.i │ │ ├── if-conditional-precedence-comma.c │ │ ├── if-conditional-precedence-comma.fail │ │ ├── if-conditional-precedence.c │ │ ├── if-conditional-precedence.i │ │ ├── if-conditional.c │ │ ├── if-conditional.i │ │ ├── if-define-defined.c │ │ ├── if-define-defined.fail │ │ ├── if-defined-and-true.c │ │ ├── if-defined-and-true.i │ │ ├── if-defined-noparens-false.c │ │ ├── if-defined-noparens-false.i │ │ ├── if-defined-noparens-true.c │ │ ├── if-defined-noparens-true.i │ │ ├── if-defined-parens-extra-close.c │ │ ├── if-defined-parens-extra-close.fail │ │ ├── if-defined-parens-extra-open.c │ │ ├── if-defined-parens-extra-open.fail │ │ ├── if-defined-parens-false.c │ │ ├── if-defined-parens-false.i │ │ ├── if-defined-parens-true.c │ │ ├── if-defined-parens-true.i │ │ ├── if-defined-parens-unclosed.c │ │ ├── if-defined-parens-unclosed.fail │ │ ├── if-elif-both-true.c │ │ ├── if-elif-both-true.i │ │ ├── if-elif.c │ │ ├── if-elif.i │ │ ├── if-hex-negation.c │ │ ├── if-macro-defined-false.c │ │ ├── if-macro-defined-false.i │ │ ├── if-macro-defined-true.c │ │ ├── if-macro-defined-true.i │ │ ├── if-macro-expand-math.c │ │ ├── if-macro-expand-math.i │ │ ├── if-macro.c │ │ ├── if-macro.i │ │ ├── if-multiline.c │ │ ├── if-multiline.fail │ │ ├── if-octal-math.c │ │ ├── if-pasted-macro.c │ │ ├── if-pasted-macro.i │ │ ├── if-shift-bitand-true.c │ │ ├── if-shift-bitand-true.i │ │ ├── if-skip-relaxed-parsing.c │ │ ├── if-skip-relaxed-parsing.i │ │ ├── if-undefined.c │ │ ├── if-wchar-literal.c │ │ ├── ifdef-comment.c │ │ ├── ifdef-comment.i │ │ ├── ifdef-elifdef-both-true.c │ │ └── ifdef-elifdef-both-true.i │ ├── ifdef │ │ ├── elifdef-simple-not-taken.c │ │ ├── elifdef-simple-not-taken.i │ │ ├── elifdef-simple-previously-taken.c │ │ ├── elifdef-simple-previously-taken.i │ │ ├── elifdef-simple-taken.c │ │ ├── elifdef-simple-taken.i │ │ ├── elifndef-simple.c │ │ ├── elifndef-simple.i │ │ ├── else-unterminated-false.c │ │ ├── else-unterminated-false.fail │ │ ├── else-unterminated-true.c │ │ ├── else-unterminated-true.fail │ │ ├── ifdef-builtins.c │ │ ├── ifdef-builtins.i │ │ ├── ifdef-else-false.c │ │ ├── ifdef-else-false.i │ │ ├── ifdef-else-true.c │ │ ├── ifdef-else-true.i │ │ ├── ifdef-nested-false.c │ │ ├── ifdef-nested-false.i │ │ ├── ifdef-nested-true-false.c │ │ ├── ifdef-nested-true-false.i │ │ ├── ifdef-nested-true-true.c │ │ ├── ifdef-nested-true-true.i │ │ ├── ifdef-simple.c │ │ ├── ifdef-simple.i │ │ ├── ifdef-unterminated-false.c │ │ ├── ifdef-unterminated-false.fail │ │ ├── ifdef-unterminated-true.c │ │ ├── ifdef-unterminated-true.fail │ │ ├── ifndef-simple.c │ │ └── ifndef-simple.i │ ├── include │ │ ├── a │ │ │ ├── include-next.h │ │ │ ├── include-path.h │ │ │ └── include-system.h │ │ ├── b │ │ │ ├── include-next.h │ │ │ └── include-path.h │ │ ├── include spaces.h │ │ ├── include space.h │ │ ├── include-\".c │ │ ├── include-\".h │ │ ├── include-\".i │ │ ├── include-angle-initialexpand.args │ │ ├── include-angle-initialexpand.c │ │ ├── include-angle-initialexpand.fail │ │ ├── include-angle-noexpand.args │ │ ├── include-angle-noexpand.c │ │ ├── include-angle-noexpand.fail │ │ ├── include-angle-partialexpand.args │ │ ├── include-angle-partialexpand.c │ │ ├── include-angle-partialexpand.fail │ │ ├── include-angle-without-arg.c │ │ ├── include-angle-without-arg.fail │ │ ├── include-angle.args │ │ ├── include-angle.c │ │ ├── include-angle.fail │ │ ├── include-command-line-working-directory.args │ │ ├── include-command-line-working-directory.c │ │ ├── include-command-line-working-directory.fail │ │ ├── include-command-line.args │ │ ├── include-command-line.c │ │ ├── include-command-line.fail │ │ ├── include-command-line.h │ │ ├── include-define.c │ │ ├── include-define.h │ │ ├── include-define.i │ │ ├── include-extra-tokens-angle.c │ │ ├── include-extra-tokens-angle.fail │ │ ├── include-extra-tokens-macro.c │ │ ├── include-extra-tokens-macro.i │ │ ├── include-extra-tokens-quote.c │ │ ├── include-extra-tokens-quote.i │ │ ├── include-hello.h │ │ ├── include-iquote-angle.args │ │ ├── include-iquote-angle.c │ │ ├── include-iquote-angle.fail │ │ ├── include-iquote-quote.args │ │ ├── include-iquote-quote.c │ │ ├── include-iquote-quote.fail │ │ ├── include-isystem.args │ │ ├── include-isystem.c │ │ ├── include-isystem.fail │ │ ├── include-macro-angle.c │ │ ├── include-macro-angle.fail │ │ ├── include-macro-blank-after.c │ │ ├── include-macro-blank-after.i │ │ ├── include-macro-blank-before.c │ │ ├── include-macro-blank-before.i │ │ ├── include-macro-function-c-comment.c │ │ ├── include-macro-function-c-comment.i │ │ ├── include-macro-function-c-multiline-comment.c │ │ ├── include-macro-function-c-multiline-comment.i │ │ ├── include-macro-function-cxx-comment.c │ │ ├── include-macro-function-cxx-comment.fail │ │ ├── include-macro-function-incomplete.c │ │ ├── include-macro-function-incomplete.fail │ │ ├── include-macro-function-newline-before.c │ │ ├── include-macro-function-newline-before.fail │ │ ├── include-macro-function-newline-between.c │ │ ├── include-macro-function-newline-between.fail │ │ ├── include-macro-function-space.c │ │ ├── include-macro-function-space.i │ │ ├── include-macro-function.c │ │ ├── include-macro-function.i │ │ ├── include-macro-not-string.c │ │ ├── include-macro-not-string.fail │ │ ├── include-macro-object.c │ │ ├── include-macro-object.i │ │ ├── include-next-different-filename.args │ │ ├── include-next-different-filename.c │ │ ├── include-next-different-filename.fail │ │ ├── include-next-different-filename.h │ │ ├── include-next-relative.args │ │ ├── include-next-relative.c │ │ ├── include-next-relative.fail │ │ ├── include-next.args │ │ ├── include-next.c │ │ ├── include-next.fail │ │ ├── include-next.h │ │ ├── include-no-space-angle.args │ │ ├── include-no-space-angle.c │ │ ├── include-no-space-angle.fail │ │ ├── include-no-space-quote.c │ │ ├── include-no-space-quote.i │ │ ├── include-override.args │ │ ├── include-override.c │ │ ├── include-override.fail │ │ ├── include-path-absolute-nospace.args │ │ ├── include-path-absolute-nospace.c │ │ ├── include-path-absolute-nospace.fail │ │ ├── include-path-missing.c │ │ ├── include-path-missing.fail │ │ ├── include-path-relative-nospace.args │ │ ├── include-path-relative-nospace.c │ │ ├── include-path-relative-nospace.fail │ │ ├── include-path-relative-space.args │ │ ├── include-path-relative-space.c │ │ ├── include-path-relative-space.fail │ │ ├── include-quotes.c │ │ ├── include-quotes.i │ │ ├── include-space-angle-macro.args │ │ ├── include-space-angle-macro.c │ │ ├── include-space-angle-macro.fail │ │ ├── include-space-angle.args │ │ ├── include-space-angle.c │ │ ├── include-space-angle.fail │ │ ├── include-space-string.c │ │ ├── include-space-string.i │ │ ├── include-spaces-angle-macro.args │ │ ├── include-spaces-angle-macro.c │ │ ├── include-spaces-angle-macro.fail │ │ ├── include-spaces-angle.args │ │ ├── include-spaces-angle.c │ │ ├── include-spaces-angle.fail │ │ ├── include-spaces-string.c │ │ ├── include-spaces-string.i │ │ ├── include-stack-a.h │ │ ├── include-stack-b.h │ │ ├── include-stack-c.h │ │ ├── include-stack-d.h │ │ ├── include-stack-recursive-a.h │ │ ├── include-stack-recursive-b.h │ │ ├── include-stack-recursive.c │ │ ├── include-stack-recursive.i │ │ ├── include-stack.c │ │ └── include-stack.i │ ├── lexer │ │ ├── lexer-escaped-cr.c │ │ ├── lexer-escaped-cr.i │ │ ├── lexer-escaped-crlf.c │ │ ├── lexer-escaped-crlf.i │ │ ├── lexer-escaped-eof.c │ │ ├── lexer-escaped-eof.i │ │ ├── lexer-escaped-lf-eof.c │ │ ├── lexer-escaped-lf-eof.i │ │ ├── lexer-escaped-lf.c │ │ ├── lexer-escaped-lf.i │ │ ├── lexer-string-escapes.c │ │ ├── lexer-string-escapes.i │ │ ├── lexer-string.c │ │ └── lexer-string.i │ ├── linemarker │ │ ├── TODO-carriage-returns │ │ ├── linemarker-cr.c │ │ ├── linemarker-cr.i │ │ ├── linemarker-crlf.c │ │ ├── linemarker-crlf.i │ │ ├── linemarker-escaped-newline.c │ │ ├── linemarker-escaped-newline.i │ │ ├── linemarker-lf.c │ │ └── linemarker-lf.i │ ├── misc │ │ ├── defined.c │ │ ├── defined.i │ │ ├── indent-code.c │ │ ├── indent-code.i │ │ ├── line-escaped-newline.c │ │ ├── line-file.c │ │ ├── mirror.c │ │ ├── mirror.i │ │ ├── mirror1.c │ │ ├── mirror1.i │ │ ├── newlines-after-empty-macro.c │ │ ├── newlines-after-empty-macro.i │ │ ├── pragma-ifdef.c │ │ ├── pragma-ifdef.i │ │ ├── pragma-keyword-concat.c │ │ ├── pragma-keyword-concat.fail │ │ ├── pragma-keyword.c │ │ ├── pragma-keyword.i │ │ ├── pragma-macro-newlines.c │ │ ├── pragma-macro-newlines.i │ │ ├── pragma-macro.c │ │ ├── pragma-macro.i │ │ ├── pragma.c │ │ └── pragma.i │ ├── paste │ │ ├── paste-args-unused.c │ │ ├── paste-args-unused.i │ │ ├── paste-leading-unused.c │ │ ├── paste-leading-unused.fail │ │ ├── paste-leading-used.c │ │ ├── paste-leading-used.fail │ │ ├── paste-no-args.c │ │ ├── paste-no-args.i │ │ ├── paste-no-expand.c │ │ ├── paste-no-expand.i │ │ ├── paste-no-parens.c │ │ ├── paste-no-parens.i │ │ ├── paste-recursive.c │ │ ├── paste-recursive.i │ │ ├── paste-repeated.c │ │ ├── paste-repeated.fail │ │ ├── paste-simple.c │ │ ├── paste-simple.i │ │ ├── paste-trailing-unused.c │ │ ├── paste-trailing-unused.fail │ │ ├── paste-trailing-used.c │ │ ├── paste-trailing-used.fail │ │ ├── paste-triple.c │ │ └── paste-triple.i │ ├── string │ │ ├── define-char-prefix.c │ │ ├── define-char-prefix.i │ │ ├── define-l-wide-char.c │ │ ├── define-l-wide-char.i │ │ ├── define-u8-wide-char.c │ │ └── define-u8-wide-char.i │ ├── stringify │ │ ├── stringify-inhibit.c │ │ ├── stringify-inhibit.i │ │ ├── stringify-multiple.c │ │ ├── stringify-multiple.i │ │ ├── stringify-not-param.c │ │ ├── stringify-not-param.fail │ │ ├── stringify-simple.c │ │ ├── stringify-simple.i │ │ ├── stringify-string.c │ │ ├── stringify-string.i │ │ ├── stringify-surround.c │ │ ├── stringify-surround.i │ │ ├── stringify-trailing-unused.c │ │ ├── stringify-trailing-unused.fail │ │ ├── stringify-trailing-used.c │ │ ├── stringify-trailing-used.fail │ │ ├── stringify-whitespace.c │ │ └── stringify-whitespace.i │ └── working-directory-test.h ├── generate.sh └── run.sh ├── hex ├── generate.sh ├── run.sh └── tests │ ├── address-assertion-no-whitespace.ohx │ ├── address-assertion-only.ohx │ ├── address-assertion-only.stdout │ ├── address-assertion-too-long.ohx │ ├── address-assertion-truncated-1.ohx │ ├── address-assertion-truncated-2.ohx │ ├── address-assertion-truncated-3.ohx │ ├── address-assertion-uppercase.ohx │ ├── address-assertion-uppercase.stdout │ ├── address-assertions-fail.ohx │ ├── address-assertions-pass.ohx │ ├── address-assertions-pass.stdout │ ├── comment-marker.ohx │ ├── comment-marker.stdout │ ├── comments-only.ohx │ ├── comments-only.stdout │ ├── comments.ohx │ ├── comments.stdout │ ├── empty.ohx │ ├── empty.stdout │ ├── hello-world-readme.ohx │ ├── hello-world-readme.stdout │ ├── hello-world.ohx │ ├── hello-world.stdout │ ├── hex-byte.ohx │ ├── hex-byte.stdout │ ├── invalid-byte.ohx │ ├── lowercase.ohx │ ├── lowercase.stdout │ ├── nospaces.ohx │ ├── nospaces.stdout │ ├── split-byte-comment.ohx │ ├── split-byte-newline.ohx │ ├── split-byte-space.ohx │ ├── trailing-backslash-short.ohx │ ├── trailing-backslash.ohx │ ├── truncated.ohx │ ├── uppercase.ohx │ └── uppercase.stdout ├── ld ├── 0-global │ ├── Makefile │ ├── archive │ │ └── archive-collision.oo │ ├── basic │ │ ├── blank.oe │ │ ├── blank.oo │ │ ├── comments.oe │ │ ├── comments.oo │ │ ├── hello.oe │ │ ├── hello.oo │ │ ├── hex-letter.oe │ │ ├── hex-letter.oo │ │ ├── hex-truncated.oo │ │ ├── mix-hex-comments-whitespace.oe │ │ ├── mix-hex-comments-whitespace.oo │ │ ├── whitespace-only.oe │ │ └── whitespace-only.oo │ ├── define │ │ ├── define-consecutive.oe │ │ ├── define-consecutive.oo │ │ ├── define-duplicate.oo │ │ ├── define-eof.oe │ │ ├── define-eof.oo │ │ ├── define-newline.oe │ │ ├── define-newline.oo │ │ ├── define-single-char.oe │ │ ├── define-single-char.oo │ │ ├── define-special-chars.oe │ │ ├── define-special-chars.oo │ │ ├── define-static.oe │ │ ├── define-static.oo │ │ ├── define-symbol-pad.oe │ │ └── define-symbol-pad.oo │ ├── invoke │ │ ├── invoke-missing.oo │ │ ├── invoke-multi.oe │ │ ├── invoke-multi.oo │ │ ├── invoke-rel-misaligned.oo │ │ ├── invoke-rel.oe │ │ ├── invoke-rel.oo │ │ ├── invoke-simple-four.oe │ │ ├── invoke-simple-four.oo │ │ ├── invoke-size.oe │ │ ├── invoke-size.oo │ │ ├── invoke-zero.oe │ │ └── invoke-zero.oo │ ├── multifile │ │ ├── multifile-basic.args │ │ ├── multifile-basic.oe │ │ ├── multifile-basic.oo │ │ ├── multifile-basic.oo.1 │ │ ├── multifile-basic.oo.2 │ │ ├── multifile-symbols.args │ │ ├── multifile-symbols.oe │ │ ├── multifile-symbols.oo │ │ ├── multifile-symbols.oo.a │ │ ├── multifile-symbols.oo.b │ │ └── multifile-symbols.oo.c │ └── programs │ │ ├── eight-queens.oe │ │ ├── eight-queens.oo │ │ ├── eight-queens.stdout │ │ ├── fibonacci.oe │ │ └── fibonacci.oo ├── 1-omc │ ├── Makefile │ ├── archive │ │ ├── archive-collision.oe │ │ └── archive-collision.oo │ ├── basic │ │ ├── blank.oe │ │ ├── blank.oo │ │ ├── comments.oe │ │ ├── comments.oo │ │ ├── hello.oe │ │ ├── hello.oo │ │ ├── hex-letter.oe │ │ ├── hex-letter.oo │ │ ├── hex-truncated.oo │ │ ├── mix-hex-comments-whitespace.oe │ │ ├── mix-hex-comments-whitespace.oo │ │ ├── whitespace-only.oe │ │ └── whitespace-only.oo │ ├── define │ │ ├── define-consecutive.oe │ │ ├── define-consecutive.oo │ │ ├── define-duplicate.oo │ │ ├── define-eof.oe │ │ ├── define-eof.oo │ │ ├── define-newline.oe │ │ ├── define-newline.oo │ │ ├── define-single-char.oe │ │ ├── define-single-char.oo │ │ ├── define-special-chars.oe │ │ ├── define-special-chars.oo │ │ ├── define-static.oe │ │ ├── define-static.oo │ │ ├── define-symbol-pad.oe │ │ └── define-symbol-pad.oo │ ├── invoke │ │ ├── invoke-missing.oo │ │ ├── invoke-multi.oe │ │ ├── invoke-multi.oo │ │ ├── invoke-rel-misaligned.oo │ │ ├── invoke-rel.oe │ │ ├── invoke-rel.oo │ │ ├── invoke-simple-four.oe │ │ ├── invoke-simple-four.oo │ │ ├── invoke-size.oe │ │ ├── invoke-size.oo │ │ ├── invoke-zero.oe │ │ └── invoke-zero.oo │ ├── multifile │ │ ├── multifile-basic.args │ │ ├── multifile-basic.oe │ │ ├── multifile-basic.oo │ │ ├── multifile-basic.oo.1 │ │ ├── multifile-basic.oo.2 │ │ ├── multifile-symbols.args │ │ ├── multifile-symbols.oe │ │ ├── multifile-symbols.oo │ │ ├── multifile-symbols.oo.a │ │ ├── multifile-symbols.oo.b │ │ └── multifile-symbols.oo.c │ └── programs │ │ ├── eight-queens.args │ │ ├── eight-queens.oe │ │ ├── eight-queens.oo │ │ ├── eight-queens.stdout │ │ ├── fibonacci.oe │ │ └── fibonacci.oo ├── 2-full │ ├── Makefile │ ├── basic │ │ ├── byte-outside-symbol.oo │ │ ├── start.oe │ │ └── start.oo │ ├── debug │ │ ├── debug.oe │ │ └── debug.oo │ ├── labels │ │ ├── label-duplicate.oo │ │ └── label-outside-symbol.oo │ └── symbols │ │ ├── static-override-global.args │ │ ├── static-override-global.oe │ │ ├── static-override-global.oo │ │ ├── static-override-global.oo.2 │ │ ├── static-override-global.oo.3 │ │ ├── symbol-constructor.oe │ │ ├── symbol-constructor.oo │ │ ├── symbol-invocations.oe │ │ ├── symbol-invocations.oo │ │ ├── symbols.oe │ │ └── symbols.oo ├── generate.sh └── run.sh ├── libc ├── 0-oo │ ├── Makefile │ ├── stdlib │ │ ├── strndup.c │ │ ├── strndup.stdout │ │ └── test_getenv.c │ └── string │ │ ├── test_memcmp.c │ │ ├── test_memmove.c │ │ ├── test_strchr.c │ │ ├── test_strcmp.c │ │ └── test_strlen.c ├── 1-omc │ ├── Makefile │ ├── OLD │ │ ├── Makefile │ │ ├── internal.c │ │ ├── internal.h │ │ ├── main.c │ │ ├── test.h │ │ └── test_stdlib_malloc.c │ └── stdlib │ │ └── test_strtol.c ├── 2-opc │ ├── Makefile │ ├── string │ │ ├── test_strcasecmp.c │ │ ├── test_strncasecmp.c │ │ └── test_strncmp.c │ └── test │ │ ├── environ │ │ ├── test_environ.c │ │ ├── test_putenv.c │ │ └── test_setenv.c │ │ ├── test_ctype.c │ │ ├── test_llong.c │ │ ├── test_multibyte.c │ │ ├── test_stdbit.c │ │ ├── test_stdio_format.c │ │ ├── test_stdio_format.stdout │ │ ├── test_stdlib_malloc.c │ │ └── test_stdlib_util.c ├── 3-full │ ├── Makefile │ └── test │ │ ├── test_aligned_alloc.c │ │ ├── test_stdbit_llong.c │ │ └── test_time.c └── run.sh ├── libo ├── 0-oo │ ├── Makefile │ └── util │ │ ├── itoa_d.c │ │ └── itoa_d.stdout ├── 1-opc │ ├── Makefile │ └── main.c └── run.sh ├── local.mk.sample ├── portability.h ├── sh └── run.sh ├── test-all.sh ├── test-bootstrap.sh ├── test-core.sh ├── test-final.sh ├── test-platform.sh └── vm ├── arithmetic ├── add-bad-dest.abort ├── add-bad-dest.oe.ohx ├── add-bad-dest.strict ├── add-literals.oe.ohx └── mix-type.oe.ohx ├── control ├── ims-shift.oe.ohx ├── ims-signed.oe.ohx ├── ims-single.oe.ohx └── ltu.oe.ohx ├── files ├── fread.oe ├── fread.oe.ohx ├── fseek.oe ├── fseek.oe.ohx ├── fseek.skip ├── ftell.oe ├── ftell.oe.ohx └── ftell.skip ├── io ├── hello.oe.ohx └── hello.stdout ├── logic ├── shl.oe.ohx └── shru.oe.ohx ├── memory ├── stw-mix.oe.ohx └── stw-stack.oe.ohx ├── misc ├── version.oe.ohx ├── wrap-posix.oe.ohx └── wrap-windows.oe.ohx ├── process ├── args-default.oe.ohx ├── args-extra.args ├── args-extra.oe.ohx ├── exit-0.oe.ohx ├── exit-1.oe.ohx ├── exit-1.status ├── exit-255.oe.ohx └── exit-255.status ├── programs ├── eight-queens.oe.ohx ├── eight-queens.stdout ├── fibonacci.oe.ohx └── fibonacci.stdout ├── run.sh └── testdata ├── dir ├── bar └── foo ├── hello-world.txt └── long-filename.long-extension /.gitattributes: -------------------------------------------------------------------------------- 1 | # Tell GitHub to syntax highlight our Onramp files correctly 2 | *.ohx linguist-language=asm 3 | *.oo linguist-language=asm 4 | *.os linguist-language=asm 5 | *.oa linguist-language=asm 6 | *.i linguist-language=c 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | /test/local.mk 3 | vgcore.* 4 | /.ninja_log 5 | -------------------------------------------------------------------------------- /core/as/2-full/rebuild-ccargs: -------------------------------------------------------------------------------- 1 | -with-cpp=build/intermediate/cpp-2-full/cpp.oe 2 | -with-cci=build/intermediate/cci-2-full/cci.oe 3 | -with-as=build/intermediate/as-1-compound/as.oe 4 | -Icore/libo/1-opc/include 5 | -O 6 | -g 7 | -------------------------------------------------------------------------------- /core/cci/2-full/rebuild-ccargs: -------------------------------------------------------------------------------- 1 | -with-cpp=build/intermediate/cpp-2-full/cpp.oe 2 | -with-cci=build/intermediate/cci-2-full/cci.oe 3 | -Icore/libo/1-opc/include 4 | -O 5 | -g 6 | -------------------------------------------------------------------------------- /core/cpp/2-full/rebuild-ccargs: -------------------------------------------------------------------------------- 1 | -with-cpp=build/intermediate/cpp-2-full/cpp.oe 2 | -Icore/libo/1-opc/include 3 | -O 4 | -g 5 | -------------------------------------------------------------------------------- /core/libc/3-full/README.md: -------------------------------------------------------------------------------- 1 | # Onramp C Standard Library -- Final Stage 2 | 3 | This stage adds floating point math, among other things. 4 | 5 | It is not yet implemented. 6 | -------------------------------------------------------------------------------- /core/os/0-minfs/README.md: -------------------------------------------------------------------------------- 1 | # Onramp Operating System -- First Stage 2 | -------------------------------------------------------------------------------- /core/os/1-full/README.md: -------------------------------------------------------------------------------- 1 | # Onramp Operating System -- Final Stage 2 | -------------------------------------------------------------------------------- /platform/cc/posix/wrap-header: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env onrampvm 2 | # This is a wrapped Onramp program. 3 | 4 | -------------------------------------------------------------------------------- /platform/cc/windows/wrap-header.bat: -------------------------------------------------------------------------------- 1 | REM This is a wrapped Onramp program. 2 | onrampvm %0 %* 3 | exit \b %errorlevel% 4 | 5 | -------------------------------------------------------------------------------- /platform/hex/onramp/README.md: -------------------------------------------------------------------------------- 1 | This directory contains platform-specific scripts for building and testing the Onramp bytecode hex tool. The actual code is part of the Onramp bootstrap process. It's in [`core/hex/0-onramp/`](../../../core/hex/0-onramp/). 2 | -------------------------------------------------------------------------------- /platform/hex/x86_64-linux/README.md: -------------------------------------------------------------------------------- 1 | This is an implementation of the hex tool directly in hexadecimal x86\_64 machine code in an ELF container for Linux. 2 | 3 | 4 | -------------------------------------------------------------------------------- /scripts/windows/build.bat: -------------------------------------------------------------------------------- 1 | REM TODO 2 | -------------------------------------------------------------------------------- /scripts/windows/setup.bat: -------------------------------------------------------------------------------- 1 | REM TODO 2 | -------------------------------------------------------------------------------- /test/ar/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # TODO we don't have any archiver tests yet. 4 | exit 0 5 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/comment.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 7 | 12 8 | 34 9 | 56 10 | 11 | =main 12 | 70800000 13 | 788F008C 14 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/keyword-all.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/0-basic/tests/keyword-all.nonstd -------------------------------------------------------------------------------- /test/as/0-basic/tests/keyword-not-found.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/0-basic/tests/keyword-not-found.fail -------------------------------------------------------------------------------- /test/as/0-basic/tests/keyword-not-found.os: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =test 6 | foo 7 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/keyword-too-long.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/0-basic/tests/keyword-too-long.fail -------------------------------------------------------------------------------- /test/as/0-basic/tests/keyword.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 70808182 7 | 8 | =main 9 | 70800000 10 | 788F008C 11 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/linker-invalid.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | =main 14 | 70800000 15 | 788F008C 16 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/linker.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =foo 6 | 00:bar 7 | 10@baz 8 | b ^c 9 | abcd&d 10 | 11 | =a 12 | =b 13 | =c 14 | =d 15 | 16 | =main 17 | 70800000 18 | 788F008C 19 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/no-whitespace.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =hello_world 48656C6C6F20776F726C64210A=foo 7E00&hello_world 6 | 7 | =main 8 | 70800000 9 | 788F008C 10 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/quoted-bytes.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 0102 7 | feFF 8 | 0123456789aBCdef 9 | 10 | =main 11 | 70800000 12 | 788F008C 13 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/string-backslash.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/0-basic/tests/string-backslash.fail -------------------------------------------------------------------------------- /test/as/0-basic/tests/string-backslash.os: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =test 6 | "this is not allowed: \n" 7 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/string-comment.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 7 | 3B2074686973206973206E6F74206120636F6D6D656E74 8 | 9 | =main 10 | 70800000 11 | 788F008C 12 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/string-tab.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/0-basic/tests/string-tab.fail -------------------------------------------------------------------------------- /test/as/0-basic/tests/string-tab.os: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =test 6 | " <- horizontal tab, not printable, error" 7 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/string-truncated.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/0-basic/tests/string-truncated.fail -------------------------------------------------------------------------------- /test/as/0-basic/tests/string-truncated.os: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =test 6 | "hello 7 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/string.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 68656C6C6F 7 | 776F726C64 8 | 9 | =main 10 | 70800000 11 | 788F008C 12 | -------------------------------------------------------------------------------- /test/as/0-basic/tests/whitespace.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | =main 10 | 70800000 11 | 788F008C 12 | -------------------------------------------------------------------------------- /test/as/1-compound/opcodes/opcode-add.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 70818283 7 | 70848506 8 | 70870809 9 | 708CAB8D 10 | 708A000A 11 | 708BFEF0 12 | 708B1234 13 | 708B5A7F 14 | 15 | =main 16 | 70800000 17 | 788F008C 18 | -------------------------------------------------------------------------------- /test/as/1-compound/opcodes/opcode-misc.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 718C8C04798D008C708D8C00 7 | 708C8D00788D008C708C8C04 8 | 788F008C 9 | 708C8C04 10 | 11 | =main 12 | 70800000 13 | 788F008C 14 | -------------------------------------------------------------------------------- /test/as/1-compound/opcodes/opcode-mov.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 70810082 7 | 8 | =main 9 | 70800000 10 | 788F008C 11 | -------------------------------------------------------------------------------- /test/as/1-compound/opcodes/opcode-pop.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 78808C00708C8C04 7 | 788A8C00708C8C04 8 | 788D8C00708C8C04 9 | 10 | =main 11 | 70800000 12 | 788F008C 13 | -------------------------------------------------------------------------------- /test/as/1-compound/opcodes/opcode-push.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 718C8C0479008C00 7 | 718C8C0479FF8C00 8 | 718C8C0479FF8C00 9 | 718C8C0479AB8C00 10 | 718C8C0479808C00 11 | 718C8C0479618C00 12 | 13 | =main 14 | 70800000 15 | 788F008C 16 | -------------------------------------------------------------------------------- /test/as/1-compound/opcodes/opcode-stw.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 79808DFC 7 | 79008DF8 8 | 9 | =main 10 | 70800000 11 | 788F008C 12 | -------------------------------------------------------------------------------- /test/as/1-compound/opcodes/opcode-zero.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 70810000 7 | 8 | =main 9 | 70800000 10 | 788F008C 11 | -------------------------------------------------------------------------------- /test/as/1-compound/syntax/comment.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 7 | 12 8 | 34 9 | 56 10 | 11 | =main 12 | 70800000 13 | 788F008C 14 | -------------------------------------------------------------------------------- /test/as/1-compound/syntax/linker-invalid.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/1-compound/syntax/linker-invalid.fail -------------------------------------------------------------------------------- /test/as/1-compound/syntax/linker.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/1-compound/syntax/linker.skip -------------------------------------------------------------------------------- /test/as/1-compound/syntax/no-whitespace.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =hello_world 48656C6C6F20776F726C64210A=foo 7E00&hello_world 6 | 7 | =main 8 | 70800000 9 | 788F008C 10 | -------------------------------------------------------------------------------- /test/as/1-compound/syntax/quoted-bytes.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =foo 6 | 123456 7 | =bar 8 | 789ABC 9 | =baz 10 | DE 11 | F0 12 | 13 | =main 14 | 70800000 15 | 788F008C 16 | -------------------------------------------------------------------------------- /test/as/1-compound/syntax/string-backslash.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/1-compound/syntax/string-backslash.fail -------------------------------------------------------------------------------- /test/as/1-compound/syntax/string-backslash.os: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =test 6 | "this is not allowed: \n" 7 | -------------------------------------------------------------------------------- /test/as/1-compound/syntax/string-comment.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =test 6 | 7 | 3B2074686973206973206E6F74206120636F6D6D656E74 8 | 9 | =main 10 | 70800000 11 | 788F008C 12 | -------------------------------------------------------------------------------- /test/as/1-compound/syntax/string-tab.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/1-compound/syntax/string-tab.fail -------------------------------------------------------------------------------- /test/as/1-compound/syntax/string-tab.os: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =main 6 | " <- horizontal tab, not printable, error" 7 | -------------------------------------------------------------------------------- /test/as/1-compound/syntax/string-truncated.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/1-compound/syntax/string-truncated.fail -------------------------------------------------------------------------------- /test/as/1-compound/syntax/string-truncated.os: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =main 6 | "hello 7 | -------------------------------------------------------------------------------- /test/as/1-compound/syntax/string.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | =hello_world 6 | 68656C6C6F 7 | 776F726C64 8 | 9 | =main 10 | 70800000 11 | 788F008C 12 | -------------------------------------------------------------------------------- /test/as/1-compound/syntax/whitespace.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | =main 10 | 70800000 11 | 788F008C 12 | -------------------------------------------------------------------------------- /test/as/2-full/numbers/zero.oo: -------------------------------------------------------------------------------- 1 | #line 1 "./numbers/zero.os" 2 | 3 | 4 | 5 | 6 | =foo 7 | 708A0000 8 | 70800000 9 | 7C8100007C810000 10 | 11 | =main 12 | 70800000 13 | 788F008C 14 | -------------------------------------------------------------------------------- /test/as/2-full/programs/fibonacci.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/2-full/programs/fibonacci.fail -------------------------------------------------------------------------------- /test/as/2-full/programs/hello-world.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/2-full/programs/hello-world.fail -------------------------------------------------------------------------------- /test/as/2-full/syntax/keyword-not-found.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/2-full/syntax/keyword-not-found.fail -------------------------------------------------------------------------------- /test/as/2-full/syntax/keyword-not-found.os: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | foo 6 | -------------------------------------------------------------------------------- /test/as/2-full/syntax/keyword-too-long.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/as/2-full/syntax/keyword-too-long.fail -------------------------------------------------------------------------------- /test/cc/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # TODO 4 | echo "Pass." 5 | -------------------------------------------------------------------------------- /test/cci/0-omc/expr/expr-char-long.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/expr/expr-char-long.fail -------------------------------------------------------------------------------- /test/cci/0-omc/expr/expr-char-short.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/expr/expr-char-short.fail -------------------------------------------------------------------------------- /test/cci/0-omc/expr/expr-char-trunc.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/expr/expr-char-trunc.fail -------------------------------------------------------------------------------- /test/cci/0-omc/expr/expr-char-trunc.i: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | char c = '; 3 | return 1; 4 | } 5 | -------------------------------------------------------------------------------- /test/cci/0-omc/expr/expr-deref-lvalue.stdout: -------------------------------------------------------------------------------- 1 | Hello 2 | Hello 3 | -------------------------------------------------------------------------------- /test/cci/0-omc/expr/expr-deref-twice.stdout: -------------------------------------------------------------------------------- 1 | H -------------------------------------------------------------------------------- /test/cci/0-omc/expr/expr-deref.stdout: -------------------------------------------------------------------------------- 1 | H -------------------------------------------------------------------------------- /test/cci/0-omc/expr/expr-non-pointer.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | int main(void) { 6 | return 6 - (2 * 3); 7 | } 8 | -------------------------------------------------------------------------------- /test/cci/0-omc/expr/expr-var.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | int foo; 6 | 7 | int main(void) { 8 | return foo; 9 | } 10 | -------------------------------------------------------------------------------- /test/cci/0-omc/func/func-decl-too-many-params.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/func/func-decl-too-many-params.fail -------------------------------------------------------------------------------- /test/cci/0-omc/func/func-decl-too-many-params.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/func/func-decl-too-many-params.nonstd -------------------------------------------------------------------------------- /test/cci/0-omc/func/func-decl.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | int foo(void); 6 | 7 | int main(void) {} 8 | -------------------------------------------------------------------------------- /test/cci/0-omc/func/func-def.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | static int foo(void) { 6 | } 7 | 8 | int main(void) { 9 | } 10 | -------------------------------------------------------------------------------- /test/cci/0-omc/func/func-return-mismatch.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/func/func-return-mismatch.nonstd -------------------------------------------------------------------------------- /test/cci/0-omc/locals/local-def-no-comma.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/locals/local-def-no-comma.fail -------------------------------------------------------------------------------- /test/cci/0-omc/locals/local-def-no-comma.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/locals/local-def-no-comma.nonstd -------------------------------------------------------------------------------- /test/cci/0-omc/programs/number-format.stdout: -------------------------------------------------------------------------------- 1 | 54081 2 | -------------------------------------------------------------------------------- /test/cci/0-omc/str/str-hello.stdout: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/cci/0-omc/type/type-too-many-indirections.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/type/type-too-many-indirections.fail -------------------------------------------------------------------------------- /test/cci/0-omc/type/type-too-many-indirections.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/type/type-too-many-indirections.nonstd -------------------------------------------------------------------------------- /test/cci/0-omc/type/typedef-indirect-too-many-indirections.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/type/typedef-indirect-too-many-indirections.fail -------------------------------------------------------------------------------- /test/cci/0-omc/type/typedef-indirect-too-many-indirections.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/0-omc/type/typedef-indirect-too-many-indirections.nonstd -------------------------------------------------------------------------------- /test/cci/0-omc/type/typedef.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | typedef int foo; 6 | typedef int* intp; 7 | 8 | int main(void) {} 9 | -------------------------------------------------------------------------------- /test/cci/0-omc/var/local-var-init.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | int main(void) { 6 | int x = 0; 7 | return x; 8 | } 9 | -------------------------------------------------------------------------------- /test/cci/1-opc/decl/decl-array-indeterminate-global.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/decl/decl-array-indeterminate-global.fail -------------------------------------------------------------------------------- /test/cci/1-opc/decl/decl-array-indeterminate-local.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/decl/decl-array-indeterminate-local.fail -------------------------------------------------------------------------------- /test/cci/1-opc/decl/decl-array-multidim.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/decl/decl-array-multidim.fail -------------------------------------------------------------------------------- /test/cci/1-opc/decl/decl-array-multidim.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/decl/decl-array-multidim.nonstd -------------------------------------------------------------------------------- /test/cci/1-opc/decl/decl-enum-empty.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/decl/decl-enum-empty.fail -------------------------------------------------------------------------------- /test/cci/1-opc/decl/decl-ptr-to-array.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/decl/decl-ptr-to-array.fail -------------------------------------------------------------------------------- /test/cci/1-opc/decl/decl-ptr-to-array.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/decl/decl-ptr-to-array.nonstd -------------------------------------------------------------------------------- /test/cci/1-opc/decl/decl-struct-anon-forward.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | struct; // ERROR, a forward-declared struct needs a name 6 | -------------------------------------------------------------------------------- /test/cci/1-opc/decl/decl-struct-anon-forward.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/decl/decl-struct-anon-forward.fail -------------------------------------------------------------------------------- /test/cci/1-opc/decl/decl-struct-flexible-not-last.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/decl/decl-struct-flexible-not-last.fail -------------------------------------------------------------------------------- /test/cci/1-opc/decl/tag-namespace.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/decl/tag-namespace.fail -------------------------------------------------------------------------------- /test/cci/1-opc/expr/expr-array-address.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/expr/expr-array-address.nonstd -------------------------------------------------------------------------------- /test/cci/1-opc/expr/expr-array-assign-ptr.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/expr/expr-array-assign-ptr.fail -------------------------------------------------------------------------------- /test/cci/1-opc/expr/expr-array-assign.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/expr/expr-array-assign.fail -------------------------------------------------------------------------------- /test/cci/1-opc/expr/expr-associativity.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | int main(void) { 6 | return 5 - 3 - 2; 7 | } 8 | -------------------------------------------------------------------------------- /test/cci/1-opc/expr/expr-conditional-assign.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/expr/expr-conditional-assign.fail -------------------------------------------------------------------------------- /test/cci/1-opc/expr/expr-sizeof-forward-struct.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/expr/expr-sizeof-forward-struct.fail -------------------------------------------------------------------------------- /test/cci/1-opc/function/function-variadic-pass.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/function/function-variadic-pass.fail -------------------------------------------------------------------------------- /test/cci/1-opc/function/function-variadic-pass.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/function/function-variadic-pass.skip -------------------------------------------------------------------------------- /test/cci/1-opc/main/main-return-0.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | int main(void) { 6 | return 0; 7 | } 8 | -------------------------------------------------------------------------------- /test/cci/1-opc/misc/end-of-block-label.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2025 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | int main(void) { 6 | { 7 | foo: 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/cci/1-opc/misc/string-literals.stdout: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/cci/1-opc/preprocs/preproc-start-of-line.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/preprocs/preproc-start-of-line.fail -------------------------------------------------------------------------------- /test/cci/1-opc/preprocs/preproc-start-of-line.i: -------------------------------------------------------------------------------- 1 | int main(void) #line 4 2 | {} 3 | -------------------------------------------------------------------------------- /test/cci/1-opc/stdout/stdout-fputc.stdout: -------------------------------------------------------------------------------- 1 | a -------------------------------------------------------------------------------- /test/cci/1-opc/stdout/stdout-putchar.stdout: -------------------------------------------------------------------------------- 1 | a -------------------------------------------------------------------------------- /test/cci/1-opc/stdout/stdout-puts.stdout: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/cci/1-opc/stmt/for-loop-scope.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/1-opc/stmt/for-loop-scope.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/decl-label.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/decl-label.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/decl-local-extern-after.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/decl-local-extern-after.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/decl-local-extern-before.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/decl-local-extern-before.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/decl-local-extern-hidden.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/decl-local-extern-hidden.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/decl-local-extern-static-after.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/decl-local-extern-static-after.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/decl-record-anon-tag.args: -------------------------------------------------------------------------------- 1 | -Wno-anonymous-tags $INPUT -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/cci/2-full/decl/function-shadow-params.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/function-shadow-params.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/struct-not-defined.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/struct-not-defined.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/struct-scope-forward-decl-missing.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/struct-scope-forward-decl-missing.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/struct-scope-inner-undef.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/struct-scope-inner-undef.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/struct-scope-outer-undef.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/struct-scope-outer-undef.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/struct-scope-param-nested.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/struct-scope-param-nested.fail -------------------------------------------------------------------------------- /test/cci/2-full/decl/typedef-comma.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/decl/typedef-comma.fail -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-basic.stdout: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-break-out-of-defer.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/defer/defer-break-out-of-defer.fail -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-case-error.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/defer/defer-case-error.fail -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-continue-out-of-defer.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/defer/defer-continue-out-of-defer.fail -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-default-error.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/defer/defer-default-error.fail -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-goto-forward-nested.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/defer/defer-goto-forward-nested.fail -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-goto-forward.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/defer/defer-goto-forward.fail -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-goto-out-of-defer-nested.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/defer/defer-goto-out-of-defer-nested.fail -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-goto-out-of-defer.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/defer/defer-goto-out-of-defer.fail -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-return-out-of-defer.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/defer/defer-return-out-of-defer.fail -------------------------------------------------------------------------------- /test/cci/2-full/defer/defer-return.stdout: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/cci/2-full/expr/const-error.args: -------------------------------------------------------------------------------- 1 | -o $OUTPUT $INPUT -Werror=discarded-qualifiers 2 | -------------------------------------------------------------------------------- /test/cci/2-full/expr/const-error.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/expr/const-error.fail -------------------------------------------------------------------------------- /test/cci/2-full/expr/expr-sizeof-incomplete.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/expr/expr-sizeof-incomplete.fail -------------------------------------------------------------------------------- /test/cci/2-full/func-ptr/func-sizeof.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/func-ptr/func-sizeof.fail -------------------------------------------------------------------------------- /test/cci/2-full/globals/tentative-def-init-twice.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/globals/tentative-def-init-twice.fail -------------------------------------------------------------------------------- /test/cci/2-full/globals/tentative-def-static-after.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/globals/tentative-def-static-after.fail -------------------------------------------------------------------------------- /test/cci/2-full/globals/tentative-def-static-before.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/globals/tentative-def-static-before.fail -------------------------------------------------------------------------------- /test/cci/2-full/globals/tentative-def-weak.args: -------------------------------------------------------------------------------- 1 | -o $OUTPUT $INPUT -fcommon -c 2 | -------------------------------------------------------------------------------- /test/cci/2-full/globals/tentative-def-weak.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/globals/tentative-def-weak.fail -------------------------------------------------------------------------------- /test/cci/2-full/globals/tentative-def-weak.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/globals/tentative-def-weak.skip -------------------------------------------------------------------------------- /test/cci/2-full/init/init-overrides-zeroing.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/init/init-overrides-zeroing.skip -------------------------------------------------------------------------------- /test/cci/2-full/init/init-partial-out-of-order.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/init/init-partial-out-of-order.skip -------------------------------------------------------------------------------- /test/cci/2-full/llong/digit-sep-end-suffix.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/llong/digit-sep-end-suffix.fail -------------------------------------------------------------------------------- /test/cci/2-full/llong/digit-sep-end.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/llong/digit-sep-end.fail -------------------------------------------------------------------------------- /test/cci/2-full/llong/digit-sep-start-bin.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/llong/digit-sep-start-bin.fail -------------------------------------------------------------------------------- /test/cci/2-full/llong/digit-sep-start-hex.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/llong/digit-sep-start-hex.fail -------------------------------------------------------------------------------- /test/cci/2-full/llong/llong-number.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/llong/llong-number.fail -------------------------------------------------------------------------------- /test/cci/2-full/llong/llong-number.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/llong/llong-number.skip -------------------------------------------------------------------------------- /test/cci/2-full/misc/end-of-statement-label.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/misc/end-of-statement-label.fail -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-break-cond.args: -------------------------------------------------------------------------------- 1 | -Wno-statement-expressions $INPUT -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-break-incr.args: -------------------------------------------------------------------------------- 1 | -Wno-statement-expressions $INPUT -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-break-init.args: -------------------------------------------------------------------------------- 1 | -Wno-statement-expressions $INPUT -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-break-invalid.args: -------------------------------------------------------------------------------- 1 | -Wno-statement-expressions $INPUT -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-break-invalid.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/stmt-exprs/stmt-expr-break-invalid.fail -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-break-switch.args: -------------------------------------------------------------------------------- 1 | -Wno-statement-expressions $INPUT -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-decl.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cci/2-full/stmt-exprs/stmt-expr-decl.fail -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-empty.args: -------------------------------------------------------------------------------- 1 | -Wno-statement-expressions $INPUT -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-empty.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | int main(void) { 6 | ({}); 7 | } 8 | -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-scope.args: -------------------------------------------------------------------------------- 1 | -Wno-statement-expressions $INPUT -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr-while.args: -------------------------------------------------------------------------------- 1 | -Wno-statement-expressions $INPUT -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr.args: -------------------------------------------------------------------------------- 1 | -Wno-statement-expressions $INPUT -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/cci/2-full/stmt-exprs/stmt-expr.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | int main(void) { 6 | return ({0;}); 7 | } 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/basic/blank.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/0-strip/basic/blank.c -------------------------------------------------------------------------------- /test/cpp/0-strip/basic/blank.i: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/0-strip/basic/blank.i -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-c-extra-slashes.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | /*/bob/*/ 7 | carl 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-c-extra-slashes.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alice 6 | 7 | carl 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-c-multiline.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | /*bob 7 | carl*/ 8 | dave 9 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-c-multiline.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alice 6 | 7 | dave 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-c-nested.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | /*bob/*carl*/ 7 | dave 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-c-nested.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alice 6 | 7 | dave 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-c.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | /*bob*/ 7 | carl 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-c.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alice 6 | 7 | carl 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-cxx-and-c.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | //*bob 7 | carl 8 | //*/dave 9 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-cxx-and-c.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alice 6 | 7 | carl 8 | 9 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-cxx-double-backslash.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | alice 7 | 8 | dave 9 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-cxx-eof.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | hello 6 | //no line ending at end of file -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-cxx-eof.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | hello 6 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-cxx-escaped-newline.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | //bob\ 7 | carl 8 | dave 9 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-cxx-escaped-newline.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alice 6 | 7 | dave 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-cxx.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | //bob 7 | carl 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/comment/comment-cxx.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | alice 6 | 7 | carl 8 | -------------------------------------------------------------------------------- /test/cpp/0-strip/ifdef/ifdef-unclosed-false.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/cpp/0-strip/ifdef/ifdef-unclosed-true.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/cpp/0-strip/ifdef/ifdef.i: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | a 9 | 10 | 11 | b 12 | 13 | -------------------------------------------------------------------------------- /test/cpp/1-omc/basic/blank.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/1-omc/basic/blank.c -------------------------------------------------------------------------------- /test/cpp/1-omc/basic/blank.i: -------------------------------------------------------------------------------- 1 | #line 1 "./basic/blank.c" 2 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-c-extra-slashes.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | /*/bob/*/ 7 | carl 8 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-c-extra-slashes.i: -------------------------------------------------------------------------------- 1 | #line 1 "./comment/comment-c-extra-slashes.c" 2 | 3 | 4 | 5 | 6 | alice 7 | 8 | carl 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-c-multiline.i: -------------------------------------------------------------------------------- 1 | #line 1 "./comment/comment-c-multiline.c" 2 | 3 | 4 | 5 | 6 | alice 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | dave 20 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-c-nested.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | /*bob/*carl*/ 7 | dave 8 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-c-nested.i: -------------------------------------------------------------------------------- 1 | #line 1 "./comment/comment-c-nested.c" 2 | 3 | 4 | 5 | 6 | alice 7 | 8 | dave 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-c-unterminated.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | /*bob 7 | dave 8 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-c-unterminated.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/1-omc/comment/comment-c-unterminated.fail -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-c.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | /*bob*/ 7 | carl 8 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-c.i: -------------------------------------------------------------------------------- 1 | #line 1 "./comment/comment-c.c" 2 | 3 | 4 | 5 | 6 | alice 7 | 8 | carl 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-cxx-and-c.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | //*bob 7 | carl 8 | //*/dave 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-cxx-and-c.i: -------------------------------------------------------------------------------- 1 | #line 1 "./comment/comment-cxx-and-c.c" 2 | 3 | 4 | 5 | 6 | alice 7 | 8 | carl 9 | 10 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-cxx-double-backslash.i: -------------------------------------------------------------------------------- 1 | #line 1 "./comment/comment-cxx-double-backslash.c" 2 | 3 | 4 | 5 | 6 | 7 | alice 8 | 9 | dave 10 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-cxx-eof.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | hello 6 | //no line ending at end of file -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-cxx-eof.i: -------------------------------------------------------------------------------- 1 | #line 1 "./comment/comment-cxx-eof.c" 2 | 3 | 4 | 5 | 6 | hello 7 | 8 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-cxx-escaped-newline.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | //bob\ 7 | carl 8 | dave 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-cxx-escaped-newline.i: -------------------------------------------------------------------------------- 1 | #line 1 "./comment/comment-cxx-escaped-newline.c" 2 | 3 | 4 | 5 | 6 | alice 7 | 8 | dave 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-cxx.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | alice 6 | //bob 7 | carl 8 | -------------------------------------------------------------------------------- /test/cpp/1-omc/comment/comment-cxx.i: -------------------------------------------------------------------------------- 1 | #line 1 "./comment/comment-cxx.c" 2 | 3 | 4 | 5 | 6 | alice 7 | 8 | carl 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-chain.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define AAA Hello 6 | #define BBB AAA 7 | BBB 8 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-chain.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-chain.c" 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hello 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-commandline-blank.args: -------------------------------------------------------------------------------- 1 | $INPUT -o $OUTPUT -DFOO 2 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-commandline-blank.c: -------------------------------------------------------------------------------- 1 | FOO 2 | FOOFOO 3 | FOO FOO 4 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-commandline-blank.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-commandline-blank.c" 2 | 1 3 | FOOFOO 4 | 1 1 5 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-commandline.args: -------------------------------------------------------------------------------- 1 | $INPUT -o $OUTPUT -DFOO=1 2 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-commandline.c: -------------------------------------------------------------------------------- 1 | FOO 2 | FOOFOO 3 | FOO FOO 4 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-commandline.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-commandline.c" 2 | 1 3 | FOOFOO 4 | 1 1 5 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-operator.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define A * 6 | A 7 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-operator.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-operator.c" 2 | 3 | 4 | 5 | 6 | 7 | * 8 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-recursive-indirect.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/1-omc/define/define-recursive-indirect.fail -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-recursive-indirect.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/1-omc/define/define-recursive-indirect.nonstd -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-recursive.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | // error, not allowed in omC 6 | #define FOO FOO 7 | FOO 8 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-recursive.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/1-omc/define/define-recursive.fail -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-recursive.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/1-omc/define/define-recursive.nonstd -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-symbols.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define A *foo/bar+(void)%{[ 6 | A 7 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-symbols.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-symbols.c" 2 | 3 | 4 | 5 | 6 | 7 | *foo/bar+(void)%{[ 8 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-whitespace-after.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | # define foo 3 6 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-whitespace-after.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-whitespace-after.c" 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-whitespace-before.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define foo 2 6 | -------------------------------------------------------------------------------- /test/cpp/1-omc/define/define-whitespace-before.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-whitespace-before.c" 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/cpp/1-omc/ifdef/ifdef-false-else.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/1-omc/ifdef/ifdef-false-else.fail -------------------------------------------------------------------------------- /test/cpp/1-omc/ifdef/ifdef-false-else.nonstd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/1-omc/ifdef/ifdef-false-else.nonstd -------------------------------------------------------------------------------- /test/cpp/1-omc/ifdef/ifdef-unclosed-false.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #ifdef foo 6 | -------------------------------------------------------------------------------- /test/cpp/1-omc/ifdef/ifdef-unclosed-false.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/1-omc/ifdef/ifdef-unclosed-false.fail -------------------------------------------------------------------------------- /test/cpp/1-omc/ifdef/ifdef-unclosed-true.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #ifdef __onramp_cpp__ 6 | -------------------------------------------------------------------------------- /test/cpp/1-omc/ifdef/ifdef-unclosed-true.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/1-omc/ifdef/ifdef-unclosed-true.fail -------------------------------------------------------------------------------- /test/cpp/1-omc/include/include-a.h: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #ifndef A 6 | #define A 7 | a 8 | #endif 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/include/include-b.h: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #ifndef B 6 | #define B 7 | b 8 | #endif 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/include/include-c.h: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #ifndef C 6 | #define C 7 | c 8 | #endif 9 | -------------------------------------------------------------------------------- /test/cpp/1-omc/include/include-two.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include-a.h" 6 | #include "include-b.h" 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/arguments/argument-twice.i: -------------------------------------------------------------------------------- 1 | #line 1 "./arguments/argument-twice.c" 2 | #line 7 "./arguments/argument-twice.c" 3 | 1 1 4 | 1 2 3 1 2 3 5 | (1,2,3) (1,2,3) 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/arguments/double-expand-args.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) BAR(x) 6 | #define BAR(y) y 7 | FOO(1) 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/arguments/double-expand-args.i: -------------------------------------------------------------------------------- 1 | #line 1 "./arguments/double-expand-args.c" 2 | #line 7 "./arguments/double-expand-args.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/arguments/empty-args.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO() 1 6 | FOO 7 | FOO() 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/arguments/empty-args.i: -------------------------------------------------------------------------------- 1 | #line 1 "./arguments/empty-args.c" 2 | #line 6 "./arguments/empty-args.c" 3 | FOO 4 | 5 | 1 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/arguments/nested-macros.i: -------------------------------------------------------------------------------- 1 | #line 1 "./arguments/nested-macros.c" 2 | #line 8 "./arguments/nested-macros.c" 3 | 1 2 w -2 -1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/arguments/nested-parens.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x, y) y x 6 | FOO((1,2),(3,4)) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/arguments/nested-parens.i: -------------------------------------------------------------------------------- 1 | #line 1 "./arguments/nested-parens.c" 2 | #line 6 "./arguments/nested-parens.c" 3 | (3,4) (1,2) 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/arguments/simple-args.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) x 6 | FOO(1) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/arguments/simple-args.i: -------------------------------------------------------------------------------- 1 | #line 1 "./arguments/simple-args.c" 2 | #line 6 "./arguments/simple-args.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/blank/blank-directive.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | # 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/blank/blank-directive.i: -------------------------------------------------------------------------------- 1 | #line 1 "./blank/blank-directive.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/blank/blank.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/blank/blank.c -------------------------------------------------------------------------------- /test/cpp/2-full/blank/blank.i: -------------------------------------------------------------------------------- 1 | #line 1 "./blank/blank.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/blank/no-directives.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | hello 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/blank/no-directives.i: -------------------------------------------------------------------------------- 1 | #line 1 "./blank/no-directives.c" 2 | #line 5 "./blank/no-directives.c" 3 | hello 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-blank.args: -------------------------------------------------------------------------------- 1 | -DFOO 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-blank.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | FOO 2 3 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-blank.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/define/define-commandline-blank.fail -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-function-0args.args: -------------------------------------------------------------------------------- 1 | -DFOO()=2 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-function-0args.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | 1 FOO() 3 6 | FOO 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-function-0args.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/define/define-commandline-function-0args.fail -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-function-1arg.args: -------------------------------------------------------------------------------- 1 | -DFOO(x)=x 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-function-1arg.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | 1 FOO(2) 3 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-function-1arg.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/define/define-commandline-function-1arg.fail -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-function-2args.args: -------------------------------------------------------------------------------- 1 | -DFOO(x,y)=y##x 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-function-2args.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | 1 FOO(3,2) 4 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-function-2args.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/define/define-commandline-function-2args.fail -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-object-comment.args: -------------------------------------------------------------------------------- 1 | -DFOO=/*hello*/2// 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-object-comment.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | 1 FOO 3 6 | FOO() 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-object-comment.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/define/define-commandline-object-comment.fail -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-object.args: -------------------------------------------------------------------------------- 1 | -DFOO=2 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-object.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | 1 FOO 3 6 | FOO() 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-commandline-object.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/define/define-commandline-object.fail -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-function-no-args-arg.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO() 6 | FOO(1) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-function-no-args-arg.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/define/define-function-no-args-arg.fail -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-function-no-args.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO() 6 | FOO() 7 | FOO( /*comment */) 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-function-no-args.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-function-no-args.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-hideset-intersection.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-hideset-intersection.c" 2 | #line 20 "./define/define-hideset-intersection.c" 3 | ZW 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-hideset.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-hideset.c" 2 | #line 6 "./define/define-hideset.c" 3 | FOO 4 | #line 9 "./define/define-hideset.c" 5 | BAR 6 | BAZ 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-indent-after-hash.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define BAR 1 6 | BAR 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-indent-after-hash.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-indent-after-hash.c" 2 | #line 6 "./define/define-indent-after-hash.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-indent-before-hash.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | # define BAR 1 6 | BAR 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-indent-before-hash.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-indent-before-hash.c" 2 | #line 6 "./define/define-indent-before-hash.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-multiline-comment.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-multiline-comment.c" 2 | #line 8 "./define/define-multiline-comment.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-object-to-function.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-object-to-function.c" 2 | #line 7 "./define/define-object-to-function.c" 3 | 2, 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-parens.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-parens.c" 2 | #line 7 "./define/define-parens.c" 3 | ( 4 | ) 5 | #line 11 "./define/define-parens.c" 6 | FOO ( 1 ) 7 | 1 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-recursive.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO BAR 6 | #define BAR x 7 | FOO 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-recursive.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-recursive.c" 2 | #line 7 "./define/define-recursive.c" 3 | x 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-string-macro-no-whitespace.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-string-macro-no-whitespace.c" 2 | #line 8 "./define/define-string-macro-no-whitespace.c" 3 | "Hello ""world!" 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-va-args-not-variadic-stringify.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/define/define-va-args-not-variadic-stringify.fail -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-va-args-not-variadic.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) __VA_ARGS__ 6 | FOO(1) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-va-args-not-variadic.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-va-args-not-variadic.c" 2 | #line 6 "./define/define-va-args-not-variadic.c" 3 | __VA_ARGS__ 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-variadic-expand.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-variadic-expand.c" 2 | #line 6 "./define/define-variadic-expand.c" 3 | before after 4 | before 1 after 5 | before 1,2 after 6 | before 1,2,3 after 7 | before 1,(2,3),4 after 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-variadic-first.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(..., x, y) 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-variadic-first.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/define/define-variadic-first.fail -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-variadic-ignored.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-variadic-ignored.c" 2 | #line 6 "./define/define-variadic-ignored.c" 3 | foo 4 | foo 5 | foo 6 | foo 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-variadic-middle.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x, ..., y) 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-variadic-middle.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/define/define-variadic-middle.fail -------------------------------------------------------------------------------- /test/cpp/2-full/define/define-variadic-paste-extension-multiple-blank.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define-variadic-paste-extension-multiple-blank.c" 2 | #line 12 "./define/define-variadic-paste-extension-multiple-blank.c" 3 | 1, 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define BAR 1 6 | BAR 7 | #define BAZ BAR+3 8 | BAZ 9 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/define.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/define.c" 2 | #line 6 "./define/define.c" 3 | 1 4 | 5 | 1+3 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/undef-file.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | __FILE__ 6 | #undef __FILE__ 7 | __FILE__ 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/undef-file.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/undef-file.c" 2 | #line 5 "./define/undef-file.c" 3 | "./define/undef-file.c" 4 | 5 | __FILE__ 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/undef-function-like.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) x 6 | FOO(2) 7 | #undef FOO 8 | FOO(3) 9 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/undef-function-like.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/undef-function-like.c" 2 | #line 6 "./define/undef-function-like.c" 3 | 2 4 | 5 | FOO(3) 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/undef-line.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | __LINE__ 6 | #undef __LINE__ 7 | __LINE__ 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/undef-line.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/undef-line.c" 2 | #line 5 "./define/undef-line.c" 3 | 5 4 | 5 | __LINE__ 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/undef-not-defined.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #undef FOO 6 | FOO 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/undef-not-defined.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/undef-not-defined.c" 2 | #line 6 "./define/undef-not-defined.c" 3 | FOO 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/undef-object-like.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 6 | FOO 7 | #undef FOO 8 | FOO 9 | -------------------------------------------------------------------------------- /test/cpp/2-full/define/undef-object-like.i: -------------------------------------------------------------------------------- 1 | #line 1 "./define/undef-object-like.c" 2 | #line 8 "./define/undef-object-like.c" 3 | FOO 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-define-after.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-define-after.c" 2 | #line 6 "./extensions/arg-directive-define-after.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-define-before.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-define-before.c" 2 | #line 6 "./extensions/arg-directive-define-before.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-define-inhibited.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-define-inhibited.c" 2 | #line 6 "./extensions/arg-directive-define-inhibited.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-define-multiple-after.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-define-multiple-after.c" 2 | #line 6 "./extensions/arg-directive-define-multiple-after.c" 3 | 2 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-define-multiple-first.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-define-multiple-first.c" 2 | #line 6 "./extensions/arg-directive-define-multiple-first.c" 3 | 2 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-define-multiple-reverse.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-define-multiple-reverse.c" 2 | #line 6 3 | 2 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-define-multiple-second.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-define-multiple-second.c" 2 | #line 6 "./extensions/arg-directive-define-multiple-second.c" 3 | 2 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-define-repeat.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-define-repeat.c" 2 | #line 6 3 | 1 nodef 1 nodef 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-define-unused.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-define-unused.c" 2 | #line 6 "./extensions/arg-directive-define-unused.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-if-inhibited.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-if-inhibited.c" 2 | #line 11 3 | "FOO" 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/arg-directive-if.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/arg-directive-if.c" 2 | #line 6 "./extensions/arg-directive-if.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/pragma-once.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | hello 3 | -------------------------------------------------------------------------------- /test/cpp/2-full/extensions/pragma-once.i: -------------------------------------------------------------------------------- 1 | #line 1 "./extensions/pragma-once.c" 2 | #line 1 "./extensions/pragma-once.h" 3 | 4 | hello 5 | #line 6 "./extensions/pragma-once.c" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/elif-without-if.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #elif 1 6 | a 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/elif-without-if.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/if/elif-without-if.fail -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-constant-false.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if 0 + 0 6 | foo 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-constant-false.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-add-constant-false.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-constant-true-multiple.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if 0 + 1 + 2 6 | foo 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-constant-true-multiple.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-add-constant-true-multiple.c" 2 | #line 6 "./if/if-add-constant-true-multiple.c" 3 | foo 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-constant-true.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if 0 + 1 6 | foo 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-constant-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-add-constant-true.c" 2 | #line 6 "./if/if-add-constant-true.c" 3 | foo 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-mul-false.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if 0 + 2 * 0 6 | a 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-mul-false.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-add-mul-false.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-mul-parens-true.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if 2 * (3 + 1) 6 | a 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-mul-parens-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-add-mul-parens-true.c" 2 | #line 6 "./if/if-add-mul-parens-true.c" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-mul-true.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if 1 + 2 * 3 6 | a 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-add-mul-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-add-mul-true.c" 2 | #line 6 "./if/if-add-mul-true.c" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-char-literal-false.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-char-literal-false.c" 2 | #line 8 "./if/if-char-literal-false.c" 3 | 0 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-char-literal-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-char-literal-true.c" 2 | #line 6 "./if/if-char-literal-true.c" 3 | 1 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-comma.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/if/if-comma.fail -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-conditional-precedence-comma.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/if/if-conditional-precedence-comma.fail -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-conditional-precedence.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-conditional-precedence.c" 2 | #line 11 "./if/if-conditional-precedence.c" 3 | yup 4 | #line 14 "./if/if-conditional-precedence.c" 5 | 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-conditional.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-conditional.c" 2 | #line 11 "./if/if-conditional.c" 3 | yup 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-define-defined.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/if/if-define-defined.fail -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-and-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-defined-and-true.c" 2 | #line 8 "./if/if-defined-and-true.c" 3 | foo bar 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-noparens-false.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if defined A 6 | a 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-noparens-false.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-defined-noparens-false.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-noparens-true.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define A 6 | #if defined A 7 | a 8 | #endif 9 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-noparens-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-defined-noparens-true.c" 2 | #line 7 "./if/if-defined-noparens-true.c" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-parens-extra-close.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define A 6 | #if defined(A)) 7 | a 8 | #endif 9 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-parens-extra-close.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/if/if-defined-parens-extra-close.fail -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-parens-extra-open.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if defined((A)) 6 | a 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-parens-extra-open.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/if/if-defined-parens-extra-open.fail -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-parens-false.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if defined(A) 6 | a 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-parens-false.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-defined-parens-false.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-parens-true.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define A 6 | #if defined(A) 7 | a 8 | #endif 9 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-parens-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-defined-parens-true.c" 2 | #line 7 "./if/if-defined-parens-true.c" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-parens-unclosed.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define A 6 | #if defined(A 7 | a 8 | #endif 9 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-defined-parens-unclosed.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/if/if-defined-parens-unclosed.fail -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-elif-both-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-elif-both-true.c" 2 | #line 8 "./if/if-elif-both-true.c" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-elif.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if 0 6 | a 7 | #elif 1 8 | b 9 | #endif 10 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-elif.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-elif.c" 2 | #line 8 "./if/if-elif.c" 3 | b 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-macro-defined-false.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-macro-defined-false.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-macro-defined-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-macro-defined-true.c" 2 | #line 13 "./if/if-macro-defined-true.c" 3 | x 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-macro-expand-math.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-macro-expand-math.c" 2 | #line 8 "./if/if-macro-expand-math.c" 3 | foo bar 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-macro.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 1 6 | #if FOO 7 | foo 8 | #endif 9 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-macro.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-macro.c" 2 | #line 7 "./if/if-macro.c" 3 | foo 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-multiline.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/if/if-multiline.fail -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-pasted-macro.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-pasted-macro.c" 2 | #line 10 "./if/if-pasted-macro.c" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-shift-bitand-true.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #if 1 << 5 & 32 6 | a 7 | #endif 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-shift-bitand-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-shift-bitand-true.c" 2 | #line 6 "./if/if-shift-bitand-true.c" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/if-skip-relaxed-parsing.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/if-skip-relaxed-parsing.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/ifdef-comment.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/ifdef-comment.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/if/ifdef-elifdef-both-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./if/ifdef-elifdef-both-true.c" 2 | #line 8 "./if/ifdef-elifdef-both-true.c" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/elifdef-simple-not-taken.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/elifdef-simple-not-taken.c" 2 | #line 10 "./ifdef/elifdef-simple-not-taken.c" 3 | C 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/elifdef-simple-previously-taken.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/elifdef-simple-previously-taken.c" 2 | #line 7 "./ifdef/elifdef-simple-previously-taken.c" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/elifdef-simple-taken.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/elifdef-simple-taken.c" 2 | #line 9 "./ifdef/elifdef-simple-taken.c" 3 | b 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/elifndef-simple.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/elifndef-simple.c" 2 | #line 7 "./ifdef/elifndef-simple.c" 3 | foo 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/else-unterminated-false.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 6 | #ifdef FOO 7 | #else 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/else-unterminated-false.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/ifdef/else-unterminated-false.fail -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/else-unterminated-true.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #ifdef FOO 6 | #else 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/else-unterminated-true.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/ifdef/else-unterminated-true.fail -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-builtins.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/ifdef-builtins.c" 2 | #line 6 "./ifdef/ifdef-builtins.c" 3 | FILE 4 | #line 10 "./ifdef/ifdef-builtins.c" 5 | LINE 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-else-false.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #ifdef A 6 | a 7 | #else 8 | b 9 | #endif 10 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-else-false.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/ifdef-else-false.c" 2 | #line 8 "./ifdef/ifdef-else-false.c" 3 | b 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-else-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/ifdef-else-true.c" 2 | #line 7 "./ifdef/ifdef-else-true.c" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-nested-false.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/ifdef-nested-false.c" 2 | #line 13 "./ifdef/ifdef-nested-false.c" 3 | d 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-nested-true-false.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/ifdef-nested-true-false.c" 2 | #line 7 "./ifdef/ifdef-nested-true-false.c" 3 | a 4 | #line 11 "./ifdef/ifdef-nested-true-false.c" 5 | c 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-nested-true-true.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/ifdef-nested-true-true.c" 2 | #line 8 "./ifdef/ifdef-nested-true-true.c" 3 | a 4 | 5 | b 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-simple.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/ifdef-simple.c" 2 | #line 7 "./ifdef/ifdef-simple.c" 3 | foo 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-unterminated-false.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #ifdef FOO 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-unterminated-false.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/ifdef/ifdef-unterminated-false.fail -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-unterminated-true.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 6 | #ifdef FOO 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifdef-unterminated-true.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/ifdef/ifdef-unterminated-true.fail -------------------------------------------------------------------------------- /test/cpp/2-full/ifdef/ifndef-simple.i: -------------------------------------------------------------------------------- 1 | #line 1 "./ifdef/ifndef-simple.c" 2 | #line 10 "./ifdef/ifndef-simple.c" 3 | bar 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/a/include-next.h: -------------------------------------------------------------------------------- 1 | a 2 | #include_next "include-next.h" 3 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/a/include-path.h: -------------------------------------------------------------------------------- 1 | a 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/a/include-system.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/b/include-next.h: -------------------------------------------------------------------------------- 1 | b 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/b/include-path.h: -------------------------------------------------------------------------------- 1 | b 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include spaces.h: -------------------------------------------------------------------------------- 1 | two spaces 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include space.h: -------------------------------------------------------------------------------- 1 | one space 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-\".h: -------------------------------------------------------------------------------- 1 | hello 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-\".i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-\".c" 2 | #line 1 "./include/include-\".h" 3 | hello 4 | #line 9 "./include/include-\".c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-angle-initialexpand.args: -------------------------------------------------------------------------------- 1 | -I. 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-angle-initialexpand.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-angle-initialexpand.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-angle-noexpand.args: -------------------------------------------------------------------------------- 1 | -I. 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-angle-noexpand.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-angle-noexpand.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-angle-partialexpand.args: -------------------------------------------------------------------------------- 1 | -I. 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-angle-partialexpand.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-angle-partialexpand.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-angle-without-arg.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-angle-without-arg.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-angle.args: -------------------------------------------------------------------------------- 1 | -Iinclude 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-angle.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-angle.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-angle.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-command-line-working-directory.args: -------------------------------------------------------------------------------- 1 | -include working-directory-test.h 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-command-line-working-directory.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | FOO 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-command-line-working-directory.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-command-line-working-directory.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-command-line.args: -------------------------------------------------------------------------------- 1 | -include include/include-command-line.h 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-command-line.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | FOO 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-command-line.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-command-line.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-command-line.h: -------------------------------------------------------------------------------- 1 | #define FOO 1 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-define.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 1 6 | #include "include-define.h" 7 | BAR 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-define.h: -------------------------------------------------------------------------------- 1 | FOO 2 | #define BAR 2 3 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-define.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-define.c" 2 | #line 1 "./include/include-define.h" 3 | 1 4 | #line 7 "./include/include-define.c" 5 | 2 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-extra-tokens-angle.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include 123 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-extra-tokens-angle.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-extra-tokens-angle.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-extra-tokens-macro.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-extra-tokens-macro.c" 2 | #line 1 "./include/include-hello.h" 3 | hello 4 | #line 7 "./include/include-extra-tokens-macro.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-extra-tokens-quote.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include-hello.h" 123 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-extra-tokens-quote.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-extra-tokens-quote.c" 2 | #line 1 "./include/include-hello.h" 3 | hello 4 | #line 6 "./include/include-extra-tokens-quote.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-hello.h: -------------------------------------------------------------------------------- 1 | hello 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-iquote-angle.args: -------------------------------------------------------------------------------- 1 | -iquote include/a 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-iquote-angle.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-iquote-angle.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-iquote-quote.args: -------------------------------------------------------------------------------- 1 | -iquote include/a 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-iquote-quote.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include-path.h" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-iquote-quote.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-iquote-quote.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-isystem.args: -------------------------------------------------------------------------------- 1 | -isystem include/a 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-isystem.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-isystem.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-angle.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 6 | #include FOO 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-angle.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-macro-angle.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-blank-after.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-macro-blank-after.c" 2 | #line 1 "./include/include-hello.h" 3 | hello 4 | #line 9 "./include/include-macro-blank-after.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-blank-before.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 6 | #include FOO "include-hello.h" 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-blank-before.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-macro-blank-before.c" 2 | #line 1 "./include/include-hello.h" 3 | hello 4 | #line 7 "./include/include-macro-blank-before.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-function-c-comment.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-macro-function-c-comment.c" 2 | #line 1 "./include/include-hello.h" 3 | hello 4 | #line 7 "./include/include-macro-function-c-comment.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-function-cxx-comment.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-macro-function-cxx-comment.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-function-incomplete.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-macro-function-incomplete.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-function-newline-before.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-macro-function-newline-before.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-function-newline-between.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-macro-function-newline-between.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-function-space.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-macro-function-space.c" 2 | #line 1 "./include/include-hello.h" 3 | hello 4 | #line 7 "./include/include-macro-function-space.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-function.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO() "include-hello.h" 6 | #include FOO() 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-function.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-macro-function.c" 2 | #line 1 "./include/include-hello.h" 3 | hello 4 | #line 7 "./include/include-macro-function.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-not-string.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 123 6 | #include FOO 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-not-string.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-macro-not-string.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-object.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO "include-hello.h" 6 | #include FOO 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-macro-object.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-macro-object.c" 2 | #line 1 "./include/include-hello.h" 3 | hello 4 | #line 7 "./include/include-macro-object.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-next-different-filename.args: -------------------------------------------------------------------------------- 1 | -Iinclude -Iinclude/a -Iinclude/b 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-next-different-filename.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-next-different-filename.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-next-different-filename.h: -------------------------------------------------------------------------------- 1 | hd 2 | #include_next "include-next.h" 3 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-next-relative.args: -------------------------------------------------------------------------------- 1 | -Iinclude/a -Iinclude/b 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-next-relative.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-next-relative.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-next.args: -------------------------------------------------------------------------------- 1 | -Iinclude/a -Iinclude/b 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-next.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | src 6 | #include 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-next.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-next.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-next.h: -------------------------------------------------------------------------------- 1 | h 2 | #include_next "include-next.h" 3 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-no-space-angle.args: -------------------------------------------------------------------------------- 1 | -Iinclude 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-no-space-angle.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-no-space-angle.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-no-space-angle.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-no-space-quote.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include"include-hello.h" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-no-space-quote.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-no-space-quote.c" 2 | #line 1 "./include/include-hello.h" 3 | hello 4 | #line 6 "./include/include-no-space-quote.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-override.args: -------------------------------------------------------------------------------- 1 | -Iinclude/b -Iinclude/a 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-override.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include-path.h" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-override.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-override.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-absolute-nospace.args: -------------------------------------------------------------------------------- 1 | -I${PWD}include/a 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-absolute-nospace.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include-path.h" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-absolute-nospace.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-path-absolute-nospace.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-missing.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include-path.h" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-missing.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-path-missing.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-relative-nospace.args: -------------------------------------------------------------------------------- 1 | -Iinclude/a 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-relative-nospace.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include-path.h" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-relative-nospace.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-path-relative-nospace.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-relative-space.args: -------------------------------------------------------------------------------- 1 | -I include/a 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-relative-space.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include-path.h" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-path-relative-space.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-path-relative-space.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-quotes.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include-hello.h" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-quotes.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-quotes.c" 2 | #line 1 "./include/include-hello.h" 3 | hello 4 | #line 6 "./include/include-quotes.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-space-angle-macro.args: -------------------------------------------------------------------------------- 1 | -Iinclude 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-space-angle-macro.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 6 | #include FOO 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-space-angle-macro.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-space-angle-macro.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-space-angle.args: -------------------------------------------------------------------------------- 1 | -Iinclude 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-space-angle.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-space-angle.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-space-angle.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-space-string.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include space.h" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-space-string.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-space-string.c" 2 | #line 1 "./include/include space.h" 3 | one space 4 | #line 6 "./include/include-space-string.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-spaces-angle-macro.args: -------------------------------------------------------------------------------- 1 | -Iinclude 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-spaces-angle-macro.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-spaces-angle-macro.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-spaces-angle.args: -------------------------------------------------------------------------------- 1 | -Iinclude 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-spaces-angle.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/include/include-spaces-angle.fail -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-spaces-string.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #include "include spaces.h" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-spaces-string.i: -------------------------------------------------------------------------------- 1 | #line 1 "./include/include-spaces-string.c" 2 | #line 1 "./include/include spaces.h" 3 | two spaces 4 | #line 6 "./include/include-spaces-string.c" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-stack-a.h: -------------------------------------------------------------------------------- 1 | a 2 | #include "include-stack-b.h" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-stack-b.h: -------------------------------------------------------------------------------- 1 | b 2 | #include "include-stack-c.h" 3 | b 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-stack-c.h: -------------------------------------------------------------------------------- 1 | c 2 | #include "include-stack-d.h" 3 | c 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-stack-d.h: -------------------------------------------------------------------------------- 1 | d 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-stack-recursive-a.h: -------------------------------------------------------------------------------- 1 | a 2 | #include "include-stack-recursive-b.h" 3 | a 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-stack-recursive-b.h: -------------------------------------------------------------------------------- 1 | b 2 | #ifndef FOO 3 | #define FOO 4 | #include "include-stack-recursive-a.h" 5 | #endif 6 | b 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-stack-recursive.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | 0 6 | #include "include-stack-recursive-a.h" 7 | 0 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/include/include-stack.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | 0 6 | #include "include-stack-a.h" 7 | 0 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/lexer/lexer-escaped-cr.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | abc\ def\ ghi\ jkl x=\ \ 5;\ -------------------------------------------------------------------------------- /test/cpp/2-full/lexer/lexer-escaped-cr.i: -------------------------------------------------------------------------------- 1 | #line 1 "./lexer/lexer-escaped-cr.c" 2 | #line 5 "./lexer/lexer-escaped-cr.c" 3 | abcdefghijkl 4 | #line 10 "./lexer/lexer-escaped-cr.c" 5 | x= 6 | 7 | 5; 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/lexer/lexer-escaped-crlf.i: -------------------------------------------------------------------------------- 1 | #line 1 "./lexer/lexer-escaped-crlf.c" 2 | #line 5 "./lexer/lexer-escaped-crlf.c" 3 | abcdefghijkl 4 | #line 10 "./lexer/lexer-escaped-crlf.c" 5 | x= 6 | 7 | 5; 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/lexer/lexer-escaped-eof.i: -------------------------------------------------------------------------------- 1 | #line 1 "./lexer/lexer-escaped-eof.c" 2 | #line 10 "./lexer/lexer-escaped-eof.c" 3 | \ 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/lexer/lexer-escaped-lf-eof.i: -------------------------------------------------------------------------------- 1 | #line 1 "./lexer/lexer-escaped-lf-eof.c" 2 | -------------------------------------------------------------------------------- /test/cpp/2-full/lexer/lexer-escaped-lf.i: -------------------------------------------------------------------------------- 1 | #line 1 "./lexer/lexer-escaped-lf.c" 2 | #line 5 "./lexer/lexer-escaped-lf.c" 3 | abcdefghijkl 4 | #line 10 "./lexer/lexer-escaped-lf.c" 5 | x= 6 | 7 | 5; 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/lexer/lexer-string-escapes.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | "\"\\\n" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/lexer/lexer-string-escapes.i: -------------------------------------------------------------------------------- 1 | #line 1 "./lexer/lexer-string-escapes.c" 2 | #line 5 "./lexer/lexer-string-escapes.c" 3 | "\"\\\n" 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/lexer/lexer-string.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | "hello" 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/lexer/lexer-string.i: -------------------------------------------------------------------------------- 1 | #line 1 "./lexer/lexer-string.c" 2 | #line 5 "./lexer/lexer-string.c" 3 | "hello" 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/linemarker/TODO-carriage-returns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/linemarker/TODO-carriage-returns -------------------------------------------------------------------------------- /test/cpp/2-full/linemarker/linemarker-cr.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | hello hello hello #define X hello X hello -------------------------------------------------------------------------------- /test/cpp/2-full/linemarker/linemarker-escaped-newline.i: -------------------------------------------------------------------------------- 1 | #line 1 "./linemarker/linemarker-escaped-newline.c" 2 | #line 8 "./linemarker/linemarker-escaped-newline.c" 3 | hello 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/misc/defined.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 6 | defined(FOO) 7 | defined(BAR) 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/misc/defined.i: -------------------------------------------------------------------------------- 1 | #line 1 "./misc/defined.c" 2 | #line 6 "./misc/defined.c" 3 | defined() 4 | defined(BAR) 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/misc/indent-code.i: -------------------------------------------------------------------------------- 1 | #line 1 "./misc/indent-code.c" 2 | #line 5 "./misc/indent-code.c" 3 | void foo ( ) { 4 | if ( x ? y : z ) { 5 | a + = b ; 6 | } 7 | ?:=*;+ 8 | } 9 | -------------------------------------------------------------------------------- /test/cpp/2-full/misc/mirror1.i: -------------------------------------------------------------------------------- 1 | #line 1 "./misc/mirror1.c" 2 | #line 23 "./misc/mirror1.c" 3 | static void mirror_TEST_fake_key0(void); 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/misc/newlines-after-empty-macro.i: -------------------------------------------------------------------------------- 1 | #line 1 "./misc/newlines-after-empty-macro.c" 2 | #line 8 "./misc/newlines-after-empty-macro.c" 3 | typedef int unused; 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/misc/pragma-ifdef.i: -------------------------------------------------------------------------------- 1 | #line 1 "./misc/pragma-ifdef.c" 2 | #line 13 "./misc/pragma-ifdef.c" 3 | b 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/misc/pragma-keyword-concat.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/misc/pragma-keyword-concat.fail -------------------------------------------------------------------------------- /test/cpp/2-full/misc/pragma-keyword.i: -------------------------------------------------------------------------------- 1 | #line 1 "./misc/pragma-keyword.c" 2 | #line 5 "./misc/pragma-keyword.c" 3 | a 4 | #pragma onramptest a (b c ? "foo" 'bar' { * ; 5 | b 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/misc/pragma-macro.i: -------------------------------------------------------------------------------- 1 | #line 1 "./misc/pragma-macro.c" 2 | #line 7 "./misc/pragma-macro.c" 3 | #pragma onramptest 4 | #pragma onramptest 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/misc/pragma.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | a 6 | #pragma onramptest a (b c ? "foo" 'bar' { * ; // 7 | b 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/misc/pragma.i: -------------------------------------------------------------------------------- 1 | #line 1 "./misc/pragma.c" 2 | #line 5 "./misc/pragma.c" 3 | a 4 | #pragma onramptest a (b c ? "foo" 'bar' { * ; 5 | b 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-args-unused.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) 1 ## 2 6 | FOO(3) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-args-unused.i: -------------------------------------------------------------------------------- 1 | #line 1 "./paste/paste-args-unused.c" 2 | #line 6 "./paste/paste-args-unused.c" 3 | 12 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-leading-unused.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) ## x 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-leading-unused.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/paste/paste-leading-unused.fail -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-leading-used.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) ## x 6 | FOO(1) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-leading-used.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/paste/paste-leading-used.fail -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-no-args.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO() 1 ## 2 6 | FOO() 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-no-args.i: -------------------------------------------------------------------------------- 1 | #line 1 "./paste/paste-no-args.c" 2 | #line 6 "./paste/paste-no-args.c" 3 | 12 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-no-expand.i: -------------------------------------------------------------------------------- 1 | #line 1 "./paste/paste-no-expand.c" 2 | #line 8 "./paste/paste-no-expand.c" 3 | int foo_; 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-no-parens.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 1 ## 2 6 | FOO 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-no-parens.i: -------------------------------------------------------------------------------- 1 | #line 1 "./paste/paste-no-parens.c" 2 | #line 6 "./paste/paste-no-parens.c" 3 | 12 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-recursive.i: -------------------------------------------------------------------------------- 1 | #line 1 "./paste/paste-recursive.c" 2 | #line 9 "./paste/paste-recursive.c" 3 | badCONCAT( con, cat) 4 | 5 | 6 | #line 14 "./paste/paste-recursive.c" 7 | good 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-repeated.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/paste/paste-repeated.fail -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-simple.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) 1 ## x 6 | FOO(2) 7 | FOO(a) 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-simple.i: -------------------------------------------------------------------------------- 1 | #line 1 "./paste/paste-simple.c" 2 | #line 6 "./paste/paste-simple.c" 3 | 12 4 | 1a 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-trailing-unused.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) x ## 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-trailing-unused.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/paste/paste-trailing-unused.fail -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-trailing-used.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) x ## 6 | FOO(1) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-trailing-used.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/paste/paste-trailing-used.fail -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-triple.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define PASTE(x,y,z) x##y##z 6 | PASTE(1,2,3) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/paste/paste-triple.i: -------------------------------------------------------------------------------- 1 | #line 1 "./paste/paste-triple.c" 2 | #line 6 "./paste/paste-triple.c" 3 | 123 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/string/define-l-wide-char.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define L ERROR 6 | int x = L'a'; 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/string/define-l-wide-char.i: -------------------------------------------------------------------------------- 1 | #line 1 "./string/define-l-wide-char.c" 2 | #line 6 "./string/define-l-wide-char.c" 3 | int x = L'a'; 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/string/define-u8-wide-char.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define u8 ERROR 6 | int x = u8'a'; 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/string/define-u8-wide-char.i: -------------------------------------------------------------------------------- 1 | #line 1 "./string/define-u8-wide-char.c" 2 | #line 6 "./string/define-u8-wide-char.c" 3 | int x = u8'a'; 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-inhibit.i: -------------------------------------------------------------------------------- 1 | #line 1 "./stringify/stringify-inhibit.c" 2 | #line 8 "./stringify/stringify-inhibit.c" 3 | const char* f = "foo"; 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-multiple.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) # x 6 | FOO(1 2 3) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-multiple.i: -------------------------------------------------------------------------------- 1 | #line 1 "./stringify/stringify-multiple.c" 2 | #line 6 "./stringify/stringify-multiple.c" 3 | "1 2 3" 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-not-param.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define STRINGIFY(x) # y 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-not-param.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/stringify/stringify-not-param.fail -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-simple.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) #x 6 | FOO(1) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-simple.i: -------------------------------------------------------------------------------- 1 | #line 1 "./stringify/stringify-simple.c" 2 | #line 6 "./stringify/stringify-simple.c" 3 | "1" 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-string.i: -------------------------------------------------------------------------------- 1 | #line 1 "./stringify/stringify-string.c" 2 | #line 6 "./stringify/stringify-string.c" 3 | "\"Hello world!\"" 4 | "\"\\\"\\\\\\n\\'\"" 5 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-surround.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) 1 # x 3 6 | FOO(2) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-surround.i: -------------------------------------------------------------------------------- 1 | #line 1 "./stringify/stringify-surround.c" 2 | #line 6 "./stringify/stringify-surround.c" 3 | 1 "2" 3 4 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-trailing-unused.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) x # 6 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-trailing-unused.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/stringify/stringify-trailing-unused.fail -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-trailing-used.c: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO(x) x # 6 | FOO(1) 7 | -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-trailing-used.fail: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/cpp/2-full/stringify/stringify-trailing-used.fail -------------------------------------------------------------------------------- /test/cpp/2-full/stringify/stringify-whitespace.i: -------------------------------------------------------------------------------- 1 | #line 1 "./stringify/stringify-whitespace.c" 2 | #line 6 "./stringify/stringify-whitespace.c" 3 | "a" 4 | 5 | "b" 6 | 7 | "c" 8 | -------------------------------------------------------------------------------- /test/cpp/2-full/working-directory-test.h: -------------------------------------------------------------------------------- 1 | // The MIT License (MIT) 2 | // Copyright (c) 2023-2024 Fraser Heavy Software 3 | // This test case is part of the Onramp compiler project. 4 | 5 | #define FOO 1 6 | -------------------------------------------------------------------------------- /test/hex/tests/address-assertion-only.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | @0x0 -------------------------------------------------------------------------------- /test/hex/tests/address-assertion-only.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/hex/tests/address-assertion-only.stdout -------------------------------------------------------------------------------- /test/hex/tests/address-assertion-too-long.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | @0x000000000 too many hex digits 6 | -------------------------------------------------------------------------------- /test/hex/tests/address-assertion-truncated-1.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | @ 6 | -------------------------------------------------------------------------------- /test/hex/tests/address-assertion-truncated-2.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | @0 6 | -------------------------------------------------------------------------------- /test/hex/tests/address-assertion-truncated-3.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | @0x 6 | -------------------------------------------------------------------------------- /test/hex/tests/address-assertion-uppercase.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | @0X00 6 | -------------------------------------------------------------------------------- /test/hex/tests/address-assertion-uppercase.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/hex/tests/address-assertion-uppercase.stdout -------------------------------------------------------------------------------- /test/hex/tests/address-assertions-fail.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48 65 6c 6c 6f ; Hello 6 | @0x4 incorrect address 7 | -------------------------------------------------------------------------------- /test/hex/tests/comment-marker.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | ; -------------------------------------------------------------------------------- /test/hex/tests/comment-marker.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/hex/tests/comment-marker.stdout -------------------------------------------------------------------------------- /test/hex/tests/comments-only.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/hex/tests/comments-only.stdout -------------------------------------------------------------------------------- /test/hex/tests/comments.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | ; this is a comment 6 | # this is also a comment 7 | 20 21 22 23 24 8 | -------------------------------------------------------------------------------- /test/hex/tests/comments.stdout: -------------------------------------------------------------------------------- 1 | !"#$ -------------------------------------------------------------------------------- /test/hex/tests/empty.ohx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/hex/tests/empty.ohx -------------------------------------------------------------------------------- /test/hex/tests/empty.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/hex/tests/empty.stdout -------------------------------------------------------------------------------- /test/hex/tests/hello-world-readme.stdout: -------------------------------------------------------------------------------- 1 | Hello world! -------------------------------------------------------------------------------- /test/hex/tests/hello-world.stdout: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/hex/tests/hex-byte.ohx: -------------------------------------------------------------------------------- 1 | 41 2 | -------------------------------------------------------------------------------- /test/hex/tests/hex-byte.stdout: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /test/hex/tests/lowercase.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48 65 6c 6c 6f ; Hello 6 | -------------------------------------------------------------------------------- /test/hex/tests/lowercase.stdout: -------------------------------------------------------------------------------- 1 | Hello -------------------------------------------------------------------------------- /test/hex/tests/nospaces.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48656C6c6F;Hello 6 | -------------------------------------------------------------------------------- /test/hex/tests/nospaces.stdout: -------------------------------------------------------------------------------- 1 | Hello -------------------------------------------------------------------------------- /test/hex/tests/split-byte-comment.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48 65 6; 6 | c 6c 6f 7 | -------------------------------------------------------------------------------- /test/hex/tests/split-byte-newline.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48 65 6 6 | c 6c 6f 7 | -------------------------------------------------------------------------------- /test/hex/tests/split-byte-space.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48 65 6 c 6c 6f 6 | -------------------------------------------------------------------------------- /test/hex/tests/trailing-backslash-short.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | ;\ -------------------------------------------------------------------------------- /test/hex/tests/truncated.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | ; no newline at end of file 6 | 4 -------------------------------------------------------------------------------- /test/hex/tests/uppercase.ohx: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48 65 6C 6C 6F ; Hello 6 | -------------------------------------------------------------------------------- /test/hex/tests/uppercase.stdout: -------------------------------------------------------------------------------- 1 | Hello -------------------------------------------------------------------------------- /test/ld/0-global/basic/blank.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/basic/blank.oe -------------------------------------------------------------------------------- /test/ld/0-global/basic/blank.oo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/basic/blank.oo -------------------------------------------------------------------------------- /test/ld/0-global/basic/comments.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/basic/comments.oe -------------------------------------------------------------------------------- /test/ld/0-global/basic/comments.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | ; hello 6 | ; world 7 | -------------------------------------------------------------------------------- /test/ld/0-global/basic/hello.oe: -------------------------------------------------------------------------------- 1 | Hello -------------------------------------------------------------------------------- /test/ld/0-global/basic/hello.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48656C6c6f -------------------------------------------------------------------------------- /test/ld/0-global/basic/hex-letter.oe: -------------------------------------------------------------------------------- 1 | J -------------------------------------------------------------------------------- /test/ld/0-global/basic/hex-letter.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 4A -------------------------------------------------------------------------------- /test/ld/0-global/basic/hex-truncated.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | A 6 | -------------------------------------------------------------------------------- /test/ld/0-global/basic/mix-hex-comments-whitespace.oe: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/ld/0-global/basic/whitespace-only.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/basic/whitespace-only.oe -------------------------------------------------------------------------------- /test/ld/0-global/basic/whitespace-only.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/ld/0-global/define/define-consecutive.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/define/define-consecutive.oe -------------------------------------------------------------------------------- /test/ld/0-global/define/define-consecutive.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =foo:bar 6 | -------------------------------------------------------------------------------- /test/ld/0-global/define/define-duplicate.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =foo:foo 6 | -------------------------------------------------------------------------------- /test/ld/0-global/define/define-eof.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/define/define-eof.oe -------------------------------------------------------------------------------- /test/ld/0-global/define/define-eof.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | :foo -------------------------------------------------------------------------------- /test/ld/0-global/define/define-newline.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/define/define-newline.oe -------------------------------------------------------------------------------- /test/ld/0-global/define/define-newline.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =foo 6 | -------------------------------------------------------------------------------- /test/ld/0-global/define/define-single-char.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/define/define-single-char.oe -------------------------------------------------------------------------------- /test/ld/0-global/define/define-single-char.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | :f 6 | -------------------------------------------------------------------------------- /test/ld/0-global/define/define-special-chars.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/define/define-special-chars.oe -------------------------------------------------------------------------------- /test/ld/0-global/define/define-special-chars.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =foo$_bar 6 | -------------------------------------------------------------------------------- /test/ld/0-global/define/define-static.oe: -------------------------------------------------------------------------------- 1 | #Eg -------------------------------------------------------------------------------- /test/ld/0-global/define/define-static.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | @foo 6 | 01 23 7 | @bar 8 | 45 67 9 | -------------------------------------------------------------------------------- /test/ld/0-global/define/define-symbol-pad.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/define/define-symbol-pad.oe -------------------------------------------------------------------------------- /test/ld/0-global/invoke/invoke-missing.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | ^foo 6 | -------------------------------------------------------------------------------- /test/ld/0-global/invoke/invoke-multi.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/invoke/invoke-multi.oe -------------------------------------------------------------------------------- /test/ld/0-global/invoke/invoke-rel-misaligned.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =a 6 | aa 7 | &a 8 | -------------------------------------------------------------------------------- /test/ld/0-global/invoke/invoke-rel.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/invoke/invoke-rel.oe -------------------------------------------------------------------------------- /test/ld/0-global/invoke/invoke-simple-four.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/invoke/invoke-simple-four.oe -------------------------------------------------------------------------------- /test/ld/0-global/invoke/invoke-simple-four.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | aa bb :hello cc dd ^hello ee ff 6 | -------------------------------------------------------------------------------- /test/ld/0-global/invoke/invoke-size.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/invoke/invoke-size.oe -------------------------------------------------------------------------------- /test/ld/0-global/invoke/invoke-zero.oe: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/ld/0-global/invoke/invoke-zero.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | :foo^foo 6 | -------------------------------------------------------------------------------- /test/ld/0-global/multifile/multifile-basic.args: -------------------------------------------------------------------------------- 1 | ${TESTFILE}.1 ${TESTFILE}.2 -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/ld/0-global/multifile/multifile-basic.oe: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/ld/0-global/multifile/multifile-basic.oo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/multifile/multifile-basic.oo -------------------------------------------------------------------------------- /test/ld/0-global/multifile/multifile-basic.oo.1: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48 65 6c 6c 6f ; Hello 6 | 20 ; 7 | -------------------------------------------------------------------------------- /test/ld/0-global/multifile/multifile-symbols.args: -------------------------------------------------------------------------------- 1 | -o $OUTPUT ${TESTFILE}.a ${TESTFILE}.b ${TESTFILE}.c 2 | -------------------------------------------------------------------------------- /test/ld/0-global/multifile/multifile-symbols.oe: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /test/ld/0-global/multifile/multifile-symbols.oo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/multifile/multifile-symbols.oo -------------------------------------------------------------------------------- /test/ld/0-global/multifile/multifile-symbols.oo.a: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =a1 6 | ^b1 7 | =a2 8 | ^c1 9 | -------------------------------------------------------------------------------- /test/ld/0-global/multifile/multifile-symbols.oo.b: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =b1 6 | ^a1 7 | =b2 8 | ^c2 9 | -------------------------------------------------------------------------------- /test/ld/0-global/multifile/multifile-symbols.oo.c: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =c1 6 | ^a2 7 | =c2 8 | ^b2 9 | -------------------------------------------------------------------------------- /test/ld/0-global/programs/eight-queens.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/programs/eight-queens.oe -------------------------------------------------------------------------------- /test/ld/0-global/programs/fibonacci.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/0-global/programs/fibonacci.oe -------------------------------------------------------------------------------- /test/ld/1-omc/archive/archive-collision.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/archive/archive-collision.oe -------------------------------------------------------------------------------- /test/ld/1-omc/basic/blank.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/basic/blank.oe -------------------------------------------------------------------------------- /test/ld/1-omc/basic/blank.oo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/basic/blank.oo -------------------------------------------------------------------------------- /test/ld/1-omc/basic/comments.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/basic/comments.oe -------------------------------------------------------------------------------- /test/ld/1-omc/basic/comments.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | ; hello 6 | ; world 7 | -------------------------------------------------------------------------------- /test/ld/1-omc/basic/hello.oe: -------------------------------------------------------------------------------- 1 | Hello -------------------------------------------------------------------------------- /test/ld/1-omc/basic/hello.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48656C6c6f -------------------------------------------------------------------------------- /test/ld/1-omc/basic/hex-letter.oe: -------------------------------------------------------------------------------- 1 | J -------------------------------------------------------------------------------- /test/ld/1-omc/basic/hex-letter.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 4A -------------------------------------------------------------------------------- /test/ld/1-omc/basic/hex-truncated.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | A 6 | -------------------------------------------------------------------------------- /test/ld/1-omc/basic/mix-hex-comments-whitespace.oe: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/ld/1-omc/basic/whitespace-only.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/basic/whitespace-only.oe -------------------------------------------------------------------------------- /test/ld/1-omc/basic/whitespace-only.oo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-consecutive.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/define/define-consecutive.oe -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-consecutive.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =foo:bar 6 | -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-duplicate.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =foo:foo 6 | -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-eof.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/define/define-eof.oe -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-eof.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | :foo -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-newline.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/define/define-newline.oe -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-newline.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =foo 6 | -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-single-char.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/define/define-single-char.oe -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-single-char.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | :f 6 | -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-special-chars.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/define/define-special-chars.oe -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-special-chars.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =foo$_bar 6 | -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-static.oe: -------------------------------------------------------------------------------- 1 | #Eg -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-static.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | @foo 6 | 01 23 7 | @bar 8 | 45 67 9 | -------------------------------------------------------------------------------- /test/ld/1-omc/define/define-symbol-pad.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/define/define-symbol-pad.oe -------------------------------------------------------------------------------- /test/ld/1-omc/invoke/invoke-missing.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | ^foo 6 | -------------------------------------------------------------------------------- /test/ld/1-omc/invoke/invoke-multi.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/invoke/invoke-multi.oe -------------------------------------------------------------------------------- /test/ld/1-omc/invoke/invoke-rel-misaligned.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =a 6 | aa 7 | &a 8 | -------------------------------------------------------------------------------- /test/ld/1-omc/invoke/invoke-rel.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/invoke/invoke-rel.oe -------------------------------------------------------------------------------- /test/ld/1-omc/invoke/invoke-simple-four.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/invoke/invoke-simple-four.oe -------------------------------------------------------------------------------- /test/ld/1-omc/invoke/invoke-simple-four.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | aa bb :hello cc dd ^hello ee ff 6 | -------------------------------------------------------------------------------- /test/ld/1-omc/invoke/invoke-size.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/invoke/invoke-size.oe -------------------------------------------------------------------------------- /test/ld/1-omc/invoke/invoke-zero.oe: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/ld/1-omc/invoke/invoke-zero.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | :foo^foo 6 | -------------------------------------------------------------------------------- /test/ld/1-omc/multifile/multifile-basic.args: -------------------------------------------------------------------------------- 1 | ${TESTFILE}.1 ${TESTFILE}.2 -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/ld/1-omc/multifile/multifile-basic.oe: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/ld/1-omc/multifile/multifile-basic.oo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/multifile/multifile-basic.oo -------------------------------------------------------------------------------- /test/ld/1-omc/multifile/multifile-basic.oo.1: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | 48 65 6c 6c 6f ; Hello 6 | 20 ; 7 | -------------------------------------------------------------------------------- /test/ld/1-omc/multifile/multifile-symbols.args: -------------------------------------------------------------------------------- 1 | -o $OUTPUT ${TESTFILE}.a ${TESTFILE}.b ${TESTFILE}.c 2 | -------------------------------------------------------------------------------- /test/ld/1-omc/multifile/multifile-symbols.oe: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /test/ld/1-omc/multifile/multifile-symbols.oo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/multifile/multifile-symbols.oo -------------------------------------------------------------------------------- /test/ld/1-omc/multifile/multifile-symbols.oo.a: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =a1 6 | ^b1 7 | =a2 8 | ^c1 9 | -------------------------------------------------------------------------------- /test/ld/1-omc/multifile/multifile-symbols.oo.b: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =b1 6 | ^a1 7 | =b2 8 | ^c2 9 | -------------------------------------------------------------------------------- /test/ld/1-omc/multifile/multifile-symbols.oo.c: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =c1 6 | ^a2 7 | =c2 8 | ^b2 9 | -------------------------------------------------------------------------------- /test/ld/1-omc/programs/eight-queens.args: -------------------------------------------------------------------------------- 1 | ${LIBC} ${INPUT} -o $OUTPUT 2 | -------------------------------------------------------------------------------- /test/ld/1-omc/programs/eight-queens.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/programs/eight-queens.oe -------------------------------------------------------------------------------- /test/ld/1-omc/programs/fibonacci.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/1-omc/programs/fibonacci.oe -------------------------------------------------------------------------------- /test/ld/2-full/basic/byte-outside-symbol.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | ; error, need a symbol 6 | FF 7 | -------------------------------------------------------------------------------- /test/ld/2-full/basic/start.oe: -------------------------------------------------------------------------------- 1 | Hello -------------------------------------------------------------------------------- /test/ld/2-full/basic/start.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =__start 6 | 48656C6c6f 7 | -------------------------------------------------------------------------------- /test/ld/2-full/debug/debug.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/2-full/debug/debug.oe -------------------------------------------------------------------------------- /test/ld/2-full/labels/label-duplicate.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =__start 6 | :foo_1 7 | FF 8 | :foo_1 9 | FF 10 | -------------------------------------------------------------------------------- /test/ld/2-full/labels/label-outside-symbol.oo: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2023-2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | ; error, need a symbol 6 | :foo 7 | -------------------------------------------------------------------------------- /test/ld/2-full/symbols/static-override-global.args: -------------------------------------------------------------------------------- 1 | -o $OUTPUT ${TESTFILE} ${TESTFILE}.2 ${TESTFILE}.3 2 | -------------------------------------------------------------------------------- /test/ld/2-full/symbols/static-override-global.oe: -------------------------------------------------------------------------------- 1 | 4Vx  -------------------------------------------------------------------------------- /test/ld/2-full/symbols/static-override-global.oo.3: -------------------------------------------------------------------------------- 1 | ; The MIT License (MIT) 2 | ; Copyright (c) 2024 Fraser Heavy Software 3 | ; This test case is part of the Onramp compiler project. 4 | 5 | =c 6 | ^foo ; reference to global symbol 7 | -------------------------------------------------------------------------------- /test/ld/2-full/symbols/symbol-constructor.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/2-full/symbols/symbol-constructor.oe -------------------------------------------------------------------------------- /test/ld/2-full/symbols/symbol-invocations.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/ld/2-full/symbols/symbol-invocations.oe -------------------------------------------------------------------------------- /test/ld/2-full/symbols/symbols.oe: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /test/libc/0-oo/stdlib/strndup.stdout: -------------------------------------------------------------------------------- 1 | ./include 2 | -------------------------------------------------------------------------------- /test/libc/2-opc/test/test_stdio_format.stdout: -------------------------------------------------------------------------------- 1 | Hello 2 | Hello world! 3 | 0 4 | 10 5 | 10 6 | -10 7 | 1 2 3 4 8 | 033 9 | -------------------------------------------------------------------------------- /test/libo/0-oo/util/itoa_d.stdout: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 9 4 | 15 5 | 1234567 6 | 2147483647 7 | -1 8 | -2 9 | -9 10 | -99 11 | -1234567 12 | -2147483648 13 | -------------------------------------------------------------------------------- /test/libo/1-opc/main.c: -------------------------------------------------------------------------------- 1 | 2 | // TODO write some tests 3 | 4 | int main(void) { 5 | return 0; 6 | } 7 | -------------------------------------------------------------------------------- /test/libo/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #TODO 3 | -------------------------------------------------------------------------------- /test/local.mk.sample: -------------------------------------------------------------------------------- 1 | # This file can be used to change or override compiler flags for all test 2 | # Makefiles. Copy it to local.mk and edit it to your liking. 3 | 4 | CFLAGS += -fsanitize=address 5 | CPPFLAGS += -Werror 6 | -------------------------------------------------------------------------------- /test/sh/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # TODO 4 | echo "Pass." 5 | -------------------------------------------------------------------------------- /test/vm/arithmetic/add-bad-dest.abort: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/vm/arithmetic/add-bad-dest.abort -------------------------------------------------------------------------------- /test/vm/arithmetic/add-bad-dest.strict: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/vm/arithmetic/add-bad-dest.strict -------------------------------------------------------------------------------- /test/vm/files/fread.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/vm/files/fread.oe -------------------------------------------------------------------------------- /test/vm/files/fseek.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/vm/files/fseek.oe -------------------------------------------------------------------------------- /test/vm/files/fseek.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/vm/files/fseek.skip -------------------------------------------------------------------------------- /test/vm/files/ftell.oe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/vm/files/ftell.oe -------------------------------------------------------------------------------- /test/vm/files/ftell.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/vm/files/ftell.skip -------------------------------------------------------------------------------- /test/vm/io/hello.stdout: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/vm/process/args-extra.args: -------------------------------------------------------------------------------- 1 | fee fi fo fum 2 | -------------------------------------------------------------------------------- /test/vm/process/exit-1.status: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /test/vm/process/exit-255.status: -------------------------------------------------------------------------------- 1 | 255 2 | -------------------------------------------------------------------------------- /test/vm/programs/fibonacci.stdout: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 1 4 | 2 5 | 3 6 | 5 7 | 8 8 | 13 9 | 21 10 | 34 11 | 55 12 | 89 13 | 144 14 | 233 15 | 377 16 | 610 17 | 987 18 | 1597 19 | 2584 20 | 4181 21 | -------------------------------------------------------------------------------- /test/vm/testdata/dir/bar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/vm/testdata/dir/bar -------------------------------------------------------------------------------- /test/vm/testdata/dir/foo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludocode/onramp/28b484d562541db82c7fc72c4c6d8ee7ec8fe4d3/test/vm/testdata/dir/foo -------------------------------------------------------------------------------- /test/vm/testdata/hello-world.txt: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /test/vm/testdata/long-filename.long-extension: -------------------------------------------------------------------------------- 1 | The quick brown fox jumps over a lazy dog. 2 | --------------------------------------------------------------------------------