//
// Copyright 2022 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// wgl_backtrace.cpp:
//   Implements functions to output the backtrace from the ANGLE code during execution on Windows.
//

#include "common/backtrace_utils.h"

namespace angle
{

// It is possible to refactor the implementation of printing the backtrace information from the
// PrintStackBacktrace() function.
void printBacktraceInfo(BacktraceInfo backtraceInfo) {}

}  // namespace angle
