1*04e0dc4aSTimo Kreuzer //
2*04e0dc4aSTimo Kreuzer // console_input_initializer.cpp
3*04e0dc4aSTimo Kreuzer //
4*04e0dc4aSTimo Kreuzer //      Copyright (c) Microsoft Corporation. All rights reserved.
5*04e0dc4aSTimo Kreuzer //
6*04e0dc4aSTimo Kreuzer // CRT initializers and terminators have been extracted from the main CRT sources
7*04e0dc4aSTimo Kreuzer // to enable the CRT DLL to be built with LTCG enabled.  The source files in which
8*04e0dc4aSTimo Kreuzer // the CRT initializers and terminators are defined cannot be compiled as /GL
9*04e0dc4aSTimo Kreuzer // because the compiler will optimize them away during link-time code generation.
10*04e0dc4aSTimo Kreuzer // We inhibit this optimization by defining the initializers and terminators in
11*04e0dc4aSTimo Kreuzer // separate source files that are not compiled with /GL.
12*04e0dc4aSTimo Kreuzer //
13*04e0dc4aSTimo Kreuzer #include <corecrt_internal.h>
14*04e0dc4aSTimo Kreuzer 
15*04e0dc4aSTimo Kreuzer extern "C" void __cdecl __dcrt_terminate_console_input();
16*04e0dc4aSTimo Kreuzer 
17*04e0dc4aSTimo Kreuzer extern "C" _CRTALLOC(".CRT$XPX") _PVFV const __dcrt_console_input_terminator = __dcrt_terminate_console_input;
18