Commit graph

25729 commits

Author SHA1 Message Date
Martin Kinkelin
581f575145 Add Cirrus CI with Linux, Mac and FreeBSD
Based on infrastructure in ci.sh (also used by Semaphore CI), but
breaking up the testsuite into separate steps; I find that much better.
Also testing all 3 host compilers - DMD, LDC and GDC.

Unlike Semaphore, it doesn't rebuild itself and skips the dub package
test (not sure what that is).

A 32-bit FreeBSD job might be a worthwhile addition for the future.
2020-09-03 04:03:55 +02:00
Sebastian Wilzbach
8f9ad0520e
Merge pull request #11669 from MoonlightSentinel/silent-headers
Make "ignored..." comments in the C++ header generation optional
2020-09-02 20:45:11 +02:00
MoonlightSentinel
93e176e63a
Make "ignored..." comments in the C++ header generation optional
Let the user opt-in if he wants to track whether certain functions
are not exposed to the C++ interface.
2020-09-02 19:40:54 +02:00
The Dlang Bot
2813449f25
Merge pull request #11666 from MoonlightSentinel/fix-header-test
Update frontend.h to current master
merged-on-behalf-of: Sebastian Wilzbach <sebi.wilzbach@gmail.com>
2020-09-02 12:52:24 +02:00
MoonlightSentinel
3cbf4c2744
Run header test for linux on the auto-tester 2020-09-02 12:11:22 +02:00
MoonlightSentinel
dba56a72cd
Update frontend.h to current master & make some methods extern(D)
The extern(C++) interface changed after the PR passed the CI
2020-09-02 12:11:22 +02:00
Nicholas Wilson
1ecb6eb843
Merge pull request #11665 from WalterBright/genmovreg
do not use opsize prefix for register moves
2020-09-02 11:33:06 +08:00
Sebastian Wilzbach
11c84b921b Disable samples test on Windows 2020-09-02 03:05:02 +02:00
Sebastian Wilzbach
2edccc2f42 Disable Windows tests on auto-tester 2020-09-02 03:05:02 +02:00
Walter Bright
547ce514f3 do not use opsize prefix for register moves 2020-09-01 15:34:56 -07:00
Sebastian Wilzbach
5b7b53b575
Merge pull request #11653 from wilzbach/disable-windows-auto-tester
Disable Windows builds on the auto-tester - replace with Azure pipelines
2020-09-02 00:25:02 +02:00
Sebastian Wilzbach
99a8a1ccd4 Issue transition warnings for {posix,win32,win64}.mak files 2020-09-02 00:03:39 +02:00
The Dlang Bot
2986a97521
Merge pull request #11575 from wilzbach/cxx-headers
Generate frontend.h header file and fail on changes
merged-on-behalf-of: unknown
2020-09-01 18:19:21 +02:00
nordlow
b25fcdf2b8 Qualify diagnostic functions as pragma(printf) 2020-09-01 17:21:14 +02:00
Martin Kinkelin
9b067461f5 dmd.argtypes: Remove dead code for 64-bit ABI and rename to dmd.argtypes_x86
As proposed in #8837 and now feasible as #10200 has finally been merged.
2020-09-01 11:49:25 +02:00
MoonlightSentinel
3ef6c37f6c Fix 20934 - preview=dtorfields segfaults for disabled/extern constructors
Don't try to insert a destructor body if there's no body because
the following semantic would segfault due to the missing try-block
2020-09-01 04:39:49 +02:00
nordlow
4cec81840c Correct name of param baseType in TypeVector.this(Type) to elide self-assignment 2020-09-01 01:51:40 +02:00
Nils Lankila
801e841e7d fix issue 19590 - __traits allMembers should put fully qualified names for imports
a next step to make `allMembers` + import the more correct possible.

