d: Fix importC cannot find input file __importc_builtins.d [PR119761]
Synchronizes the D runtime library with upstream druntime 09ed02ce56, and fixes a rename of the importC module missed in the r15-6559 merge. PR d/119761 libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 09ed02ce56. * libdruntime/Makefile.am (DRUNTIME_DISOURCES): Rename __builtins.di to __importc_builtins.di. * libdruntime/Makefile.in: Regenerate. * libdruntime/__builtins.di: Move to... * libdruntime/__importc_builtins.di: ...here. gcc/testsuite/ChangeLog: * gdc.dg/import-c/import-c.exp: New test. * gdc.dg/import-c/pr119761.d: New test. * gdc.dg/import-c/pr119761c.c: New test.
This commit is contained in:
parent
9a7b6668f8
commit
424c6c8803
7 changed files with 46 additions and 5 deletions
29
gcc/testsuite/gdc.dg/import-c/import-c.exp
Normal file
29
gcc/testsuite/gdc.dg/import-c/import-c.exp
Normal file
|
@ -0,0 +1,29 @@
|
|||
# Copyright (C) 2025 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Load support procs.
|
||||
load_lib gdc-dg.exp
|
||||
|
||||
# Initialize `dg'.
|
||||
dg-init
|
||||
|
||||
# Main loop.
|
||||
gdc-dg-runtest [lsort \
|
||||
[glob -nocomplain $srcdir/$subdir/*.d ] ] "" \
|
||||
"-I $srcdir/$subdir -finclude-imports"
|
||||
|
||||
# All done.
|
||||
dg-finish
|
2
gcc/testsuite/gdc.dg/import-c/pr119761.d
Normal file
2
gcc/testsuite/gdc.dg/import-c/pr119761.d
Normal file
|
@ -0,0 +1,2 @@
|
|||
// { dg-do compile }
|
||||
import pr119761c;
|
4
gcc/testsuite/gdc.dg/import-c/pr119761c.c
Normal file
4
gcc/testsuite/gdc.dg/import-c/pr119761c.c
Normal file
|
@ -0,0 +1,4 @@
|
|||
int f119761(const char *, ...)
|
||||
{
|
||||
return 0;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
c6863be7206eef3c393726363a480baf0a0c6530
|
||||
09ed02ce56ea5bf3e59f21ee0390cd85eb8bfaa7
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the dlang/dmd repository.
|
||||
|
|
|
@ -445,4 +445,4 @@ DRUNTIME_DSOURCES_WINDOWS = core/sys/windows/accctrl.d \
|
|||
core/sys/windows/winuser.d core/sys/windows/winver.d \
|
||||
core/sys/windows/wtsapi32.d core/sys/windows/wtypes.d
|
||||
|
||||
DRUNTIME_DISOURCES = __builtins.di __main.di
|
||||
DRUNTIME_DISOURCES = __importc_builtins.di __main.di
|
||||
|
|
|
@ -1126,7 +1126,7 @@ DRUNTIME_DSOURCES_WINDOWS = core/sys/windows/accctrl.d \
|
|||
core/sys/windows/winuser.d core/sys/windows/winver.d \
|
||||
core/sys/windows/wtsapi32.d core/sys/windows/wtypes.d
|
||||
|
||||
DRUNTIME_DISOURCES = __builtins.di __main.di
|
||||
DRUNTIME_DISOURCES = __importc_builtins.di __main.di
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
* The purpose is to make it unnecessary to hardwire them into the compiler.
|
||||
* As the leading double underscore suggests, this is for internal use only.
|
||||
*
|
||||
* Copyright: Copyright Digital Mars 2022
|
||||
* Copyright: Copyright D Language Foundation 2022-2025
|
||||
* License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
|
||||
* Authors: Walter Bright
|
||||
* Source: $(DRUNTIMESRC __builtins.d)
|
||||
* Source: $(DRUNTIMESRC __importc_builtins.di)
|
||||
*/
|
||||
|
||||
|
||||
|
@ -86,6 +86,12 @@ version (DigitalMars)
|
|||
return core.bitop.bswap(value);
|
||||
}
|
||||
|
||||
uint __builtin__popcount()(ulong value)
|
||||
{
|
||||
import core.bitop;
|
||||
return core.bitop._popcnt(value);
|
||||
}
|
||||
|
||||
// Lazily imported on first use
|
||||
private alias c_long = imported!"core.stdc.config".c_long;
|
||||
|
Loading…
Add table
Reference in a new issue