OSDN Git Service

Increment the version number.
[android-x86/external-swiftshader.git] / src / Radiance / compiler / debug.h
1 //
2 // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6
7 // debug.h: Debugging utilities.
8
9 #ifndef COMPILER_DEBUG_H_
10 #define COMPILER_DEBUG_H_
11
12 #include <assert.h>
13
14 #ifdef _DEBUG
15 #define TRACE_ENABLED  // define to enable debug message tracing
16 #endif  // _DEBUG
17
18 // Outputs text to the debug log
19 #ifdef TRACE_ENABLED
20
21 #ifdef  __cplusplus
22 extern "C" {
23 #endif  // __cplusplus
24 void Trace(const char* format, ...);
25 #ifdef  __cplusplus
26 }
27 #endif  // __cplusplus
28
29 #else   // TRACE_ENABLED
30
31 #define Trace(...) ((void)0)
32
33 #endif  // TRACE_ENABLED
34
35 // A macro asserting a condition and outputting failures to the debug log
36 #define ASSERT(expression) do { \
37     if(!(expression)) \
38         Trace("Assert failed: %s(%d): "#expression"\n", __FUNCTION__, __LINE__); \
39     assert(expression); \
40 } while(0)
41
42 #define UNIMPLEMENTED() do { \
43     Trace("Unimplemented invoked: %s(%d)\n", __FUNCTION__, __LINE__); \
44     assert(false); \
45 } while(0)
46
47 #define UNREACHABLE() do { \
48     Trace("Unreachable reached: %s(%d)\n", __FUNCTION__, __LINE__); \
49     assert(false); \
50 } while(0)
51
52 #endif   // COMPILER_DEBUG_H_
53