blob: 53778bd3eb75d18200da3de6ce44ee0ef92c7fe9 [file] [log] [blame]
alokp@chromium.org91b72322010-06-02 15:50:56 +00001//
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/debug.h"
10
11#include <stdarg.h>
apatrick@chromium.org8187fa82010-06-15 22:09:28 +000012#include <stdio.h>
alokp@chromium.org91b72322010-06-02 15:50:56 +000013
alokp@chromium.org8b851c62012-06-15 16:25:11 +000014#include "compiler/InitializeParseContext.h"
alokp@chromium.org91b72322010-06-02 15:50:56 +000015#include "compiler/ParseHelper.h"
16
17static const int kTraceBufferLen = 1024;
18
19#ifdef TRACE_ENABLED
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
alokp@chromium.org8b851c62012-06-15 16:25:11 +000032 parseContext->trace(buf);
alokp@chromium.org91b72322010-06-02 15:50:56 +000033 }
34}
35} // extern "C"
36#endif // TRACE_ENABLED
37