aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/backend.dcl4
-rw-r--r--backend/backend.icl14
2 files changed, 18 insertions, 0 deletions
diff --git a/backend/backend.dcl b/backend/backend.dcl
index 62759ac..695d76c 100644
--- a/backend/backend.dcl
+++ b/backend/backend.dcl
@@ -206,10 +206,14 @@ BENoTypes :: !BackEnd -> (!BETypeP,!BackEnd);
// BETypeP BENoTypes ();
BEFlatType :: !BESymbolP !BETypeVarListP !BackEnd -> (!BEFlatTypeP,!BackEnd);
// BEFlatTypeP BEFlatType (BESymbolP symbol,BETypeVarListP arguments);
+//BEFlatTypeX :: !BESymbolP !BEAttribution !BETypeVarListP !BackEnd -> (!BEFlatTypeP,!BackEnd);
+// BEFlatTypeP BEFlatTypeX (BESymbolP symbol,BEAttribution attribute,BETypeVarListP arguments);
BEAlgebraicType :: !BEFlatTypeP !BEConstructorListP !BackEnd -> BackEnd;
// void BEAlgebraicType (BEFlatTypeP lhs,BEConstructorListP constructors);
BERecordType :: !Int !BEFlatTypeP !BETypeNodeP !BEFieldListP !BackEnd -> BackEnd;
// void BERecordType (int moduleIndex,BEFlatTypeP lhs,BETypeNodeP constructorType,BEFieldListP fields);
+//BERecordTypeX :: !Int !BEFlatTypeP !BETypeNodeP !Int !BEFieldListP !BackEnd -> BackEnd;
+// void BERecordType (int moduleIndex,BEFlatTypeP lhs,BETypeNodeP constructorType,int is_boxoed_record,BEFieldListP fields);
BEAbsType :: !BEFlatTypeP !BackEnd -> BackEnd;
// void BEAbsType (BEFlatTypeP lhs);
BEConstructors :: !BEConstructorListP !BEConstructorListP !BackEnd -> (!BEConstructorListP,!BackEnd);
diff --git a/backend/backend.icl b/backend/backend.icl
index 3d3184c..bf10159 100644
--- a/backend/backend.icl
+++ b/backend/backend.icl
@@ -542,6 +542,13 @@ BEFlatType a0 a1 a2 = code {
ccall BEFlatType "II:I:I"
}
// BEFlatTypeP BEFlatType (BESymbolP symbol,BETypeVarListP arguments);
+/*
+BEFlatTypeX :: !BESymbolP !BEAttribution !BETypeVarListP !BackEnd -> (!BEFlatTypeP,!BackEnd);
+BEFlatTypeX a0 a1 a2 a3 = code {
+ ccall BEFlatTypeX "III:I:I"
+}
+*/
+// BEFlatTypeP BEFlatTypeX (BESymbolP symbol,BETypeVarListP arguments,BEAttribution attribute);
BEAlgebraicType :: !BEFlatTypeP !BEConstructorListP !BackEnd -> BackEnd;
BEAlgebraicType a0 a1 a2 = code {
@@ -554,6 +561,13 @@ BERecordType a0 a1 a2 a3 a4 = code {
ccall BERecordType "IIII:V:I"
}
// void BERecordType (int moduleIndex,BEFlatTypeP lhs,BETypeNodeP constructorType,BEFieldListP fields);
+/*
+BERecordTypeX :: !Int !BEFlatTypeP !BETypeNodeP !Int !BEFieldListP !BackEnd -> BackEnd;
+BERecordTypeX a0 a1 a2 a3 a4 a5 = code {
+ ccall BERecordTypeX "IIIII:V:I"
+}
+*/
+// void BERecordTypeX (int moduleIndex,BEFlatTypeP lhs,BETypeNodeP constructorType,int is_boxed_record,BEFieldListP fields);
BEAbsType :: !BEFlatTypeP !BackEnd -> BackEnd;
BEAbsType a0 a1 = code {