1 //===-- StringSaver.cpp ---------------------------------------------------===// 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 "llvm/Support/StringSaver.h" 11 12 using namespace llvm; 13 14 const char *StringSaver::save(StringRef S) { 15 char *P = Alloc.Allocate<char>(S.size() + 1); 16 memcpy(P, S.data(), S.size()); 17 P[S.size()] = '\0'; 18 return P; 19 } 20