Home | History | Annotate | Download | only in compiler
      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