Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 02:51

    kinke on azure_test

    (compare)

  • 02:49
    kinke opened #3628
  • Dec 04 20:13
    kinke edited #3620
  • Dec 04 20:13
    kinke ready_for_review #3620
  • Dec 04 14:18

    kinke on azure_test

    fetchDepth (compare)

  • Dec 04 14:03

    kinke on azure_test

    http.postBuffer (compare)

  • Dec 04 14:02

    kinke on azure_test

    http.postBuffer (compare)

  • Dec 04 13:21

    kinke on azure_test

    Upgrade frontend & libs to earl… dmd-testsuite: Disable new comp… Phobos: Fix std.datetime.timezo… and 9 more (compare)

  • Dec 04 11:03
    kinke synchronize #3620
  • Dec 03 20:40
    kinke synchronize #3620
  • Dec 03 20:30

    kinke on master

    Phobos: Revise & convert LDC-sp… (compare)

  • Dec 03 20:30
    kinke closed #3623
  • Dec 03 12:46
    dnadlinger commented #3627
  • Dec 03 12:19
    kinke commented #3627
  • Dec 03 12:12
    JohanEngelen closed #3627
  • Dec 03 12:12
    JohanEngelen commented #3627
  • Dec 03 05:05
    RUSshy opened #3627
  • Dec 01 19:23
    kinke synchronize #3623
  • Dec 01 09:22
    kinke synchronize #3623
  • Dec 01 09:21
    kinke synchronize #3623
