llvm_c_ext: Updated to use `llvm::DINode::DIFlags` rather than just `unsigned`. Added new constantpool `LLVMDIFLags`
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LLVMDIFlags.st Thu Sep 15 22:14:32 2016 +0100
@@ -0,0 +1,87 @@
+"
+ Copyright (C) 2015-now Jan Vrany
+
+ This code is not an open-source (yet). You may use this code
+ for your own experiments and projects, given that:
+
+ * all modification to the code will be sent to the
+ original author for inclusion in future releases
+ * this is not used in any commercial software
+
+ This license is provisional and may (will) change in
+ a future.
+"
+"{ Package: 'jv:llvm_s' }"
+
+"{ NameSpace: Smalltalk }"
+
+SharedPool subclass:#LLVMDIFlags
+ instanceVariableNames:''
+ classVariableNames:'LLVMDIFlagZero LLVMDIFlagPrivate LLVMDIFlagProtected
+ LLVMDIFlagPublic LLVMDIFlagFwdDecl LLVMDIFlagAppleBlock
+ LLVMDIFlagBlockByrefStruct LLVMDIFlagVirtual LLVMDIFlagArtificial
+ LLVMDIFlagExplicit LLVMDIFlagPrototyped
+ LLVMDIFlagObjcClassComplete LLVMDIFlagObjectPointer
+ LLVMDIFlagVector LLVMDIFlagStaticMember LLVMDIFlagLValueReference
+ LLVMDIFlagRValueReference LLVMDIFlagExternalTypeRef
+ LLVMDIFlagSingleInheritance LLVMDIFlagMultipleInheritance
+ LLVMDIFlagVirtualInheritance LLVMDIFlagIntroducedVirtual
+ LLVMDIFlagBitField LLVMDIFlagNoReturn LLVMDIFlagAccessibility'
+ poolDictionaries:''
+ category:'LLVM-S-Core-Constants'
+!
+
+!LLVMDIFlags class methodsFor:'documentation'!
+
+copyright
+"
+ Copyright (C) 2015-now Jan Vrany
+
+ This code is not an open-source (yet). You may use this code
+ for your own experiments and projects, given that:
+
+ * all modification to the code will be sent to the
+ original author for inclusion in future releases
+ * this is not used in any commercial software
+
+ This license is provisional and may (will) change in
+ a future.
+"
+! !
+
+!LLVMDIFlags class methodsFor:'initialization'!
+
+initialize
+ "Invoked at system start or when the class is dynamically loaded."
+
+ LLVMDIFlagZero := 0.
+ LLVMDIFlagPrivate := 1.
+ LLVMDIFlagProtected := 2.
+ LLVMDIFlagPublic := 3.
+ LLVMDIFlagFwdDecl := (1 << 2).
+ LLVMDIFlagAppleBlock := (1 << 3).
+ LLVMDIFlagBlockByrefStruct := (1 << 4).
+ LLVMDIFlagVirtual := (1 << 5).
+ LLVMDIFlagArtificial := (1 << 6).
+ LLVMDIFlagExplicit := (1 << 7).
+ LLVMDIFlagPrototyped := (1 << 8).
+ LLVMDIFlagObjcClassComplete := (1 << 9).
+ LLVMDIFlagObjectPointer := (1 << 10).
+ LLVMDIFlagVector := (1 << 11).
+ LLVMDIFlagStaticMember := (1 << 12).
+ LLVMDIFlagLValueReference := (1 << 13).
+ LLVMDIFlagRValueReference := (1 << 14).
+ LLVMDIFlagExternalTypeRef := (1 << 15).
+ LLVMDIFlagSingleInheritance := (1 << 16).
+ LLVMDIFlagMultipleInheritance := (2 << 16).
+ LLVMDIFlagVirtualInheritance := (3 << 16).
+ LLVMDIFlagIntroducedVirtual := (1 << 18).
+ LLVMDIFlagBitField := (1 << 19).
+ LLVMDIFlagNoReturn := (1 << 20).
+ LLVMDIFlagAccessibility := LLVMDIFlagPrivate | LLVMDIFlagProtected | LLVMDIFlagPublic
+
+ "Modified: / 15-09-2016 / 22:12:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+
+LLVMDIFlags initialize!
--- a/LLVMVisibility.st Tue Aug 30 16:57:29 2016 +0100
+++ b/LLVMVisibility.st Thu Sep 15 22:14:32 2016 +0100
@@ -67,5 +67,12 @@
^LLVMProtectedVisibility
! !
+!LLVMVisibility class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
LLVMVisibility initialize!
--- a/Make.proto Tue Aug 30 16:57:29 2016 +0100
+++ b/Make.proto Thu Sep 15 22:14:32 2016 +0100
@@ -34,7 +34,7 @@
# add the path(es) here:,
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic
# if you need any additional defines for embedded C code,
@@ -135,6 +135,7 @@
$(OUTDIR)LLVMCallConv.$(O) LLVMCallConv.$(C) LLVMCallConv.$(H): LLVMCallConv.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)LLVMConfig.$(O) LLVMConfig.$(C) LLVMConfig.$(H): LLVMConfig.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)LLVMConstant.$(O) LLVMConstant.$(C) LLVMConstant.$(H): LLVMConstant.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)LLVMDIFlags.$(O) LLVMDIFlags.$(C) LLVMDIFlags.$(H): LLVMDIFlags.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)LLVMDLLStorageClass.$(O) LLVMDLLStorageClass.$(C) LLVMDLLStorageClass.$(H): LLVMDLLStorageClass.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)LLVMDWARFEncoding.$(O) LLVMDWARFEncoding.$(C) LLVMDWARFEncoding.$(H): LLVMDWARFEncoding.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)LLVMDWARFLamguage.$(O) LLVMDWARFLamguage.$(C) LLVMDWARFLamguage.$(H): LLVMDWARFLamguage.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
--- a/Make.spec Tue Aug 30 16:57:29 2016 +0100
+++ b/Make.spec Thu Sep 15 22:14:32 2016 +0100
@@ -60,6 +60,7 @@
LLVMCallConv \
LLVMConfig \
LLVMConstant \
+ LLVMDIFlags \
LLVMDLLStorageClass \
LLVMDWARFEncoding \
LLVMDWARFLamguage \
@@ -138,6 +139,7 @@
$(OUTDIR_SLASH)LLVMCallConv.$(O) \
$(OUTDIR_SLASH)LLVMConfig.$(O) \
$(OUTDIR_SLASH)LLVMConstant.$(O) \
+ $(OUTDIR_SLASH)LLVMDIFlags.$(O) \
$(OUTDIR_SLASH)LLVMDLLStorageClass.$(O) \
$(OUTDIR_SLASH)LLVMDWARFEncoding.$(O) \
$(OUTDIR_SLASH)LLVMDWARFLamguage.$(O) \
--- a/abbrev.stc Tue Aug 30 16:57:29 2016 +0100
+++ b/abbrev.stc Thu Sep 15 22:14:32 2016 +0100
@@ -10,6 +10,7 @@
LLVMCallConv LLVMCallConv jv:llvm_s 'LLVM-S-Core-Constants' 0
LLVMConfig LLVMConfig jv:llvm_s 'LLVM-S-Internal' 0
LLVMConstant LLVMConstant jv:llvm_s 'LLVM-S-Core' 0
+LLVMDIFlags LLVMDIFlags jv:llvm_s 'LLVM-S-Core-Constants' 0
LLVMDLLStorageClass LLVMDLLStorageClass jv:llvm_s 'LLVM-S-Core-Constants' 0
LLVMDWARFEncoding LLVMDWARFEncoding jv:llvm_s 'LLVM-S-Core-Constants' 0
LLVMDWARFLamguage LLVMDWARFLamguage jv:llvm_s 'LLVM-S-Core-Constants' 0
@@ -31,7 +32,6 @@
LLVMVerifierFailureAction LLVMVerifierFailureAction jv:llvm_s 'LLVM-S-Core-Constants' 0
LLVMVisibility LLVMVisibility jv:llvm_s 'LLVM-S-Core-Constants' 0
jv_llvm_s jv_llvm_s jv:llvm_s '* Projects & Packages *' 3
-LLVMExamples LLVMExamples jv:llvm_s 'LLVM-S-Core-Examples' 1
LLVMObject LLVMObject jv:llvm_s 'LLVM-S-Internal' 0
LLVMTypeError LLVMTypeError jv:llvm_s 'LLVM-S-Core-Exceptions' 1
LLVMBasicBlock LLVMBasicBlock jv:llvm_s 'LLVM-S-Core' 0
@@ -75,3 +75,4 @@
LLVMTypeFloat LLVMTypeFloat jv:llvm_s 'LLVM-S-Core-Types' 0
LLVMTypePPC_FP128 LLVMTypePPC_FP128 jv:llvm_s 'LLVM-S-Core-Types' 0
LLVMTypeX86_FP80 LLVMTypeX86_FP80 jv:llvm_s 'LLVM-S-Core-Types' 0
+LLVMExamples LLVMExamples jv:llvm_s 'LLVM-S-Core-Examples' 1
--- a/bc.mak Tue Aug 30 16:57:29 2016 +0100
+++ b/bc.mak Thu Sep 15 22:14:32 2016 +0100
@@ -35,7 +35,7 @@
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic
LOCALDEFINES=
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME)
@@ -77,6 +77,7 @@
$(OUTDIR)LLVMCallConv.$(O) LLVMCallConv.$(C) LLVMCallConv.$(H): LLVMCallConv.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)LLVMConfig.$(O) LLVMConfig.$(C) LLVMConfig.$(H): LLVMConfig.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)LLVMConstant.$(O) LLVMConstant.$(C) LLVMConstant.$(H): LLVMConstant.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)LLVMDIFlags.$(O) LLVMDIFlags.$(C) LLVMDIFlags.$(H): LLVMDIFlags.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)LLVMDLLStorageClass.$(O) LLVMDLLStorageClass.$(C) LLVMDLLStorageClass.$(H): LLVMDLLStorageClass.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)LLVMDWARFEncoding.$(O) LLVMDWARFEncoding.$(C) LLVMDWARFEncoding.$(H): LLVMDWARFEncoding.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)LLVMDWARFLamguage.$(O) LLVMDWARFLamguage.$(C) LLVMDWARFLamguage.$(H): LLVMDWARFLamguage.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
--- a/jv_llvm_s.st Tue Aug 30 16:57:29 2016 +0100
+++ b/jv_llvm_s.st Thu Sep 15 22:14:32 2016 +0100
@@ -91,7 +91,6 @@
by searching all classes (and their packages) which are referenced by my classes."
^ #(
- #'stx:goodies/sunit' "TestAsserter - superclass of LLVMExamples"
)
!
@@ -147,6 +146,7 @@
LLVMCallConv
LLVMConfig
LLVMConstant
+ LLVMDIFlags
LLVMDLLStorageClass
LLVMDWARFEncoding
LLVMDWARFLamguage
@@ -168,7 +168,6 @@
LLVMVerifierFailureAction
LLVMVisibility
#'jv_llvm_s'
- (LLVMExamples autoload)
LLVMObject
LLVMTypeError
LLVMBasicBlock
@@ -212,6 +211,7 @@
LLVMTypeFloat
#'LLVMTypePPC_FP128'
#'LLVMTypeX86_FP80'
+ (LLVMExamples autoload)
)
!
--- a/libInit.cc Tue Aug 30 16:57:29 2016 +0100
+++ b/libInit.cc Thu Sep 15 22:14:32 2016 +0100
@@ -25,6 +25,7 @@
extern void _LLVMCallConv_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _LLVMConfig_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _LLVMConstant_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _LLVMDIFlags_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _LLVMDLLStorageClass_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _LLVMDWARFEncoding_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _LLVMDWARFLamguage_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -112,6 +113,7 @@
_LLVMCallConv_Init(pass,__pRT__,snd);
_LLVMConfig_Init(pass,__pRT__,snd);
_LLVMConstant_Init(pass,__pRT__,snd);
+ _LLVMDIFlags_Init(pass,__pRT__,snd);
_LLVMDLLStorageClass_Init(pass,__pRT__,snd);
_LLVMDWARFEncoding_Init(pass,__pRT__,snd);
_LLVMDWARFLamguage_Init(pass,__pRT__,snd);
--- a/llvm_c_ext/include/llvm-c-ext/DIBuilder.h Tue Aug 30 16:57:29 2016 +0100
+++ b/llvm_c_ext/include/llvm-c-ext/DIBuilder.h Thu Sep 15 22:14:32 2016 +0100
@@ -26,6 +26,18 @@
extern "C" {
#endif
+/**
+ * Debug info flags.
+ *
+ * \see llvm::DINode::DIFlags
+ */
+enum LLVMDIFlag {
+#define HANDLE_DI_FLAG(ID, NAME) DIFlag##NAME = ID,
+#include "llvm/IR/DebugInfoFlags.def"
+ DIFlagAccessibility = DIFlagPrivate | DIFlagProtected | DIFlagPublic
+};
+
+
// FIXME: These bindings shouldn't be Go-specific and should eventually move to
// a (somewhat) less stable collection of C APIs for use in creating bindings of
// LLVM in other languages.
--- a/llvm_c_ext/lib/DIBuilder.cpp Tue Aug 30 16:57:29 2016 +0100
+++ b/llvm_c_ext/lib/DIBuilder.cpp Thu Sep 15 22:14:32 2016 +0100
@@ -87,7 +87,7 @@
return wrap(D->createFunction(unwrap<DIScope>(Scope), Name, LinkageName,
File ? unwrap<DIFile>(File) : nullptr, Line,
unwrap<DISubroutineType>(CompositeType),
- IsLocalToUnit, IsDefinition, ScopeLine, Flags,
+ IsLocalToUnit, IsDefinition, ScopeLine, (DINode::DIFlags)Flags,
IsOptimized, unwrap<Function>(Func)));
}
#else
@@ -100,7 +100,7 @@
return wrap(D->createFunction(unwrap<DIScope>(Scope), Name, LinkageName,
File ? unwrap<DIFile>(File) : nullptr, Line,
unwrap<DISubroutineType>(CompositeType),
- IsLocalToUnit, IsDefinition, ScopeLine, Flags,
+ IsLocalToUnit, IsDefinition, ScopeLine, (DINode::DIFlags)Flags,
IsOptimized));
}
#endif
@@ -112,7 +112,7 @@
DIBuilder *D = unwrap(Dref);
return wrap(D->createAutoVariable(
unwrap<DIScope>(Scope), StringRef(Name), unwrap<DIFile>(File), Line,
- unwrap<DIType>(Ty), (bool)AlwaysPreserve, Flags));
+ unwrap<DIType>(Ty), (bool)AlwaysPreserve, (DINode::DIFlags)Flags));
}
@@ -123,7 +123,7 @@
DIBuilder *D = unwrap(Dref);
return wrap(D->createParameterVariable(
unwrap<DIScope>(Scope), StringRef(Name), ArgNo, unwrap<DIFile>(File), Line,
- unwrap<DIType>(Ty), (bool)AlwaysPreserve, Flags));
+ unwrap<DIType>(Ty), (bool)AlwaysPreserve, (DINode::DIFlags)Flags));
}
LLVMMetadataRef LLVMDIBuilderCreateBasicType(LLVMDIBuilderRef Dref,
@@ -173,7 +173,7 @@
DIBuilder *D = unwrap(Dref);
return wrap(D->createStructType(
unwrap<DIScope>(Scope), Name, File ? unwrap<DIFile>(File) : nullptr, Line,
- SizeInBits, AlignInBits, Flags,
+ SizeInBits, AlignInBits, (DINode::DIFlags)Flags,
DerivedFrom ? unwrap<DIType>(DerivedFrom) : nullptr,
ElementTypes ? DINodeArray(unwrap<MDTuple>(ElementTypes)) : nullptr));
}
@@ -186,7 +186,7 @@
DIBuilder *D = unwrap(Dref);
return wrap(D->createReplaceableCompositeType(
Tag, Name, unwrap<DIScope>(Scope), File ? unwrap<DIFile>(File) : nullptr,
- Line, RuntimeLang, SizeInBits, AlignInBits, Flags));
+ Line, RuntimeLang, SizeInBits, AlignInBits, (DINode::DIFlags)Flags));
}
LLVMMetadataRef
@@ -198,7 +198,7 @@
DIBuilder *D = unwrap(Dref);
return wrap(D->createMemberType(
unwrap<DIScope>(Scope), Name, File ? unwrap<DIFile>(File) : nullptr, Line,
- SizeInBits, AlignInBits, OffsetInBits, Flags, unwrap<DIType>(Ty)));
+ SizeInBits, AlignInBits, OffsetInBits, (DINode::DIFlags)Flags, unwrap<DIType>(Ty)));
}
LLVMMetadataRef LLVMDIBuilderCreateArrayType(LLVMDIBuilderRef Dref,