Skip to content

Commit aeb4871

Browse files
committed
let cores define versions
1 parent 96ec5a8 commit aeb4871

File tree

4 files changed

+8
-11
lines changed

4 files changed

+8
-11
lines changed

source/app.d

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,7 @@ int main(string[] args) {
377377
}
378378

379379
auto preproc = new Preprocessor();
380+
preproc.disabled = disabled;
380381
preproc.includeDirs = includeDirs;
381382
preproc.versions = versions;
382383

source/backends/arm64.d

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,11 @@ class BackendARM64 : CompilerBackend {
106106
// OS features
107107
switch (os) {
108108
case "linux": {
109-
ret ~= ["Linux", "IO", "File", "Args", "Time", "Heap", "Exit"];
109+
ret ~= ["Linux"];
110110
break;
111111
}
112112
case "osx": {
113-
ret ~= ["OSX", "IO", "File", "Args", "Time", "Exit"];
114-
if (useLibc) ret ~= "Heap";
113+
ret ~= ["OSX"];
115114
break;
116115
}
117116
default: break;

source/preprocessor.d

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ class Preprocessor {
1414
string[] includeDirs;
1515
string[] included;
1616
string[] versions;
17-
string[] restricted = ["IO", "File", "Time", "Exit"];
17+
string[] restricted;
18+
string[] disabled;
1819
bool success = true;
1920

2021
final void Error(Char, A...)(ErrorInfo error, in Char[] fmt, A args) {
@@ -89,6 +90,8 @@ class Preprocessor {
8990
);
9091
}
9192

93+
if (disabled.canFind(node.ver)) break;
94+
9295
if (!versions.canFind(node.ver)) {
9396
versions ~= node.ver;
9497
}
@@ -97,12 +100,6 @@ class Preprocessor {
97100
case NodeType.Restrict: {
98101
auto node = cast(RestrictNode) inode;
99102

100-
if (versions.canFind(node.ver)) {
101-
Error(
102-
node.error, "Restricted version '%s' is enabled", node.ver
103-
);
104-
}
105-
106103
restricted ~= node.ver;
107104
break;
108105
}

0 commit comments

Comments
 (0)