diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 0000000..7640016 --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,19 @@ +on: push +jobs: + build: + runs-on: windows-latest + steps: + - uses: msys2/setup-msys2@v2 + with: + msystem: msys + install: gcc make diffutils + - uses: actions/checkout@v4 + - shell: msys2 {0} + run: | + ./configure + gcc line.c + ./a.exe | od -t ax1 + od -t ax1 b + od -t ax1 c + od -t ax1 test/basic.c + make all check bootstrap diff --git a/configure b/configure index 0d94402..3fbb863 100755 --- a/configure +++ b/configure @@ -122,7 +122,7 @@ case "$target" in endfiles='"-l", "c", "-l", ":crtn.o"' defines='"-D", "__builtin_stdarg_start(ap, last)=__builtin_va_start(ap, last)"' ;; -*-*msys*) +*-msys*) startfiles='"-l", ":crt0.o"' endfiles='"-l", "c", "-l", "msys-2.0", "-l", "kernel32"' ;; diff --git a/line.c b/line.c new file mode 100644 index 0000000..01d5bb0 --- /dev/null +++ b/line.c @@ -0,0 +1,16 @@ +#include +#include +int main(void) { + char line[256]; + puts("hello"); + FILE *f = fopen("b", "w"); + fputs("hello\n", f); + fclose(f); + f = fopen("c", "wt"); + fputs("hello\n", f); + fclose(f); + f = fopen("test/basic.c", "r"); + fgets(line, sizeof line, f); + fprintf(stderr, "c=%d %d\n", line[strlen(line) - 2], line[strlen(line) - 1]); + fclose(f); +}