diff --git a/src/lib/system/darwin/clang/x86_64/Unix.Mod b/src/lib/system/darwin/clang/x86_64/Unix.Mod index 635aacef..08fc1864 100644 --- a/src/lib/system/darwin/clang/x86_64/Unix.Mod +++ b/src/lib/system/darwin/clang/x86_64/Unix.Mod @@ -536,6 +536,28 @@ from man gettimeofday RETURN r END System; + PROCEDURE -SizeofUnixStat(): INTEGER + "sizeof(Unix_Status)"; + PROCEDURE -SizeofStat(): INTEGER + "sizeof(struct stat)"; + + PROCEDURE -Error(msg: ARRAY OF CHAR; len: INTEGER) + "write(1/*stdout*/, msg, len); char ch = 0xa; write(1, &ch, 1)"; + + PROCEDURE StatCheck; + VAR x, y: LONGINT; + BEGIN + x := SizeofUnixStat(); + y := SizeofStat(); + IF x # y THEN + Error("Unix.StatCheck: inconsistent usage of struct stat", 49); + Exit(1); + END + END StatCheck; + +BEGIN + + StatCheck(); END Unix. diff --git a/src/lib/system/freebsd/clang/x86_64/Unix.Mod b/src/lib/system/freebsd/clang/x86_64/Unix.Mod index 48e60a99..8d728be2 100644 --- a/src/lib/system/freebsd/clang/x86_64/Unix.Mod +++ b/src/lib/system/freebsd/clang/x86_64/Unix.Mod @@ -557,6 +557,28 @@ from man gettimeofday RETURN r END System; + PROCEDURE -SizeofUnixStat(): INTEGER + "sizeof(Unix_Status)"; + PROCEDURE -SizeofStat(): INTEGER + "sizeof(struct stat)"; + + PROCEDURE -Error(msg: ARRAY OF CHAR; len: INTEGER) + "write(1/*stdout*/, msg, len); char ch = 0xa; write(1, &ch, 1)"; + + PROCEDURE StatCheck; + VAR x, y: LONGINT; + BEGIN + x := SizeofUnixStat(); + y := SizeofStat(); + IF x # y THEN + Error("Unix.StatCheck: inconsistent usage of struct stat", 49); + Exit(1); + END + END StatCheck; + +BEGIN + + StatCheck(); END Unix. diff --git a/src/lib/system/linux/clang/armv6j_hardfp/Unix.Mod b/src/lib/system/linux/clang/armv6j_hardfp/Unix.Mod index e4837302..a882720a 100644 --- a/src/lib/system/linux/clang/armv6j_hardfp/Unix.Mod +++ b/src/lib/system/linux/clang/armv6j_hardfp/Unix.Mod @@ -456,4 +456,27 @@ TYPE RETURN r END System; + PROCEDURE -SizeofUnixStat(): INTEGER + "sizeof(Unix_Status)"; + + PROCEDURE -SizeofStat(): INTEGER + "sizeof(struct stat)"; + + PROCEDURE -Error(msg: ARRAY OF CHAR; len: INTEGER) + "write(1/*stdout*/, msg, len); char ch = 0xa; write(1, &ch, 1)"; + + PROCEDURE StatCheck; + VAR x, y: LONGINT; + BEGIN + x := SizeofUnixStat(); + y := SizeofStat(); + IF x # y THEN + Error("Unix.StatCheck: inconsistent usage of struct stat", 49); + Exit(1); + END + END StatCheck; + +BEGIN + + StatCheck(); END Unix. diff --git a/src/lib/system/linux/clang/powerpc/Unix.Mod b/src/lib/system/linux/clang/powerpc/Unix.Mod index aa6fdd7d..99c35a64 100644 --- a/src/lib/system/linux/clang/powerpc/Unix.Mod +++ b/src/lib/system/linux/clang/powerpc/Unix.Mod @@ -439,4 +439,27 @@ TYPE RETURN r END System; + PROCEDURE -SizeofUnixStat(): INTEGER + "sizeof(Unix_Status)"; + + PROCEDURE -SizeofStat(): INTEGER + "sizeof(struct stat)"; + + PROCEDURE -Error(msg: ARRAY OF CHAR; len: INTEGER) + "write(1/*stdout*/, msg, len); char ch = 0xa; write(1, &ch, 1)"; + + PROCEDURE StatCheck; + VAR x, y: LONGINT; + BEGIN + x := SizeofUnixStat(); + y := SizeofStat(); + IF x # y THEN + Error("Unix.StatCheck: inconsistent usage of struct stat", 49); + Exit(1); + END + END StatCheck; + +BEGIN + + StatCheck(); END Unix. diff --git a/src/lib/system/linux/clang/x86/Unix.Mod b/src/lib/system/linux/clang/x86/Unix.Mod index 6ba884e5..a77bccae 100644 --- a/src/lib/system/linux/clang/x86/Unix.Mod +++ b/src/lib/system/linux/clang/x86/Unix.Mod @@ -439,4 +439,27 @@ TYPE RETURN r END System; + PROCEDURE -SizeofUnixStat(): INTEGER + "sizeof(Unix_Status)"; + + PROCEDURE -SizeofStat(): INTEGER + "sizeof(struct stat)"; + + PROCEDURE -Error(msg: ARRAY OF CHAR; len: INTEGER) + "write(1/*stdout*/, msg, len); char ch = 0xa; write(1, &ch, 1)"; + + PROCEDURE StatCheck; + VAR x, y: LONGINT; + BEGIN + x := SizeofUnixStat(); + y := SizeofStat(); + IF x # y THEN + Error("Unix.StatCheck: inconsistent usage of struct stat", 49); + Exit(1); + END + END StatCheck; + +BEGIN + + StatCheck(); END Unix. diff --git a/src/lib/system/linux/clang/x86_64/Unix.Mod b/src/lib/system/linux/clang/x86_64/Unix.Mod index 7cb5da8e..151541ad 100644 --- a/src/lib/system/linux/clang/x86_64/Unix.Mod +++ b/src/lib/system/linux/clang/x86_64/Unix.Mod @@ -492,6 +492,28 @@ from man gettimeofday RETURN r END System; + PROCEDURE -SizeofUnixStat(): INTEGER + "sizeof(Unix_Status)"; + PROCEDURE -SizeofStat(): INTEGER + "sizeof(struct stat)"; + + PROCEDURE -Error(msg: ARRAY OF CHAR; len: INTEGER) + "write(1/*stdout*/, msg, len); char ch = 0xa; write(1, &ch, 1)"; + + PROCEDURE StatCheck; + VAR x, y: LONGINT; + BEGIN + x := SizeofUnixStat(); + y := SizeofStat(); + IF x # y THEN + Error("Unix.StatCheck: inconsistent usage of struct stat", 49); + Exit(1); + END + END StatCheck; + +BEGIN + + StatCheck(); END Unix. diff --git a/src/lib/system/linux/gcc/armv6j_hardfp/Unix.Mod b/src/lib/system/linux/gcc/armv6j_hardfp/Unix.Mod index e4837302..a882720a 100644 --- a/src/lib/system/linux/gcc/armv6j_hardfp/Unix.Mod +++ b/src/lib/system/linux/gcc/armv6j_hardfp/Unix.Mod @@ -456,4 +456,27 @@ TYPE RETURN r END System; + PROCEDURE -SizeofUnixStat(): INTEGER + "sizeof(Unix_Status)"; + + PROCEDURE -SizeofStat(): INTEGER + "sizeof(struct stat)"; + + PROCEDURE -Error(msg: ARRAY OF CHAR; len: INTEGER) + "write(1/*stdout*/, msg, len); char ch = 0xa; write(1, &ch, 1)"; + + PROCEDURE StatCheck; + VAR x, y: LONGINT; + BEGIN + x := SizeofUnixStat(); + y := SizeofStat(); + IF x # y THEN + Error("Unix.StatCheck: inconsistent usage of struct stat", 49); + Exit(1); + END + END StatCheck; + +BEGIN + + StatCheck(); END Unix. diff --git a/src/lib/system/linux/gcc/powerpc/Unix.Mod b/src/lib/system/linux/gcc/powerpc/Unix.Mod index aa6fdd7d..99c35a64 100644 --- a/src/lib/system/linux/gcc/powerpc/Unix.Mod +++ b/src/lib/system/linux/gcc/powerpc/Unix.Mod @@ -439,4 +439,27 @@ TYPE RETURN r END System; + PROCEDURE -SizeofUnixStat(): INTEGER + "sizeof(Unix_Status)"; + + PROCEDURE -SizeofStat(): INTEGER + "sizeof(struct stat)"; + + PROCEDURE -Error(msg: ARRAY OF CHAR; len: INTEGER) + "write(1/*stdout*/, msg, len); char ch = 0xa; write(1, &ch, 1)"; + + PROCEDURE StatCheck; + VAR x, y: LONGINT; + BEGIN + x := SizeofUnixStat(); + y := SizeofStat(); + IF x # y THEN + Error("Unix.StatCheck: inconsistent usage of struct stat", 49); + Exit(1); + END + END StatCheck; + +BEGIN + + StatCheck(); END Unix. diff --git a/src/lib/system/linux/gcc/x86/Unix.Mod b/src/lib/system/linux/gcc/x86/Unix.Mod index 6ba884e5..a77bccae 100644 --- a/src/lib/system/linux/gcc/x86/Unix.Mod +++ b/src/lib/system/linux/gcc/x86/Unix.Mod @@ -439,4 +439,27 @@ TYPE RETURN r END System; + PROCEDURE -SizeofUnixStat(): INTEGER + "sizeof(Unix_Status)"; + + PROCEDURE -SizeofStat(): INTEGER + "sizeof(struct stat)"; + + PROCEDURE -Error(msg: ARRAY OF CHAR; len: INTEGER) + "write(1/*stdout*/, msg, len); char ch = 0xa; write(1, &ch, 1)"; + + PROCEDURE StatCheck; + VAR x, y: LONGINT; + BEGIN + x := SizeofUnixStat(); + y := SizeofStat(); + IF x # y THEN + Error("Unix.StatCheck: inconsistent usage of struct stat", 49); + Exit(1); + END + END StatCheck; + +BEGIN + + StatCheck(); END Unix. diff --git a/src/lib/system/linux/gcc/x86_64/Unix.Mod b/src/lib/system/linux/gcc/x86_64/Unix.Mod index 7cb5da8e..151541ad 100644 --- a/src/lib/system/linux/gcc/x86_64/Unix.Mod +++ b/src/lib/system/linux/gcc/x86_64/Unix.Mod @@ -492,6 +492,28 @@ from man gettimeofday RETURN r END System; + PROCEDURE -SizeofUnixStat(): INTEGER + "sizeof(Unix_Status)"; + PROCEDURE -SizeofStat(): INTEGER + "sizeof(struct stat)"; + + PROCEDURE -Error(msg: ARRAY OF CHAR; len: INTEGER) + "write(1/*stdout*/, msg, len); char ch = 0xa; write(1, &ch, 1)"; + + PROCEDURE StatCheck; + VAR x, y: LONGINT; + BEGIN + x := SizeofUnixStat(); + y := SizeofStat(); + IF x # y THEN + Error("Unix.StatCheck: inconsistent usage of struct stat", 49); + Exit(1); + END + END StatCheck; + +BEGIN + + StatCheck(); END Unix. diff --git a/vocstatic.linux.gcc.x86_64 b/vocstatic.linux.gcc.x86_64 index 82105aa4..7db4dcd6 100755 Binary files a/vocstatic.linux.gcc.x86_64 and b/vocstatic.linux.gcc.x86_64 differ