Results 226 comments of Johan Engelen
trafficstars

> Is there some way to make the compiler predefine `Posix` with the ldc-build-runtime using the armv7a-none-newlibeabi? You can use compiler flag `-d-version=Posix`, but note: newlib does not implement (all...

I guess here one can argue that the store does not have to be 64 bytes, but only as large as `T` (the padding does not need to be written...

> Ah, I thought the DMD version used alias this to then only atomically store the boolean. Perhaps it would work if we add a size restriction as template condition,...

Indeed, it speeds up the build at Weka by about 2%. (total, including SemA and linking) What's the downside? Silent miscompilation, or (better) crash?

@FeepingCreature can you clarify what the numbers are? Which one is for with, and which without `--disable-verify` ?

I think a good overall check is to verify that compilation output did not change `--opaque-pointers=true/false` (works with LLVM15). If we release with LLVM15, I think it is best to...

I'm using this script to check the binary output of object files `.o` of compiling druntime: ```bash # build druntime with and without opaque pointers set -e LDC_BUILDDIR=/Users/johan/ldc/build15 DRUNTIME_SRC_DIR=/Users/johan/ldc/ldc/runtime/druntime/src DRUNTIME_SRC="core/atomic.d...

For Phobos: ```bash # build druntime with and without opaque pointers set -e LDC_BUILDDIR=/Users/johan/ldc/build15 DRUNTIME_SRC_DIR=/Users/johan/ldc/ldc/runtime/druntime/src DRUNTIME_SRC="core/atomic.d core/attribute.d core/bitop.d core/builtins.d core/checkedint.d core/cpuid.d core/demangle.d core/exception.d core/gc/config.d core/gc/gcinterface.d core/gc/registry.d core/int128.d core/internal/abort.d core/internal/array/appending.d core/internal/array/capacity.d...

> You mean checking the asm/machine code? I guess that could work indeed (possibly with `-O` to get rid of potentially small diffs), if we did that for the entire...

Update: TL;DR: binary comparison shows false positives. There are subtle differences in asm/object file output that do not constitute actual differences in code behavior. druntime compilation looks fine **for AArch64...