Zeichenfolgendarstellung von llvm :: Type-Struktur

8

llvm::Type 2.9 und früher verwendet, um getDescription -Methode zum Abrufen einer Zeichenfolgendarstellung des Typs zu verwenden. Diese Methode existiert in llvm 3.0 nicht mehr.

Ich bin mir nicht sicher, ob dies zugunsten von Type::print(raw_ostream&) veraltet ist, aber in jedem Fall bin ich neugierig auf diese API. Welche Beispiele gibt es, wie man es benutzt? Wie kann ich in string oder const char* ablegen?

Insbesondere möchte ich die Zeichenfolge an Boost::Format übergeben, was ein modernes c ++ sprintf ist.

    
lurscher 04.01.2012, 01:55
quelle

1 Antwort

10

Ich nehme an, Sie müssen eine Instanz von llvm::raw_string_ostream erstellen und Ihre std :: string in den Konstruktor übergeben. Jetzt können Sie es als llvm::raw_ostream verwenden, und wenn Sie fertig sind, rufen Sie .str() auf, um Ihre Zeichenfolge zu erhalten.

So ungefähr:

%Vor%

LLVM hat seine Schnittstelle geändert, so dass nun folgendes funktioniert:

%Vor%     
arrowd 04.01.2012, 08:22
quelle

Tags und Links