Fix Issue 13190 - Optimizer breaks comparison with zero
Fix Issue 12164 - Function returning ptrdiff_t.min in 64-bit returning 0 when -O is set

The trick used to optimize ?const:const doesn't work when you can't actually express the value as immediates.  They were silently truncated leading to incorrect results.

Values were also truncated due to a typo.
Merge pull request #3803 from yebblies/issue13190

[DDMD] Issue 13190 - Optimizer breaks comparison with zero
another case like #3803
Merge pull request #3807 from WalterBright/cfpsw

another case like #3803
Use an alloc function for Token freelist instead of operator new.
Fix Issue 12820 - DMD can inline calls to functions that use alloca, allocating the memory in the caller function instead.
Fix Issue 13023 - optimizer produces wrong code for comparision and division of ulon
Merge pull request #3805 from yebblies/issue12164

Fix Issue 12164 - Function returning ptrdiff_t.min in 64-bit returning 0 when -O is set
Merge pull request #3809 from yebblies/issue13023

Issue 13023 - optimizer produces wrong code for comparision and division of ulong
Merge pull request #3808 from yebblies/tokalloc

[DDMD] Use an alloc function for Token freelist instead of operator new.
Merge pull request #3811 from yebblies/issue3918

Issue 12820 - DMD can inline calls to functions that use alloca, allocating the memory in the caller function instead.
Copying scope object should fill filedinit to NULL, due to avoid issue 11777
Merge pull request #3816 from 9rnsr/fix_sc

Copying scope object should fill filedinit to NULL, due to avoid issue 11777