diff options
| author | Amaury Sechet <deadalnix@gmail.com> | 2016-02-16 07:33:23 +0000 |
|---|---|---|
| committer | Amaury Sechet <deadalnix@gmail.com> | 2016-02-16 07:33:23 +0000 |
| commit | 6b16c2372cd66646852173e67268b661efebd4e3 (patch) | |
| tree | 468f5af571797c8ccc51283d8ec6c8e6adbcc4c2 | |
| parent | 5a62f7e3994ef652a0d6db4b17c497bbcc77b578 (diff) | |
| download | bcm5719-llvm-6b16c2372cd66646852173e67268b661efebd4e3.tar.gz bcm5719-llvm-6b16c2372cd66646852173e67268b661efebd4e3.zip | |
Do some refactoring in constant generation in the C API echo test. NFC
llvm-svn: 260941
| -rw-r--r-- | llvm/tools/llvm-c-test/echo.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/llvm/tools/llvm-c-test/echo.cpp b/llvm/tools/llvm-c-test/echo.cpp index 9dd9b105407..d13a51416f7 100644 --- a/llvm/tools/llvm-c-test/echo.cpp +++ b/llvm/tools/llvm-c-test/echo.cpp @@ -221,14 +221,12 @@ LLVMValueRef clone_constant(LLVMValueRef Cst, LLVMModuleRef M) { const char *Name = LLVMGetValueName(Cst); // Try function - LLVMValueRef Dst = LLVMGetNamedFunction(M, Name); - if (Dst != nullptr) - return Dst; + if (LLVMIsAFunction(Cst)) + return LLVMGetNamedFunction(M, Name); // Try global variable - Dst = LLVMGetNamedGlobal(M, Name); - if (Dst != nullptr) - return Dst; + if (LLVMIsAGlobalVariable(Cst)) + return LLVMGetNamedGlobal(M, Name); fprintf(stderr, "Could not find @%s\n", Name); exit(-1); @@ -243,8 +241,12 @@ LLVMValueRef clone_constant(LLVMValueRef Cst, LLVMModuleRef M) { if (LLVMIsUndef(Cst)) return LLVMGetUndef(TypeCloner(M).Clone(Cst)); - // This kind of constant is not supported. - report_fatal_error("Unsupported contant type"); + // This kind of constant is not supported + if (!LLVMIsAConstantExpr(Cst)) + report_fatal_error("Expected a constant expression"); + + // At this point, it must be a constant expression + report_fatal_error("ConstantExpression are not supported"); } struct FunCloner { |

