1//===--- Demangle.h ---------------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#include <cstddef> 11 12namespace llvm { 13/// This is a llvm local version of __cxa_demangle. Other than the name and 14/// being in the llvm namespace it is identical. 15/// 16/// The mangled_name is demangled into buf and returned. If the buffer is not 17/// large enough, realloc is used to expand it. 18/// 19/// The *status will be set to 20/// unknown_error: -4 21/// invalid_args: -3 22/// invalid_mangled_name: -2 23/// memory_alloc_failure: -1 24/// success: 0 25 26char *itaniumDemangle(const char *mangled_name, char *buf, size_t *n, 27 int *status); 28} 29