aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikhail Glushenkov <foldr@codedgers.com>2009-01-21 13:04:33 +0000
committerMikhail Glushenkov <foldr@codedgers.com>2009-01-21 13:04:33 +0000
commitb6b514124d82fcd467210982389c001a7990b2e8 (patch)
treea0607afc7979b0190084ee4b1690fd1cd494c51f
parenta298bb752572f03f3b65260a73cb39df02770075 (diff)
downloadexternal_llvm-b6b514124d82fcd467210982389c001a7990b2e8.zip
external_llvm-b6b514124d82fcd467210982389c001a7990b2e8.tar.gz
external_llvm-b6b514124d82fcd467210982389c001a7990b2e8.tar.bz2
Change the hook API back to prevent memory leaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62686 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/llvmc/doc/LLVMC-Reference.rst2
-rw-r--r--utils/TableGen/LLVMCConfigurationEmitter.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/tools/llvmc/doc/LLVMC-Reference.rst b/tools/llvmc/doc/LLVMC-Reference.rst
index 9eb927c..53049d7 100644
--- a/tools/llvmc/doc/LLVMC-Reference.rst
+++ b/tools/llvmc/doc/LLVMC-Reference.rst
@@ -565,7 +565,7 @@ or names in the configuration file. This can be easily achieved via
the hooks mechanism. To write your own hooks, just add their
definitions to the ``PluginMain.cpp`` or drop a ``.cpp`` file into the
your plugin directory. Hooks should live in the ``hooks`` namespace
-and have the signature ``const char* hooks::MyHookName ([const char*
+and have the signature ``std::string hooks::MyHookName ([const char*
Arg0 [ const char* Arg2 [, ...]]])``. They can be used from the
``cmd_line`` tool property::
diff --git a/utils/TableGen/LLVMCConfigurationEmitter.cpp b/utils/TableGen/LLVMCConfigurationEmitter.cpp
index 3de4d37..ec023ba 100644
--- a/utils/TableGen/LLVMCConfigurationEmitter.cpp
+++ b/utils/TableGen/LLVMCConfigurationEmitter.cpp
@@ -1866,7 +1866,7 @@ void EmitHookDeclarations(const ToolDescriptions& ToolDescs, std::ostream& O) {
O << "namespace hooks {\n";
for (StringMap<unsigned>::const_iterator B = HookNames.begin(),
E = HookNames.end(); B != E; ++B) {
- O << Indent1 << "const char* " << B->first() << "(";
+ O << Indent1 << "std::string " << B->first() << "(";
for (unsigned i = 0, j = B->second; i < j; ++i) {
O << "const char* Arg" << i << (i+1 == j ? "" : ", ");