1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4
5/*****************************************************************************/
6
7#ifdef DEBUG
8
9#undef printf
10#define printf logf
11
12#undef fprintf
13#define fprintf flogf
14
15class Compiler;
16class LogEnv
17{
18public:
19 LogEnv(ICorJitInfo* aCompHnd);
20 void setCompiler(Compiler* val)
21 {
22 const_cast<Compiler*&>(compiler) = val;
23 }
24
25 ICorJitInfo* const compHnd;
26 Compiler* const compiler;
27};
28
29BOOL vlogf(unsigned level, const char* fmt, va_list args);
30int vflogf(FILE* file, const char* fmt, va_list args);
31
32int logf(const char* fmt, ...);
33int flogf(FILE* file, const char* fmt, ...);
34void gcDump_logf(const char* fmt, ...);
35
36void logf(unsigned level, const char* fmt, ...);
37
38extern "C" void __cdecl assertAbort(const char* why, const char* file, unsigned line);
39
40#undef assert
41#define assert(p) (void)((p) || (assertAbort(#p, __FILE__, __LINE__), 0))
42
43#else // DEBUG
44
45#undef assert
46#define assert(p) (void)0
47#endif // DEBUG
48
49/*****************************************************************************/
50#ifndef _HOST_H_
51#define _HOST_H_
52/*****************************************************************************/
53
54extern FILE* jitstdout;
55
56inline FILE* procstdout()
57{
58 return stdout;
59}
60#undef stdout
61#define stdout use_jitstdout
62
63/*****************************************************************************/
64#endif
65/*****************************************************************************/
66