diff options
author | whitequark <whitequark@whitequark.org> | 2017-11-01 22:18:52 +0000 |
---|---|---|
committer | whitequark <whitequark@whitequark.org> | 2017-11-01 22:18:52 +0000 |
commit | 789164d4262b4132e074fadd6e1df8328618e30e (patch) | |
tree | 264e0442948ef2c759aeef7d9d864e757fdbbab1 /llvm/tools/llvm-c-test/debuginfo.c | |
parent | 3837322a6b757230368cec94cf2766734983df72 (diff) | |
download | bcm5719-llvm-789164d4262b4132e074fadd6e1df8328618e30e.tar.gz bcm5719-llvm-789164d4262b4132e074fadd6e1df8328618e30e.zip |
[LLVM-C] Expose functions to create debug locations via DIBuilder.
These include:
* Several functions for creating an LLVMDIBuilder,
* LLVMDIBuilderCreateCompileUnit,
* LLVMDIBuilderCreateFile,
* LLVMDIBuilderCreateDebugLocation.
Patch by Harlan Haskins.
Differential Revision: https://reviews.llvm.org/D32368
llvm-svn: 317135
Diffstat (limited to 'llvm/tools/llvm-c-test/debuginfo.c')
-rw-r--r-- | llvm/tools/llvm-c-test/debuginfo.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/llvm/tools/llvm-c-test/debuginfo.c b/llvm/tools/llvm-c-test/debuginfo.c new file mode 100644 index 00000000000..2da3887a172 --- /dev/null +++ b/llvm/tools/llvm-c-test/debuginfo.c @@ -0,0 +1,38 @@ +/*===-- debuginfo.c - tool for testing libLLVM and llvm-c API -------------===*\ +|* *| +|* The LLVM Compiler Infrastructure *| +|* *| +|* This file is distributed under the University of Illinois Open Source *| +|* License. See LICENSE.TXT for details. *| +|* *| +|*===----------------------------------------------------------------------===*| +|* *| +|* Tests for the LLVM C DebugInfo API *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#include "llvm-c-test.h" +#include "llvm-c/DebugInfo.h" +#include <string.h> +#include <stdio.h> + +int llvm_test_dibuilder() { + LLVMModuleRef M = LLVMModuleCreateWithName("debuginfo.c"); + LLVMDIBuilderRef DIB = LLVMCreateDIBuilder(M); + + LLVMMetadataRef File = LLVMDIBuilderCreateFile(DIB, "debuginfo.c", 12, + ".", 1); + + LLVMDIBuilderCreateCompileUnit(DIB, + LLVMDWARFSourceLanguageC, File,"llvm-c-test", 11, 0, NULL, 0, 0, + NULL, 0, LLVMDWARFEmissionFull, 0, 0, 0); + + char *MStr = LLVMPrintModuleToString(M); + puts(MStr); + LLVMDisposeMessage(MStr); + + LLVMDisposeDIBuilder(DIB); + LLVMDisposeModule(M); + + return 0; +} |