diff --git a/.gitignore b/.gitignore index fcbdfcd52..652d8f18f 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ bin/execrate *.project *.core core +**/#*# diff --git a/src/cmd/builtin/features/pty b/src/cmd/builtin/features/pty index dc6a7104a..893778871 100755 --- a/src/cmd/builtin/features/pty +++ b/src/cmd/builtin/features/pty @@ -54,7 +54,9 @@ tst - output{ } return 0; } -}end +}end fail{ + echo '#error The output block in src/cmd/builtin/features/pty failed to compile' +}end extern _getpty char* (int*, int, mode_t, int) extern openpty int (int*, int*, char*, struct termios*, struct winsize*) diff --git a/src/lib/libast/features/common b/src/lib/libast/features/common index 8f5e305f7..5443fa341 100644 --- a/src/lib/libast/features/common +++ b/src/lib/libast/features/common @@ -352,6 +352,8 @@ tst - output{ printf("\n"); return 0; } +}end fail{ + echo '#error Output block #2 in src/lib/libast/features/common failed to compile' }end tst - -DN=1 - -DN=0 output{ diff --git a/src/lib/libast/features/float b/src/lib/libast/features/float index d927bc167..ce1ec7b83 100644 --- a/src/lib/libast/features/float +++ b/src/lib/libast/features/float @@ -894,6 +894,8 @@ tst - note{ missing floating point limits }end output{ return 0; } +}end fail{ + echo '#error Output block #1 in src/lib/libast/features/float failed to compile' }end tst - note{ double exponent bitfoolery }end output{ @@ -928,6 +930,8 @@ tst - note{ double exponent bitfoolery }end output{ } return 0; } +}end fail{ + echo '#error Output block #2 in src/lib/libast/features/float failed to compile' }end tst - note{ long double exponent bitfoolery }end output{ @@ -962,6 +966,8 @@ tst - note{ long double exponent bitfoolery }end output{ } return 0; } +}end fail{ + echo '#error Output block #3 in src/lib/libast/features/float failed to compile' }end tst - -DN=1 - -DN=2 note{ _ast_fltmax_t maximum integral type }end output{ diff --git a/src/lib/libast/features/lib b/src/lib/libast/features/lib index 4c1e81d64..4522a5cbe 100644 --- a/src/lib/libast/features/lib +++ b/src/lib/libast/features/lib @@ -699,6 +699,8 @@ tst - output{ return 0; } +}end fail{ + echo '#error The output block in src/lib/libast/features/lib failed to compile' }end tst no64 -D_LARGEFILE64_SOURCE note{ largefile 64 broken }end execute{ diff --git a/src/lib/libast/features/sfio b/src/lib/libast/features/sfio index 2d29706ef..d12c398fe 100644 --- a/src/lib/libast/features/sfio +++ b/src/lib/libast/features/sfio @@ -14,6 +14,8 @@ tst - note{ number of bits in pointer }end output{ printf("#define _ptr_bits %d\n", sizeof(char*) * 8); return 0; } +}end fail{ + echo '#error The output block in src/lib/libast/features/sfio failed to compile' }end tst tmp_rmfail note{ open files cannot be removed }end execute{ diff --git a/src/lib/libast/features/sizeof b/src/lib/libast/features/sizeof index 06c8707a1..06080eb12 100644 --- a/src/lib/libast/features/sizeof +++ b/src/lib/libast/features/sizeof @@ -10,4 +10,6 @@ tst - note{ sizeof(integral-type) }end output{ printf("#define _ast_sizeof_intmax_t %d\n", sizeof(_ast_intmax_t)); return 0; } +}end fail{ + echo '#error The output block in src/lib/libast/features/sizeof failed to compile' }end diff --git a/src/lib/libast/include/vmalloc.h b/src/lib/libast/include/vmalloc.h index f607b719f..161ea2cec 100644 --- a/src/lib/libast/include/vmalloc.h +++ b/src/lib/libast/include/vmalloc.h @@ -136,7 +136,9 @@ extern Vmethod_t* Vmprofile; /* profiling memory usage */ extern Vmdisc_t* Vmdcsystem; /* get memory from the OS */ extern Vmdisc_t* Vmdcheap; /* get memory from Vmheap */ +#if _mem_sbrk extern Vmdisc_t* Vmdcsbrk; /* like Vmdcsystem - legacy use */ +#endif extern Vmalloc_t _Vmheap; /* heap region - use with care! */ extern Vmalloc_t* Vmheap; /* = &_Vmheap - safe to use */ diff --git a/src/lib/libast/vmalloc/vmbest.c b/src/lib/libast/vmalloc/vmbest.c index 5b65ddace..b689af643 100644 --- a/src/lib/libast/vmalloc/vmbest.c +++ b/src/lib/libast/vmalloc/vmbest.c @@ -1265,10 +1265,13 @@ static Void_t* mmapmem(Void_t* caddr, size_t csize, size_t nsize, Mmdisc_t* mmdc } } else if(nsize == 0) - { Vmuchar_t *addr = (Vmuchar_t*)sbrk(0); + { +#if _mem_sbrk + Vmuchar_t *addr = (Vmuchar_t*)sbrk(0); if(addr < (Vmuchar_t*)caddr ) /* in sbrk space */ return NIL(Void_t*); else +#endif { (void)munmap(caddr, csize); return caddr; } @@ -1385,7 +1388,9 @@ __DEFINE__(Vmalloc_t*, Vmheap, &_Vmheap); __DEFINE__(Vmalloc_t*, Vmregion, &_Vmheap); __DEFINE__(Vmethod_t*, Vmbest, &_Vmbest); __DEFINE__(Vmdisc_t*, Vmdcsystem, (Vmdisc_t*)(&_Vmdcsystem) ); +#if _mem_sbrk __DEFINE__(Vmdisc_t*, Vmdcsbrk, (Vmdisc_t*)(&_Vmdcsystem) ); +#endif #ifdef NoF NoF(vmbest)