Skip to content

Commit 5ac6c85

Browse files
committed
Predefine version D_ObjectiveC _before_ printing predefs with -v
This fixes 64bit-macOS-exclusive runnable/test18335.sh.
1 parent 7f6b7b9 commit 5ac6c85

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

dmd/mars.d

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,14 @@ extern (C++) int mars_mainBody(ref Strings files, ref Strings libmodules)
551551
Objc._init();
552552
builtin_init();
553553

554-
version (IN_LLVM) {} else
554+
version (IN_LLVM)
555+
{
556+
// LDC prints binary/version/config before entering this function.
557+
// DMD prints the predefined versions as part of addDefaultVersionIdentifiers().
558+
// Let's do it here after initialization, as e.g. Objc.init() may add `D_ObjectiveC`.
559+
printPredefinedVersions();
560+
}
561+
else
555562
{
556563
printPredefinedVersions();
557564

@@ -1610,8 +1617,7 @@ void addDefaultVersionIdentifiers()
16101617

16111618
} // !IN_LLVM
16121619

1613-
// IN_LLVM replaced: `private` by `extern (C++)`
1614-
extern (C++) void printPredefinedVersions()
1620+
private void printPredefinedVersions()
16151621
{
16161622
if (global.params.verbose && global.versionids)
16171623
{

dmd/mars.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ void ensurePathToNameExists(Loc loc, const char *name);
102102

103103
#if IN_LLVM
104104
int mars_mainBody(Strings &files, Strings &libmodules);
105-
void printPredefinedVersions();
106105
#endif
107106

108107
const char *importHint(const char *s);

driver/main.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1123,7 +1123,6 @@ int cppmain(int argc, char **argv) {
11231123

11241124
void addDefaultVersionIdentifiers() {
11251125
registerPredefinedVersions();
1126-
printPredefinedVersions();
11271126
}
11281127

11291128
void codegenModules(Modules &modules) {

0 commit comments

Comments
 (0)