Eli Zaretskii
74492583e5
Support the MinGW build of MPS and tests, part 1
...
* mps/code/w3i6gc.gmk:
* mps/code/w3i3gc.gmk:
* mps/code/mingw.gmk: New files, for the MinGW build.
* mps/code/ss.c (StackHot) [__MINGW32__ && __GNUC__ >= 12]: Ignore
dangling-pointer warnings.
* mps/code/global.c (ArenaFinalize): Avoid compiler warnings.
* mps/code/thw3.c (ThreadScan): Avoid compilation errors due to
prototype mismatch.
* mps/code/testlib.h (alloca): Don't redefine for MinGW.
(setenv): Don't redefine for mingw.org's MinGW.
(ulongest_t, longest_t): Separate definitions for MinGW64.
* mps/code/testlib.c (sizelog2) [__MINGW32__]: Fix comparison.
(rnd_align): Avoid name clashes with 'min' and 'max'.
* mps/code/spw3i3.c (StackProbe) [__GNUC__]: Implementation for
MinGW.
* mps/code/protw3.c: Avoid compiler warning.
* mps/code/mpstd.h: Define MinGW (_X86_) and MinGW64 (__X86_64)
configurations.
* mps/code/mpsiw3.c (mps_SEH_filter, mps_SEH_handler): Add
prototypes.
* mps/code/mps.c [MPS_PF_W3I3GC]: Define 32-bit MinGW stuff.
[MPS_PF_W3I6GC]: Define 64-bit MinGW64 stuff.
* mps/code/lockw3.c (RTL_RUN_ONCE, PRTL_RUN_ONCE_INIT_FN)
(RTL_RUN_ONCE_INIT, INIT_ONCE_STATIC_INIT, RTL_RUN_ONCE INIT_ONCE)
(PRTL_RUN_ONCE PINIT_ONCE, PINIT_ONCE_FN, InitOnceExecuteOnce):
Define for mingw.org's MinGW.
* mps/code/comm.gmk (EVENT_TARGETS, EXTRA_TARGETS, TEST_TARGETS)
(UNBUILDABLE_TARGETS): Add $(EXEEXT) to program names.
(TESTTHR): Define correct test for MS-Windows.
Don't fail the build if the *.d dependency files don't exist.
2025-09-24 13:02:30 +03:00
Richard Brooksby
9fda23f4c6
Moving design documentation of signatures to design.mps.sig and updating tagging from code to be consistent.
2023-03-09 09:40:03 +00:00
Gareth Rees
5559f36540
Fix indentation of second clause of license.
2020-08-30 10:13:06 +01:00
Gareth Rees
5165d75267
Use https: instead of http: when linking to the ravenbrook web site.
2020-08-30 10:13:03 +01:00
Peter Jackson
1d00afac81
Publish licence updates in code directory.
...
Publish minor changes to readme and configure files in main directory.
Main directory and code directory licence texts are now fully updated.
Copied from Perforce
Change: 196994
2020-06-11 17:05:40 +01:00
Gareth Rees
0b324c158b
Use tags with dots; regularize design references from code.
...
Copied from Perforce
Change: 195761
2018-11-29 17:12:29 +00:00
Gareth Rees
052e5fbd18
Consistent order to prologue: include "mpm.h"; platform check; include other mps headers; include system headers; srcid.
...
Copied from Perforce
Change: 194107
2018-06-23 11:31:57 +01:00
Gareth Rees
0662e96899
Refactor atfork code to improve separation of concerns.
...
Copied from Perforce
Change: 193806
2018-06-15 10:58:33 +01:00
Gareth Rees
1a04431cff
New modulefile prmcw3.c avoids duplication of code between prmcw3i3.c and prmcw3i6.c.
...
Implement MutatorContextCheck on Windows. Add AVERT(MutatorContext, context) in PoolAccess and other functions.
Document initialization functions MutatorContextInitFault and MutatorContextInitThread and implement them on Windows.
Add a union discriminator to MutatorContextStruct on Windows so that we don't accidentally try to get the stack pointer from a fault context, or the exception address from a thread context.
Copied from Perforce
Change: 192567
ServerID: perforce.ravenbrook.com
2016-10-14 11:53:26 +01:00
Gareth Rees
9b3e45e883
Implement mutatorcontextsp and mutatorcontextscan for platforms w3i3 and w3i6.
...
This means that ThreadScan becomes identical on these two platforms and can be moved to thw3.c.
This means that thw3.h, thw3i3.c and thw3i6.c become redundant and can be deleted.
Copied from Perforce
Change: 192534
ServerID: perforce.ravenbrook.com
2016-10-13 16:28:50 +01:00
Richard Brooksby
07987ab579
Eliminating withreservoirpermit and all its variants.
...
Copied from Perforce
Change: 190005
ServerID: perforce.ravenbrook.com
2016-03-13 21:04:01 +00:00
Gareth Rees
abbdcfc59f
Assert if a thread dies while registered, but make a best effort to continue working after the assertion, by marking the thread as dead and moving it to a ring of dead threads.
...
Copied from Perforce
Change: 187393
ServerID: perforce.ravenbrook.com
2014-10-25 17:41:42 +01:00
Gareth Rees
7de068c21b
Use aver(testt) when the arena lock is not held.
...
Copied from Perforce
Change: 187351
ServerID: perforce.ravenbrook.com
2014-10-22 20:14:01 +01:00
Gareth Rees
c77c91056d
Consistent order stream, depth.
...
Copied from Perforce
Change: 186001
ServerID: perforce.ravenbrook.com
2014-05-11 18:30:23 +01:00
Gareth Rees
2493f121dc
Correct indentation of describe output by passing depth parameter to describe functions and to writef.
...
Call Describe functions from test cases so that we get coverage.
Copied from Perforce
Change: 186000
ServerID: perforce.ravenbrook.com
2014-05-11 18:20:38 +01:00
Gareth Rees
d1b44a4f05
Back out change 185626 (violates the design.mps.writef.snazzy).
...
Copied from Perforce
Change: 185941
ServerID: perforce.ravenbrook.com
2014-05-02 12:44:31 +01:00
Gareth Rees
6721c2b913
Correct indentation of describe output.
...
Copied from Perforce
Change: 185626
ServerID: perforce.ravenbrook.com
2014-04-17 13:36:42 +01:00
Gareth Rees
d3d2795fce
Improve control over checking:
...
1. Where Type is a pointer type with a signature, replace CHECKL(TypeCheck(val)) with CHECKD(Type, val).
2. Where Type is a pointer type with no signature, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val).
3. Where Type is a pointer type with a signature, but the structure is not visible at point of checking, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val). Reference <design/check/#.hidden-type>
4. Make BTCheck extern and use it where possible.
5. Replace AVER(TypeCheck(val)) with AVERT(Type, val).
Copied from Perforce
Change: 185263
ServerID: perforce.ravenbrook.com
2014-04-06 22:51:05 +01:00
Richard Brooksby
c4d6a2de1f
Merging spelling corrections contributed by bruce mitchener.
...
See <1c80ccb634 >.
Copied from Perforce
Change: 180956
ServerID: perforce.ravenbrook.com
2013-02-18 15:46:39 +00:00
David Lovemore
4c8144b692
Split windows thread implementation into two files so that the non-architecture specific part can be shared.
...
Copied from Perforce
Change: 178281
ServerID: perforce.ravenbrook.com
2012-05-22 16:08:49 +01:00