Skip to content

Commit ac16829

Browse files
authored
Merge pull request #33 from zhouguangyuan0718/goplus_storageclass
Value: add DLLStorageClass and SetDLLStorageClass
2 parents f1806ce + db3546a commit ac16829

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

ir.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ type (
7171
AtomicOrdering C.LLVMAtomicOrdering
7272
TypeKind C.LLVMTypeKind
7373
Linkage C.LLVMLinkage
74+
DLLStorageClass C.LLVMDLLStorageClass
7475
Visibility C.LLVMVisibility
7576
CallConv C.LLVMCallConv
7677
ComdatSelectionKind C.LLVMComdatSelectionKind
@@ -252,6 +253,16 @@ const (
252253
TokenTypeKind TypeKind = C.LLVMTokenTypeKind
253254
)
254255

256+
//-------------------------------------------------------------------------
257+
// llvm.DLLStorageClass
258+
//-------------------------------------------------------------------------
259+
260+
const (
261+
DefaultStorageClass DLLStorageClass = C.LLVMDefaultStorageClass
262+
DLLImportStorageClass DLLStorageClass = C.LLVMDLLImportStorageClass
263+
DLLExportStorageClass DLLStorageClass = C.LLVMDLLExportStorageClass
264+
)
265+
255266
//-------------------------------------------------------------------------
256267
// llvm.Linkage
257268
//-------------------------------------------------------------------------
@@ -975,7 +986,13 @@ func (v Value) GlobalParent() (m Module) { m.C = C.LLVMGetGlobalParent(v.C); ret
975986
func (v Value) IsDeclaration() bool { return C.LLVMIsDeclaration(v.C) != 0 }
976987
func (v Value) Linkage() Linkage { return Linkage(C.LLVMGetLinkage(v.C)) }
977988
func (v Value) SetLinkage(l Linkage) { C.LLVMSetLinkage(v.C, C.LLVMLinkage(l)) }
978-
func (v Value) Section() string { return C.GoString(C.LLVMGetSection(v.C)) }
989+
func (v Value) DLLStorageClass() DLLStorageClass {
990+
return DLLStorageClass(C.LLVMGetDLLStorageClass(v.C))
991+
}
992+
func (v Value) SetDLLStorageClass(c DLLStorageClass) {
993+
C.LLVMSetDLLStorageClass(v.C, C.LLVMDLLStorageClass(c))
994+
}
995+
func (v Value) Section() string { return C.GoString(C.LLVMGetSection(v.C)) }
979996
func (v Value) SetSection(str string) {
980997
cstr := C.CString(str)
981998
defer C.free(unsafe.Pointer(cstr))

0 commit comments

Comments
 (0)