diff options
Diffstat (limited to 'gnu/llvm/tools/llvm-c-test/debuginfo.c')
| -rw-r--r-- | gnu/llvm/tools/llvm-c-test/debuginfo.c | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/gnu/llvm/tools/llvm-c-test/debuginfo.c b/gnu/llvm/tools/llvm-c-test/debuginfo.c deleted file mode 100644 index fbd41e97d7a..00000000000 --- a/gnu/llvm/tools/llvm-c-test/debuginfo.c +++ /dev/null @@ -1,183 +0,0 @@ -/*===-- 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/Core.h" -#include "llvm-c/DebugInfo.h" -#include <stdio.h> -#include <string.h> - -static LLVMMetadataRef -declare_objc_class(LLVMDIBuilderRef DIB, LLVMMetadataRef File) { - LLVMMetadataRef Decl = LLVMDIBuilderCreateStructType(DIB, File, "TestClass", 9, File, 42, 64, 0, LLVMDIFlagObjcClassComplete, NULL, NULL, 0, 0, NULL, NULL, 0); - LLVMMetadataRef SuperDecl = LLVMDIBuilderCreateStructType(DIB, File, "TestSuperClass", 14, File, 42, 64, 0, LLVMDIFlagObjcClassComplete, NULL, NULL, 0, 0, NULL, NULL, 0); - LLVMDIBuilderCreateInheritance(DIB, Decl, SuperDecl, 0, 0, 0); - LLVMMetadataRef TestProperty = - LLVMDIBuilderCreateObjCProperty(DIB, "test", 4, File, 42, "getTest", 7, "setTest", 7, 0x20 /*copy*/ | 0x40 /*nonatomic*/, SuperDecl); - LLVMDIBuilderCreateObjCIVar(DIB, "_test", 5, File, 42, 64, 0, 64, LLVMDIFlagPublic, SuperDecl, TestProperty); - return Decl; -} - -int llvm_test_dibuilder(void) { - const char *Filename = "debuginfo.c"; - LLVMModuleRef M = LLVMModuleCreateWithName(Filename); - LLVMDIBuilderRef DIB = LLVMCreateDIBuilder(M); - - LLVMMetadataRef File = LLVMDIBuilderCreateFile(DIB, Filename, - strlen(Filename), ".", 1); - - LLVMMetadataRef CompileUnit = LLVMDIBuilderCreateCompileUnit(DIB, - LLVMDWARFSourceLanguageC, File, "llvm-c-test", 11, 0, NULL, 0, 0, - NULL, 0, LLVMDWARFEmissionFull, 0, 0, 0); - - LLVMMetadataRef Module = - LLVMDIBuilderCreateModule(DIB, CompileUnit, - "llvm-c-test", 11, - "", 0, - "/test/include/llvm-c-test.h", 27, - "", 0); - - LLVMMetadataRef OtherModule = - LLVMDIBuilderCreateModule(DIB, CompileUnit, - "llvm-c-test-import", 18, - "", 0, - "/test/include/llvm-c-test-import.h", 34, - "", 0); - LLVMMetadataRef ImportedModule = - LLVMDIBuilderCreateImportedModuleFromModule(DIB, Module, OtherModule, - File, 42); - LLVMDIBuilderCreateImportedModuleFromAlias(DIB, Module, ImportedModule, - File, 42); - - LLVMMetadataRef ClassTy = declare_objc_class(DIB, File); - LLVMMetadataRef GlobalClassValueExpr = - LLVMDIBuilderCreateConstantValueExpression(DIB, 0); - LLVMDIBuilderCreateGlobalVariableExpression( - DIB, Module, "globalClass", 11, "", 0, File, 1, ClassTy, true, - GlobalClassValueExpr, NULL, 0); - - LLVMMetadataRef Int64Ty = - LLVMDIBuilderCreateBasicType(DIB, "Int64", 5, 64, 0, LLVMDIFlagZero); - LLVMMetadataRef Int64TypeDef = - LLVMDIBuilderCreateTypedef(DIB, Int64Ty, "int64_t", 7, File, 42, File); - - LLVMMetadataRef GlobalVarValueExpr = - LLVMDIBuilderCreateConstantValueExpression(DIB, 0); - LLVMDIBuilderCreateGlobalVariableExpression( - DIB, Module, "global", 6, "", 0, File, 1, Int64TypeDef, true, - GlobalVarValueExpr, NULL, 0); - - LLVMMetadataRef NameSpace = - LLVMDIBuilderCreateNameSpace(DIB, Module, "NameSpace", 9, false); - - LLVMMetadataRef StructDbgElts[] = {Int64Ty, Int64Ty, Int64Ty}; - LLVMMetadataRef StructDbgTy = - LLVMDIBuilderCreateStructType(DIB, NameSpace, "MyStruct", - 8, File, 0, 192, 0, 0, NULL, StructDbgElts, 3, - LLVMDWARFSourceLanguageC, NULL, "MyStruct", 8); - - LLVMMetadataRef StructDbgPtrTy = - LLVMDIBuilderCreatePointerType(DIB, StructDbgTy, 192, 0, 0, "", 0); - - LLVMAddNamedMetadataOperand(M, "FooType", - LLVMMetadataAsValue(LLVMGetModuleContext(M), StructDbgPtrTy)); - - - LLVMTypeRef FooParamTys[] = { - LLVMInt64Type(), - LLVMInt64Type(), - LLVMVectorType(LLVMInt64Type(), 10), - }; - LLVMTypeRef FooFuncTy = LLVMFunctionType(LLVMInt64Type(), FooParamTys, 3, 0); - LLVMValueRef FooFunction = LLVMAddFunction(M, "foo", FooFuncTy); - LLVMBasicBlockRef FooEntryBlock = LLVMAppendBasicBlock(FooFunction, "entry"); - - LLVMMetadataRef Subscripts[] = { - LLVMDIBuilderGetOrCreateSubrange(DIB, 0, 10), - }; - LLVMMetadataRef VectorTy = - LLVMDIBuilderCreateVectorType(DIB, 64 * 10, 0, - Int64Ty, Subscripts, 1); - - - LLVMMetadataRef ParamTypes[] = {Int64Ty, Int64Ty, VectorTy}; - LLVMMetadataRef FunctionTy = - LLVMDIBuilderCreateSubroutineType(DIB, File, ParamTypes, 3, 0); - - LLVMMetadataRef ReplaceableFunctionMetadata = - LLVMDIBuilderCreateReplaceableCompositeType(DIB, 0x15, "foo", 3, - File, File, 42, - 0, 0, 0, - LLVMDIFlagFwdDecl, - "", 0); - - LLVMMetadataRef FooParamLocation = - LLVMDIBuilderCreateDebugLocation(LLVMGetGlobalContext(), 42, 0, - ReplaceableFunctionMetadata, NULL); - LLVMMetadataRef FunctionMetadata = - LLVMDIBuilderCreateFunction(DIB, File, "foo", 3, "foo", 3, - File, 42, FunctionTy, true, true, - 42, 0, false); - LLVMMetadataReplaceAllUsesWith(ReplaceableFunctionMetadata, FunctionMetadata); - - LLVMMetadataRef FooParamExpression = - LLVMDIBuilderCreateExpression(DIB, NULL, 0); - LLVMMetadataRef FooParamVar1 = - LLVMDIBuilderCreateParameterVariable(DIB, FunctionMetadata, "a", 1, 1, File, - 42, Int64Ty, true, 0); - LLVMDIBuilderInsertDeclareAtEnd(DIB, LLVMConstInt(LLVMInt64Type(), 0, false), - FooParamVar1, FooParamExpression, - FooParamLocation, FooEntryBlock); - LLVMMetadataRef FooParamVar2 = - LLVMDIBuilderCreateParameterVariable(DIB, FunctionMetadata, "b", 1, 2, File, - 42, Int64Ty, true, 0); - LLVMDIBuilderInsertDeclareAtEnd(DIB, LLVMConstInt(LLVMInt64Type(), 0, false), - FooParamVar2, FooParamExpression, - FooParamLocation, FooEntryBlock); - LLVMMetadataRef FooParamVar3 = - LLVMDIBuilderCreateParameterVariable(DIB, FunctionMetadata, "c", 1, 3, File, - 42, VectorTy, true, 0); - LLVMDIBuilderInsertDeclareAtEnd(DIB, LLVMConstInt(LLVMInt64Type(), 0, false), - FooParamVar3, FooParamExpression, - FooParamLocation, FooEntryBlock); - - LLVMSetSubprogram(FooFunction, FunctionMetadata); - - LLVMMetadataRef FooLexicalBlock = - LLVMDIBuilderCreateLexicalBlock(DIB, FunctionMetadata, File, 42, 0); - - LLVMBasicBlockRef FooVarBlock = LLVMAppendBasicBlock(FooFunction, "vars"); - LLVMMetadataRef FooVarsLocation = - LLVMDIBuilderCreateDebugLocation(LLVMGetGlobalContext(), 43, 0, - FunctionMetadata, NULL); - LLVMMetadataRef FooVar1 = - LLVMDIBuilderCreateAutoVariable(DIB, FooLexicalBlock, "d", 1, File, - 43, Int64Ty, true, 0, 0); - LLVMValueRef FooVal1 = LLVMConstInt(LLVMInt64Type(), 0, false); - LLVMMetadataRef FooVarValueExpr = - LLVMDIBuilderCreateConstantValueExpression(DIB, 0); - - LLVMDIBuilderInsertDbgValueAtEnd(DIB, FooVal1, FooVar1, FooVarValueExpr, - FooVarsLocation, FooVarBlock); - - LLVMDIBuilderFinalize(DIB); - - char *MStr = LLVMPrintModuleToString(M); - puts(MStr); - LLVMDisposeMessage(MStr); - - LLVMDisposeDIBuilder(DIB); - LLVMDisposeModule(M); - - return 0; -} |
