diff --git a/src/vm/ecall.cpp b/src/vm/ecall.cpp index dfeff95d6f92..c6216e837006 100644 --- a/src/vm/ecall.cpp +++ b/src/vm/ecall.cpp @@ -146,7 +146,7 @@ void ECall::PopulateManagedStringConstructors() static CrstStatic gFCallLock; // This variable is used to force the compiler not to tailcall a function. -int FC_NO_TAILCALL; +RAW_KEYWORD(volatile) int FC_NO_TAILCALL; #endif // !DACCESS_COMPILE diff --git a/src/vm/fcall.h b/src/vm/fcall.h index f15d22a166fa..b9fbb82dfb3c 100644 --- a/src/vm/fcall.h +++ b/src/vm/fcall.h @@ -928,7 +928,7 @@ void HCallAssert(void*& cache, void* target); // might do, which would otherwise confuse the epilog walker. // // * See #FC_INNER for more -extern int FC_NO_TAILCALL; +extern RAW_KEYWORD(volatile) int FC_NO_TAILCALL; #define FC_INNER_RETURN(type, expr) \ type __retVal = expr; \ while (0 == FC_NO_TAILCALL) { }; /* side effect the compile can't remove */ \