diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-12-18 23:46:42 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-12-18 23:46:42 +0000 |
commit | 2339ffed97f6644294c173107144d2f15ac68987 (patch) | |
tree | b42525d16896bbe1c03e353a7cc68f44027e0b61 /llvm/tools/llvm-c-test | |
parent | e6fa51c9416b3cb45af9c31992bb5796336d2906 (diff) | |
download | bcm5719-llvm-2339ffed97f6644294c173107144d2f15ac68987.tar.gz bcm5719-llvm-2339ffed97f6644294c173107144d2f15ac68987.zip |
Deprecate a few C APIs.
This deprecates:
* LLVMParseBitcode
* LLVMParseBitcodeInContext
* LLVMGetBitcodeModuleInContext
* LLVMGetBitcodeModule
They are replaced with the functions with a 2 suffix which do not record
a diagnostic.
llvm-svn: 256065
Diffstat (limited to 'llvm/tools/llvm-c-test')
-rw-r--r-- | llvm/tools/llvm-c-test/llvm-c-test.h | 2 | ||||
-rw-r--r-- | llvm/tools/llvm-c-test/main.c | 15 | ||||
-rw-r--r-- | llvm/tools/llvm-c-test/module.c | 34 |
3 files changed, 38 insertions, 13 deletions
diff --git a/llvm/tools/llvm-c-test/llvm-c-test.h b/llvm/tools/llvm-c-test/llvm-c-test.h index 5f49d702b21..7929fc4d19b 100644 --- a/llvm/tools/llvm-c-test/llvm-c-test.h +++ b/llvm/tools/llvm-c-test/llvm-c-test.h @@ -19,7 +19,7 @@ void tokenize_stdin(void (*cb)(char **tokens, int ntokens)); // module.c -int module_dump(bool Lazy); +int module_dump(bool Lazy, bool New); int module_list_functions(void); int module_list_globals(void); diff --git a/llvm/tools/llvm-c-test/main.c b/llvm/tools/llvm-c-test/main.c index 185ed4c0e04..e6b6e17098b 100644 --- a/llvm/tools/llvm-c-test/main.c +++ b/llvm/tools/llvm-c-test/main.c @@ -26,6 +26,11 @@ static void print_usage(void) { fprintf(stderr, " * --lazy-module-dump\n"); fprintf(stderr, " Lazily read bytecode from stdin - print disassembly\n\n"); + fprintf(stderr, " * --new-module-dump\n"); + fprintf(stderr, " Read bytecode from stdin - print disassembly\n\n"); + fprintf(stderr, " * --lazy-new-module-dump\n"); + fprintf(stderr, + " Lazily read bytecode from stdin - print disassembly\n\n"); fprintf(stderr, " * --module-list-functions\n"); fprintf(stderr, " Read bytecode from stdin - list summary of functions\n\n"); @@ -52,10 +57,14 @@ int main(int argc, char **argv) { LLVMInitializeCore(pr); - if (argc == 2 && !strcmp(argv[1], "--lazy-module-dump")) { - return module_dump(true); + if (argc == 2 && !strcmp(argv[1], "--lazy-new-module-dump")) { + return module_dump(true, true); + } else if (argc == 2 && !strcmp(argv[1], "--new-module-dump")) { + return module_dump(false, true); + } else if (argc == 2 && !strcmp(argv[1], "--lazy-module-dump")) { + return module_dump(true, false); } else if (argc == 2 && !strcmp(argv[1], "--module-dump")) { - return module_dump(false); + return module_dump(false, false); } else if (argc == 2 && !strcmp(argv[1], "--module-list-functions")) { return module_list_functions(); } else if (argc == 2 && !strcmp(argv[1], "--module-list-globals")) { diff --git a/llvm/tools/llvm-c-test/module.c b/llvm/tools/llvm-c-test/module.c index 0f27337eb7c..a6c47bf5fa1 100644 --- a/llvm/tools/llvm-c-test/module.c +++ b/llvm/tools/llvm-c-test/module.c @@ -19,7 +19,14 @@ #include <stdlib.h> #include <string.h> -static LLVMModuleRef load_module(bool Lazy) { +static void diagnosticHandler(LLVMDiagnosticInfoRef DI, void *C) { + char *CErr = LLVMGetDiagInfoDescription(DI); + fprintf(stderr, "Error with new bitcode parser: %s\n", CErr); + LLVMDisposeMessage(CErr); + exit(1); +} + +static LLVMModuleRef load_module(bool Lazy, bool New) { LLVMMemoryBufferRef MB; LLVMModuleRef M; char *msg = NULL; @@ -30,10 +37,19 @@ static LLVMModuleRef load_module(bool Lazy) { } LLVMBool Ret; - if (Lazy) - Ret = LLVMGetBitcodeModule(MB, &M, &msg); - else - Ret = LLVMParseBitcode(MB, &M, &msg); + if (New) { + LLVMContextRef C = LLVMGetGlobalContext(); + LLVMContextSetDiagnosticHandler(C, diagnosticHandler, NULL); + if (Lazy) + Ret = LLVMGetBitcodeModule2(MB, &M); + else + Ret = LLVMParseBitcode2(MB, &M); + } else { + if (Lazy) + Ret = LLVMGetBitcodeModule(MB, &M, &msg); + else + Ret = LLVMParseBitcode(MB, &M, &msg); + } if (Ret) { fprintf(stderr, "Error parsing bitcode: %s\n", msg); @@ -47,8 +63,8 @@ static LLVMModuleRef load_module(bool Lazy) { return M; } -int module_dump(bool Lazy) { - LLVMModuleRef M = load_module(Lazy); +int module_dump(bool Lazy, bool New) { + LLVMModuleRef M = load_module(Lazy, New); char *irstr = LLVMPrintModuleToString(M); puts(irstr); @@ -60,7 +76,7 @@ int module_dump(bool Lazy) { } int module_list_functions(void) { - LLVMModuleRef M = load_module(false); + LLVMModuleRef M = load_module(false, false); LLVMValueRef f; f = LLVMGetFirstFunction(M); @@ -101,7 +117,7 @@ int module_list_functions(void) { } int module_list_globals(void) { - LLVMModuleRef M = load_module(false); + LLVMModuleRef M = load_module(false, false); LLVMValueRef g; g = LLVMGetFirstGlobal(M); |