[Bug d/118314] [15 regression] libphobos.phobos/std/bitmanip.d FAILs
ibuclaw at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 6 20:23:43 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118314
Iain Buclaw <ibuclaw at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ibuclaw at gcc dot gnu.org
--- Comment #1 from Iain Buclaw <ibuclaw at gcc dot gnu.org> ---
Looking at the diff, seems that upstream made a mistake when doing some
mechanical change - the last hunk is missing a "cast".
--- a/std/bitmanip.d
+++ b/std/bitmanip.d
@@ -2959,10 +2959,10 @@ if (__traits(isIntegral, T))
Unqual!T result;
version (LittleEndian)
foreach_reverse (b; array)
- result = cast(Unqual!T) ((result << 8) | b);
+ result = cast() cast(T) ((result << 8) | b);
else
foreach (b; array)
- result = cast(Unqual!T) ((result << 8) | b);
+ result = cast() cast(T) ((result << 8) | b);
return cast(T) result;
}
@@ -2977,7 +2977,7 @@ if (__traits(isIntegral, T))
foreach (i; 0 .. T.sizeof)
{
result[i] = cast(ubyte) tmp;
- tmp = cast(Unqual!T) (tmp >>> 8);
+ tmp = cast() cast(T) (tmp >>> 8);
}
}
else
@@ -2985,7 +2985,7 @@ if (__traits(isIntegral, T))
foreach_reverse (i; 0 .. T.sizeof)
{
result[i] = cast(ubyte) tmp;
- tmp = cast(Unqual!T) (tmp >>> 8);
+ tmp = cast()(T) (tmp >>> 8);
}
}
return result;
---
All this code is already gone in upstream, just need to catch-up with mainline.
More information about the Gcc-bugs
mailing list