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/debug.h" 10 11 #include <stdarg.h> 12 #include <stdio.h> 13 14 #include "compiler/InitializeParseContext.h" 15 #include "compiler/ParseHelper.h" 16 17 static const int kTraceBufferLen = 1024; 18 19 #ifdef TRACE_ENABLED 20 extern "C" { 21 void 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