mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 21:21:48 +03:00

* Document template instance duplication status as part of its field documentation. (#16643) * Fix Bugzilla 24599 - Wrongly elided TypeInfo emission (#15868) Reverting #14844, which caused such missing TypeInfos, *and* making sure the special TypeInfo members are fully analyzed and ready for codegen (otherwise hitting an assertion for the real-world project). * Reorganize backend build files to match target and make more similar per line (#16672) * Remove redundant suggestions on linker errors (#16711) * Fix bugzilla 24337 - Segfault when printing an int[] cast from a string (#16729) * Add BitFieldStyle.Gcc_Clang_ARM Required for 32-bit ARM, and non-Apple 64-bit ARM targets. The only difference to `Gcc_Clang` is that anonymous and 0-length bit-fields do contribute to the aggregate alignment. Caught by existing proper C interop tests in runnable_cxx/testbitfields.d on such targets. The hardcoded bad tests in runnable/{bitfieldsposix64.c,dbitfieldsposix64.d} however now fail after the fix, on such targets again. * [refactor to `TargetC.contributesToAggregateAlignment(BitFieldDeclaration)` hook] * Fix Bugzilla Issue 24687 - [REG2.110] Cannot cast string-imports to select overload anymore * Also make deprecationSupplemental adhere to error limit (#16779) Co-authored-by: Dennis Korpel <dennis@sarc.nl> * Fix bugzilla 24699 - [REG2.108] No short-circuit evaluation of mixing template bool argument * Fix bugzilla 24731 - IFTI cannot handle integer expressions (#16822) * Fix Bugzilla Issue 24760 - ICE on variadic after default argument * Fix bugzilla 24790 - -vcg-ast ICE on lowered assign exp (#16914) Co-authored-by: Dennis Korpel <dennis@sarc.nl> * Fix bugzilla 24764 - ICE when -vcg-ast prints imported invariant (#16917) Co-authored-by: Dennis Korpel <dennis@sarc.nl> * Fix bugzilla 24431 - dmd -vcg-ast crashes printing failed template in… (#16916) --------- Co-authored-by: Richard (Rikki) Andrew Cattermole <richard@cattermole.co.nz> Co-authored-by: Martin Kinkelin <kinke@users.noreply.github.com> Co-authored-by: Dennis <dkorpel@users.noreply.github.com> Co-authored-by: Martin Kinkelin <mkinkelin@symmetryinvestments.com> Co-authored-by: Martin Kinkelin <noone@nowhere.com> Co-authored-by: RazvanN7 <razvan.nitu1305@gmail.com> Co-authored-by: Dennis Korpel <dennis@sarc.nl> Co-authored-by: Dennis Korpel <dkorpel@gmail.com>
44 lines
1.2 KiB
D
44 lines
1.2 KiB
D
// REQUIRED_ARGS: -Jcompilable/imports/
|
|
// EXTRA_FILES: imports/imp16088.d imports/test21227/a..b.txt imports/test21227/a.txt imports/test21227/..foo/a.txt
|
|
|
|
// https://issues.dlang.org/show_bug.cgi?id=16088
|
|
|
|
void bar(string x) {}
|
|
auto foo()
|
|
{
|
|
import("imp16088.d").bar;
|
|
}
|
|
|
|
|
|
// https://issues.dlang.org/show_bug.cgi?id=21227
|
|
|
|
void test21227()
|
|
{
|
|
import("./test21227/a.txt").bar;
|
|
import("test21227//a..b.txt").bar;
|
|
import("test21227/..foo/a.txt").bar;
|
|
|
|
version(Windows)
|
|
{
|
|
import(r".\test21227\a.txt").bar;
|
|
import(r"test21227\\a..b.txt").bar;
|
|
import(r"test21227\..foo\a.txt").bar;
|
|
}
|
|
}
|
|
|
|
// Test that it's treated like a hex string, allowing implicit conversion to byte array
|
|
|
|
// Can't test whole contents because line endings may vary
|
|
enum expectedStart = "module imports.imp16088;";
|
|
|
|
immutable ubyte[] s0 = import("imp16088.d");
|
|
|
|
static assert(s0[0 .. expectedStart.length] == "module imports.imp16088;");
|
|
|
|
// https://issues.dlang.org/show_bug.cgi?id=24687
|
|
|
|
void foo(string path);
|
|
void foo(const(ubyte[]) data);
|
|
|
|
void bar1() { foo(import("imp16088.d")); } // matches both
|
|
void bar2() { foo(cast(const(ubyte[])) import("imp16088.d")); } // matches both!
|