> 2. GC_MARK_STACK is 1 by default in config.nt, but this default is broken
> with the msvc toolchain.  When temacs started to dump,
> it immediately exited with the message `Invalid function: "DEAD"'. Eli had
> previously told me (in #12878) to see bug #13070, but it didn't solve the
> problem. When I tried to change GC_MARK_STACK to 0, Emacs compiled fine. So
> there must be something wrong about the GCPROS_NOOPS way of marking stack
> under the vc compiler, maybe someone familiar with the garbage collector
> can fix it. (MinGW gcc is ok with the default)

Not only MinGW, but I believe Fabrice (CC'ed) also builds Emacs with
MSVC and uses GC_MARK_STACK.  Fabrice, can you please comment on this?

I can confirm that with GC_MARK_STACK=0, 24.3 does compile with the MS compiler.
With GC_MARK_STACK=1, 24.3 doesn't compile, but the current trunk (well, my copy, but which is quite close) does compile, 32bits and 64bits.
It may be a bit hairy to find out why.

Fabrice