1*9880d681SAndroid Build Coastguard Worker //===-- StringSaver.cpp ---------------------------------------------------===// 2*9880d681SAndroid Build Coastguard Worker // 3*9880d681SAndroid Build Coastguard Worker // The LLVM Compiler Infrastructure 4*9880d681SAndroid Build Coastguard Worker // 5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source 6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details. 7*9880d681SAndroid Build Coastguard Worker // 8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker #include "llvm/Support/StringSaver.h" 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker using namespace llvm; 13*9880d681SAndroid Build Coastguard Worker save(StringRef S)14*9880d681SAndroid Build Coastguard Workerconst char *StringSaver::save(StringRef S) { 15*9880d681SAndroid Build Coastguard Worker char *P = Alloc.Allocate<char>(S.size() + 1); 16*9880d681SAndroid Build Coastguard Worker memcpy(P, S.data(), S.size()); 17*9880d681SAndroid Build Coastguard Worker P[S.size()] = '\0'; 18*9880d681SAndroid Build Coastguard Worker return P; 19*9880d681SAndroid Build Coastguard Worker } 20