Martin Kinkelin
@kinke
I've completely reworked https://wiki.dlang.org/LDC#Project_status. Feedback/cross-checking is very welcome.
Martin Kinkelin
@kinke
Also completely reworked: https://wiki.dlang.org/Using_LDC
Johan Engelen
@JohanEngelen
Nice, I made some more additions to those two pages
Martin Kinkelin
@kinke
Excellent.
Martin Kinkelin
@kinke
CirrusCI now features CPU & memory usage charts, pretty cool: https://cirrus-ci.com/task/4597926959775744
Joseph Rushton Wakeling
@WebDrake
Ahoy folks -- quick question about LLVM 10.0.x -- I'm getting some build failures with this, has anything changed in the required build setup? I have not seen any changes in the CI, so a bit mystified:
[2336/3819] Building CXX object projects/SPIRV-LLVM-Translator/lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/VectorComputeUtil.cpp.o
FAILED: /usr/bin/c++   -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Iprojects/SPIRV-LLVM-Translator/lib/SPIRV -I/root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV -Iinclude -I/root/parts/llvm/src/llvm/include -I/root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/include -I/root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/libSPIRV -I/root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/Mangler -static-libstdc++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG    -fno-exceptions -fno-rtti -std=c++14 -MMD -MT projects/SPIRV-LLVM-Translator/lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/VectorComputeUtil.cpp.o -MF projects/SPIRV-LLVM-Translator/lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/VectorComputeUtil.cpp.o.d -o projects/SPIRV-LLVM-Translator/lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/VectorComputeUtil.cpp.o -c /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/VectorComputeUtil.cpp
/root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/VectorComputeUtil.cpp:68:69: error: specialization of 'template<class Ty1, class Ty2, class Identifier> void SPIRV::SPIRVMap<Ty1, Ty2, Identifier>::init()' in different namespace [-fpermissive]
 template <> inline void SPIRVMap<VCRoundMode, VCFloatControl>::init() {
                                                                     ^
In file included from /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/libSPIRV/SPIRVOpCode.h:43:0,
                 from /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/libSPIRV/SPIRVEnum.h:44,
                 from /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/SPIRVInternal.h:43,
                 from /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/VectorComputeUtil.h:43,
                 from /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/VectorComputeUtil.cpp:39:
/root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/libSPIRV/SPIRVUtil.h:84:8: error:   from definition of 'template<class Ty1, class Ty2, class Identifier> void SPIRV::SPIRVMap<Ty1, Ty2, Identifier>::init()' [-fpermissive]
   void init();
        ^
/root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/VectorComputeUtil.cpp:74:69: error: specialization of 'template<class Ty1, class Ty2, class Identifier> void SPIRV::SPIRVMap<Ty1, Ty2, Identifier>::init()' in different namespace [-fpermissive]
 template <> inline void SPIRVMap<VCFloatMode, VCFloatControl>::init() {
                                                                     ^
In file included from /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/libSPIRV/SPIRVOpCode.h:43:0,
                 from /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/libSPIRV/SPIRVEnum.h:44,
                 from /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/SPIRVInternal.h:43,
                 from /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/VectorComputeUtil.h:43,
                 from /root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/VectorComputeUtil.cpp:39:
/root/parts/llvm/src/llvm/projects/SPIRV-LLVM-Translator/lib/SPIRV/libSPIRV/SPIRVUtil.h:84:8: error:   from definition of 'template<class Ty1, class Ty2, class Identifier> void SPIRV::SPIRVMap<Ty1, Ty2, Identifier>::init()' [-fpermissive]
   void init();
        ^
Joseph Rushton Wakeling
@WebDrake
This is from ldc-v10.0.1, being built from this setup in the snap package: https://github.com/WebDrake/ldc2.snap/blob/37b928fe72f9a76c3539dc7b346313de6c9dffc8/snap/snapcraft.yaml#L106-L127
Embedded UVM
@uvm
I am facing some issue while interfacing a C library with LDC2. I have explained it on dlang slack channel. https://dlang.slack.com/archives/C95RULR09/p1596037505071400
Not sure if I should discuss LDC issues on slack or on gitter. Let me know if gitter is preferred over slack.
Marcelo Silva Nascimento Mancini
@MrcSnm
Hello, I know that this is a development discussion, but could someone help me compiling D for android?
Marcelo Silva Nascimento Mancini
@MrcSnm
Please, if someone is willing to help me, even a bit, dm me on Discord: Hipreme#9701
I would really be grateful for any help :(
Crispin Wellington
@retrogradeorbit
Hi everyone! I'm a complete D n00b. I was doing some wasm dev in C. and then in C++. But now I'm looking for a low level language thats a little easier to wield. So Im trying to use ldc to build wasm. I got the basics working fine. But now I'm trying to use arrays in my code and I'm getting a link error:
$ ldc2 -mtriple=wasm32-unknown-unknown-wasm src/d/*.d
lld: error: bresenhamline.o: undefined symbol: _d_newarrayT
lld: error: bresenhamline.o: undefined symbol: _d_arraybounds
lld: error: bresenhamline.o: undefined symbol: _d_arraybounds
lld: error: bresenhamline.o: undefined symbol: _D15TypeInfo_Struct6__vtblZ
lld: error: bresenhamline.o: undefined symbol: _D14TypeInfo_Array6__vtblZ
what do I need to link it to to resolve these symbols? how would I specify this on the compile command line?
Crispin Wellington
@retrogradeorbit
ok, with -betterC I get:
$ ldc2 -mtriple=wasm32-unknown-unknown-wasm -betterC src/d/wasm.d src/d/point.d src/d/bresenhamline.d
src/d/point.d(1): Error: TypeInfo cannot be used with -betterC
Martin Kinkelin
@kinke
These symbols are in druntime. If you want to play with non-betterC wasm, see e.g. https://forum.dlang.org/post/vndiggkebmwqvnhafqtl@forum.dlang.org.
Crispin Wellington
@retrogradeorbit
OK interesting. Will give it a try.
any info on what TypeInfo is and why my program is using it? (I dont mention it anywhere)
I'm doing a Point[] buffer = new Point[size]; in bresenhamline.d. Is that needing runtime type info?
(point is just a struct with x and y params)
Martin Kinkelin
@kinke
TypeInfos are essential for the D GC.
Crispin Wellington
@retrogradeorbit
ahhh. can I mark something to be not managed by the GC? Im going to need to do that anyway as I have to share the wasm heap with the JS runtime.
I am creating structures in wasm that I will be reading and manipulating in JS
so basically I want to create that buffer manually. leave it on the heap when the function returns. and have another function later that calls delete on it
Crispin Wellington
@retrogradeorbit
I annotate the function @nogc but I still get the TypeInfo error
Martin Kinkelin
@kinke
I'm not familiar with the details of skoppe's port, but I assume manually allocating via malloc works in that case (auto buffer = (cast(Point*) malloc(size * Point.sizeof))[0 .. size];). And later freeing via free(buffer.ptr).
Joseph Rushton Wakeling
@WebDrake
Is there a reason why users of the binary package downloads should need to have libxml2 or libicu55 installed? (I'm experimenting with a new snap package that just takes the prebuilt binaries, and snapcraft claims these libs are required.)
Martin Kinkelin
@kinke
libxml2 is a dependency of LLVM (if detected on the system building LLVM), and AFAIK required to generate Windows manifest files, e.g., when cross-compiling to Windows targets.
Andrea Fontana
@trikko

Hi. I'm trying to create a cross compiler for raspberry pi.
I followed the instructions I found on wiki to build runtime and phobos.

It seems to works. It create a binary but it won't run on raspberry.
It says:

./wall2: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.29' not found (required by ./wall2)

It seems that libc on my raspberry is v2.28 rather than 2.29:
libc6 | 2.28-10+rpi1 | http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages

I think this is the problem. How can I solve this?

Andrea Fontana
@trikko
Maybe I should try to do the same thing from a docker with debian buster?
Andrea Fontana
@trikko
It works using a docker. Great!
ben.txt
@bentxt
Hi! I'm interested in d and the ldc compiler and like to try out a relatively simple scenario: create a static library in d which than is linked and then called by a main.c file. I'm at the point where I blindly test all combinations of ldc2 and gcc commands because I don't really understand how to reference the d runtime. Could someone help me a little over here? thanks a lot ...
Johan Engelen
@JohanEngelen
@bentxt When you compile a simple helloworld.d, run ldc -v helloworld.d . At the end, you'll see the commandline that is passed to GCC. On that commandline you will see how to pass druntime and phobos to gcc to link to a static library written in D. Make sure you initialize the druntime. See: https://forum.dlang.org/post/biwotleipkojnngiukbf@forum.dlang.org
ben.txt
@bentxt
@JohanEngelen : thanks a lot, I'm one step further ...
Bob Assembly
@MassMessage
Hey guys, where can I find the documentation/references about variables like heap_base, data_end, etc? I may need to write my own malloc(), so I need to see those
J.V.
@JV81608177_twitter
Hi guys, where can i learn more about the D compiler internals ?
Nicholas Wilson
@thewilsonator
If you want to know more about the frontend I'd recommend joining the dlang slack channel (if you PM me an email address I can add you). This is the place for discussing LDC which serves as an intermediary between the frontend and LLVM.
RUSshy
@RUSshy
Hi, how can i tell LDC to statically link all required dlls? vcruntime things
Martin Kinkelin
@kinke
You probably don't have an installed MSVC toolchain if the MS runtime isn't linked statically by default, see README.txt.
RUSshy
@RUSshy
i do have a vs install (vs2019), that's weird that it doesn't find it, hmm
oh, do i have to build using the native cmd line tool?
RUSshy
@RUSshy
i noticed something interesting:
Linking...
LINK : warning LNK4098: defaultlib 'libcmt' conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib 'libvcruntime' conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
RUSshy
@RUSshy
i'm linking with a GLFW.lib, could that be the issue?
Martin Kinkelin
@kinke
Yes, that's very likely. You can use /Zl with the MS compiler to prevent it from embedding the default lib, or compile with /MT to select the static one. - The switch for LDC is -mscrtlib.
RUSshy
@RUSshy
image.png
i compiled with -mscrtlib=msvcrt flag, but it still complain
image.png
RUSshy
@RUSshy
@kinke shouldn't be the job of LDC to statically link that one? or libs will all have the duplicated symbols
what do i have to put in my dub.json file?