www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - dmd now running tests on the Pi

reply Walter Bright <newshound2 digitalmars.com> writes:
https://x.com/WalterBright/status/1817340865565876645

And now,

     #include <assert.h>
     int main(int argc, char** argv) {
         assert(argc == 0);
         return 0;
     }

Compiling on Ubuntu with #dlang dmd's #AArch64 cross compiler, linking and 
running on the #raspberrypi:

     > dmd test.c -c -arm
     > cp test.o ~/raspberrypi/test

switching to the pi window:

     raspberrypi:~/test $ gcc test.o
     raspberrypi:~/test $ ./a.out
     a.out: test.c:3: main: Assertion `test.c' failed.
     Aborted

Victory at last! Now we have a running test suite.
Jul 27
next sibling parent Mike Shah <mshah.475 gmail.com> writes:
On Saturday, 27 July 2024 at 23:32:25 UTC, Walter Bright wrote:
 https://x.com/WalterBright/status/1817340865565876645

 And now,

     #include <assert.h>
     int main(int argc, char** argv) {
         assert(argc == 0);
         return 0;
     }

 Compiling on Ubuntu with #dlang dmd's #AArch64 cross compiler, 
 linking and running on the #raspberrypi:

     > dmd test.c -c -arm
     > cp test.o ~/raspberrypi/test

 switching to the pi window:

     raspberrypi:~/test $ gcc test.o
     raspberrypi:~/test $ ./a.out
     a.out: test.c:3: main: Assertion `test.c' failed.
     Aborted

 Victory at last! Now we have a running test suite.
Excellent news!
Jul 28
prev sibling parent max haughton <maxhaton gmail.com> writes:
On Saturday, 27 July 2024 at 23:32:25 UTC, Walter Bright wrote:
 https://x.com/WalterBright/status/1817340865565876645

 And now,

     #include <assert.h>
     int main(int argc, char** argv) {
         assert(argc == 0);
         return 0;
     }

 Compiling on Ubuntu with #dlang dmd's #AArch64 cross compiler, 
 linking and running on the #raspberrypi:

     > dmd test.c -c -arm
     > cp test.o ~/raspberrypi/test

 switching to the pi window:

     raspberrypi:~/test $ gcc test.o
     raspberrypi:~/test $ ./a.out
     a.out: test.c:3: main: Assertion `test.c' failed.
     Aborted

 Victory at last! Now we have a running test suite.
How much of the existing (backend of the) backend have you been able to reuse? Register allocator agnostic enough to work on both targets?
Jul 29