diff options
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; +} |