blob: d2eb56b39f9b80fded16044c47c7719f60406dfa [file] [log] [blame]
Andrew Scull5e1ddfa2018-08-14 10:06:54 +01001//===--- 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}