diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2021-09-24 10:59:47 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2021-09-30 15:07:19 +0200 |
commit | d46a29d919058fb383d19fe35c234fab58286f71 (patch) | |
tree | a70c30e956607308dbc72391acd191c006cd994a /libphobos/libdruntime | |
parent | ef37ddf477ac4b21ec4d1be9260cfd3b431fd4a9 (diff) | |
download | gcc-d46a29d919058fb383d19fe35c234fab58286f71.zip gcc-d46a29d919058fb383d19fe35c234fab58286f71.tar.gz gcc-d46a29d919058fb383d19fe35c234fab58286f71.tar.bz2 |
libphobos: Define main function as extern(C) when compiling without D runtime (PR102476)
The default supplied main function as read when compiling with `-fmain'
has extern(D) linkage. However this does not work when mixing this
option together with `-fno-druntime'.
PR d/102476
gcc/testsuite/ChangeLog:
* gdc.dg/pr102476.d: New test.
libphobos/ChangeLog:
* libdruntime/__main.di: Define main function as extern(C) when
compiling without D runtime.
Diffstat (limited to 'libphobos/libdruntime')
-rw-r--r-- | libphobos/libdruntime/__main.di | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libphobos/libdruntime/__main.di b/libphobos/libdruntime/__main.di index 8062bf4..ab1264b 100644 --- a/libphobos/libdruntime/__main.di +++ b/libphobos/libdruntime/__main.di @@ -20,7 +20,17 @@ module __main; -int main(char[][]) +version (D_BetterC) { - return 0; + extern (C) int main(int, char**) + { + return 0; + } +} +else +{ + int main(char[][]) + { + return 0; + } } |