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.cpp: Debugging utilities.
8
9#include "compiler/translator/compilerdebug.h"
10
11#include <stdarg.h>
12#include <stdio.h>
13
14#include "compiler/translator/InitializeParseContext.h"
15#include "compiler/translator/ParseContext.h"
16
17#ifdef TRACE_ENABLED
18static const int kTraceBufferLen = 1024;
19
20extern "C" {
21void Trace(const char *format, ...) {
22    if (!format) return;
23
24    TParseContext* parseContext = GetGlobalParseContext();
25    if (parseContext) {
26        char buf[kTraceBufferLen];
27        va_list args;
28        va_start(args, format);
29        vsnprintf(buf, kTraceBufferLen, format, args);
30        va_end(args);
31
32        parseContext->trace(buf);
33    }
34}
35}  // extern "C"
36#endif  // TRACE_ENABLED
37
38