Skip to content

Commit 71907aa

Browse files
RalphASsimonbyrne
authored andcommitted
Pointer ABI for Windows (#16)
Windows ABI expects the return value to be passed by reference as a first argument. After a bit of experimentation we've settled on using the same Tuple{VecElement} trick as on unix (to ensure 128-bit alignment) and then defining ccall macro that handles the conversion correctly. A few other small fixes: - Use correct limb size for MPFR - Use correct quadoplib name for Win32 I've also had to disable 0.7 support as it doesn't like the splatting syntax we need to use for sprint, but this doesn't seem like a big deal.
1 parent d20c4f8 commit 71907aa

File tree

9 files changed

+227
-117
lines changed

9 files changed

+227
-117
lines changed

.appveyor.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
environment:
22
matrix:
3-
- julia_version: 0.7
4-
- julia_version: 1
3+
- julia_version: 1.0
4+
- julia_version: 1.1
55
- julia_version: nightly
66

77
platform:
@@ -35,3 +35,6 @@ build_script:
3535
test_script:
3636
- echo "%JL_TEST_SCRIPT%"
3737
- C:\julia\bin\julia -e "%JL_TEST_SCRIPT%"
38+
39+
#on_finish:
40+
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ os:
44
- linux
55
- osx
66
julia:
7-
- 0.7
87
- 1.0
8+
- 1.1
99
- nightly
1010
notifications:
1111
email: false

Project.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name = "Quadmath"
2+
uuid = "be4d8f0f-7fa4-5f49-b795-2f01399ab2dd"
3+
4+
[deps]
5+
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
6+
7+
[extras]
8+
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
9+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
10+
11+
[targets]
12+
test = ["Test", "SpecialFunctions"]
13+

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ This is a Julia interface to libquadmath, providing a `Float128` type correspond
77

88
## Support
99

10-
Quadmath currently works on x86_64 Linux and macOS.
10+
Quadmath currently works on x86_64 Linux, macOS, and Windows.
1111

1212
- It may require a new-ish version of gcc which supports `__float128` type.
1313
- It has not been tested on 32 bit Linux.
14-
- I have not had any luck getting it to work on Windows. It's probably something to do with the calling convention: if someone figures it out I would be very grateful.
1514
- It does not work on ARM due to the lack of libquadmath support for that platform.
1615

1716
## Installation

REQUIRE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
julia 0.7
1+
julia 1.0
22
Requires

0 commit comments

Comments
 (0)