- put imports FQN
- exclude import if it is selective
- displace fix for 17057 in the added code, virtual `sds.isModule()` call was executed in a loop that didn't mutate `sds` BTW
2020-08-31 23:46:20 +02:00
Walter Bright
56b774d972
Merge pull request #10200 from SSoulaimane/sysv64abi_1
Posix x64 ABI fixes 2
2020-08-31 13:21:14 -07:00
Walter Bright
7b4f09f662 Update isPOSIX() usage 2020-08-31 14:24:18 +02:00
سليمان السهمي (Suleyman Sahmi)
8a75689be0 Fix issues 5570, 13957 - Testsuite: enable asserts on tests 2020-08-31 14:24:18 +02:00
سليمان السهمي (Soolaïman Sahmi)
e398b9c32c Testsuite: Quit if there is nothing to check. Avoids some errors. 2020-08-31 14:24:18 +02:00
سليمان السهمي (Soolaïman Sahmi)
f0804941e9 Testsuite: Zero out padding 2020-08-31 14:24:18 +02:00
سليمان السهمي (Soolaïman Sahmi)
9b6fdd619f Testsuite: Mixed cases incorrectly classified as Integer cases 2020-08-31 14:24:18 +02:00
سليمان السهمي (Soolaïman Sahmi)
747e830b0a Testsuite: Get it to compile
DMD doesn't allow asm code to access global variable anymore
2020-08-31 14:24:17 +02:00
سليمان السهمي (Suleyman Sahmi)
51a30f53d2 small patch for OSX 2020-08-31 14:24:17 +02:00
سليمان السهمي (Suleyman Sahmi)
ae8d3b866d Keep using old code for Windows 64
Other parts (mainly isReturnOnStack) don't yet match the windows 64 ABI.
2020-08-31 14:24:17 +02:00
سليمان السهمي (Suleyman Sahmi)
8fda4439ae Keep original type unchanged in setArray()
This was causing an ice in the backend
2020-08-31 14:24:14 +02:00
سليمان السهمي (Soolaïman Sahmi)
274c1dff91 x87 cases not forwarded correctly
compilation of runnable/complex.d:test7581() fails at dmd/backend/cgcod.d:694:assert(stackused == 0);
Values returned in ST0 were not being popped off the fpu stack
when only the flags were needed (ex: comparison to zero like the case in `test7581()`).
2020-08-31 14:21:28 +02:00
سليمان السهمي (Suleyman Sahmi)
5c9cc1334f Return in registers structs of size 3, 5, 7... 2020-08-31 14:21:28 +02:00
سليمان السهمي (Soolaïman Sahmi)
248327bc16 Pack & unpack complex float32 in a single 64 bits register
The codgen API expects the real an imaginary parts of complex numbers in separate registers but the ABI for both Windows and System V packs complex float32 in a single 64 bits register.
2020-08-31 14:21:28 +02:00
سليمان السهمي (Soolaïman Sahmi)
405baa1c3a Do SROA for static arrays 2020-08-31 14:21:28 +02:00
سليمان السهمي (Soolaïman Sahmi)
99f3798098 Use the proper registers for function returns
Make a new function to allocate the proper registers in both sides of a function call, the caller and the callee.
2020-08-31 14:21:28 +02:00
سليمان السهمي (Suleyman Sahmi)
31c9754c33 Mark SROA with mixed registers with a flag
make two new type flags for SROA `mTYxmmgpr` and `mTYgprxmm`
2020-08-31 14:21:24 +02:00
سليمان السهمي (Soolaïman Sahmi)
d7081a3666 Use SysV 64 argtypes and remove obsolete argtypes tests 2020-08-31 14:17:14 +02:00
MoonlightSentinel
ace2aee91c d_do_test: Add missing DDOC comments
Because every declaration should have a short description of its purpose
(and parameters).
2020-08-31 12:22:20 +02:00
Sebastian Wilzbach
750ef44aab Print overview of failed targets 2020-08-31 11:33:40 +02:00
Sebastian Wilzbach
8f4bee9fe6 Use default argument set for bootstrap builds 2020-08-30 22:46:22 +02:00
Sebastian Wilzbach
7f05a442aa Disable unit_tests on older bootstrap builds 2020-08-30 20:17:22 +02:00
Sebastian Wilzbach
05f724cb4a Disable Windows builds on the auto-tester - replace with Azure pipelines 2020-08-30 20:17:22 +02:00
Sebastian Wilzbach
26d0502634 Run cxx-header test on CircleCi 2020-08-30 19:29:05 +02:00
Sebastian Wilzbach
fb84503a03 Add initial frontend.h cxx header file 2020-08-30 19:03:37 +02:00
Sebastian Wilzbach
3fa8bc079d Add cxx-headers + cxx-headers-test targets 2020-08-30 18:59:20 +02:00
Sebastian Wilzbach
39af480e23 Use string replace in d_do_test (for 2.079.0) 2020-08-30 18:40:54 +02:00
Sebastian Wilzbach
37a57534c6 Suppress header emission of mixin_string 2020-08-30 18:17:12 +02:00
Sebastian Wilzbach
98d380f627 Allow BuildExceptions with more details 2020-08-30 17:44:57 +02:00
Sebastian Wilzbach
4d04802dcb
Merge pull request #11646 from schveiguy/addmemerrhandler
Add memory error handler when requested via the
2020-08-30 16:56:07 +02:00
Sebastian Wilzbach
6cd107f79f
Merge pull request #11642 from wilzbach/fix-dtoh
Fix Issue 21208 - C/C++ header generation for {string,enum} enums
2020-08-30 16:54:17 +02:00
Sebastian Wilzbach
29d72dd5d8
Merge pull request #11648 from WalterBright/movbyte
avoid using byte constant loads
2020-08-30 16:53:56 +02:00
Nicholas Wilson
5d9c9a857e
Merge pull request #11649 from WalterBright/MOVSX
add MOVSXb, MOVSXw, MOVZXb, MOVZXw
2020-08-30 20:42:57 +08:00