Skip to content

Better interoperability between MSVC and mingw-w64, 2 #216

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 220 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
fbc0829
Better interoperability between MSVC and mingw-w64, 2
nijtmans Apr 9, 2019
6b3c2ba
Add handling of MP_ITER error-code to mp_error_to_string()
nijtmans Apr 12, 2019
2b6e9d0
Change, make it a switch-statement
nijtmans Apr 12, 2019
a105bc9
Merge pull request #220 from libtom/missing_error_code
sjaeckel Apr 12, 2019
c4fb224
rename macros in tommath_private to use MP_* prefix
minad Apr 9, 2019
e09a5c9
remove s_mp_mul which is only used once
minad Apr 9, 2019
df8fcb0
add MP_DEPRECATED macro
minad Apr 9, 2019
87292ed
move mp_balance_mul to tommath_private.h
minad Apr 9, 2019
7469e85
add rename script
minad Mar 7, 2019
fbfcb66
apply rename
minad Apr 12, 2019
8bf2eaa
use MP_IS_ZERO in bn_mp_ilogb
minad Apr 12, 2019
a752242
Merge pull request #172 from minad/rename-internals
sjaeckel Apr 12, 2019
e05b1e1
fix includes
sjaeckel Apr 12, 2019
f5a4537
Merge pull request #222 from libtom/fix/includes
sjaeckel Apr 12, 2019
b586fcb
explicit condition
fperrad Apr 10, 2019
01de1fe
literal suffix
fperrad Apr 10, 2019
a13a7e7
missing cast
fperrad Apr 10, 2019
bdf93e8
avoid else if
fperrad Apr 10, 2019
e9e2342
Merge pull request #218 from fperrad/20190410_lint
sjaeckel Apr 18, 2019
8a886c8
resolving #218
czurnieden Apr 10, 2019
6eae00c
Merge pull request #219 from czurnieden/bn_ilogb
sjaeckel Apr 18, 2019
cb34cc2
ignore emacs and vim files
minad Apr 19, 2019
6d092b8
travis: test various compiler options
minad Apr 19, 2019
e8f56cc
enable -Wconversion and -Wsign-conversion on travis
minad Apr 5, 2019
a6b5da2
Merge pull request #225 from minad/travis/compiler-versions
sjaeckel Apr 24, 2019
a8c7613
deprecate macros in tommath.h
minad Apr 12, 2019
e45f75f
deprecate DIGIT_BIT, use MP_DIGIT_BIT
minad Apr 13, 2019
632601f
MP_WARRAY is an internal macro
minad Apr 13, 2019
90eccd5
prefix private macros by PRIVATE_
minad Apr 25, 2019
91d953e
Merge pull request #226 from libtom/deprecate-macros2
sjaeckel Apr 26, 2019
818d8fb
Rework handling of tunable cutoffs
minad May 3, 2019
9e1a75c
Merge pull request #231 from libtom/tune-via-D
sjaeckel May 6, 2019
db76bed
added autotuning functionality for the Toom-Cook cut-offs
czurnieden May 4, 2019
a7fcb6f
update etc/tune_it.sh after merging #231
sjaeckel May 6, 2019
79c8743
Merge pull request #232 from czurnieden/autotune
sjaeckel May 7, 2019
250751b
tommath.h: do not expose stdlib.h
minad May 7, 2019
0337d48
add MP_NULL_TERMINATED
minad Apr 25, 2019
80f5fac
rename LTM_NO_FILE to MP_NO_FILE
minad Apr 26, 2019
e2ee39b
deprecate ltm_prime_callback
minad Apr 26, 2019
44d03a6
deprecate LTM_PRIME_* macros in favor of MP_PRIME_*
minad May 7, 2019
290c28c
deprecate PRIME_SIZE in favor of MP_PRIME_SIZE
minad May 7, 2019
c759698
fix dep.pl - use lookahead to only generated dependencies for 'mp_*('
minad May 7, 2019
2ea04fb
dep.pl: strip comments
minad May 7, 2019
fe9a818
sanitize comments in helper.pl
minad May 7, 2019
e987972
Merge pull request #234 from libtom/more-deprecations
sjaeckel May 7, 2019
6fb233c
gitignore dos2unix, ignore file from make tune
minad May 7, 2019
4f5334e
etc/tune.c: add missing break
minad May 7, 2019
e8ff342
cleanup make output
minad May 7, 2019
e0e8c3d
just use one .gitignore for simplicity
minad May 7, 2019
f4d8b46
Merge pull request #235 from libtom/tune-fixes
sjaeckel May 7, 2019
50fe11b
fix help-output of tune program
sjaeckel May 7, 2019
f0f7518
set std=c89
minad May 7, 2019
9ddf1e5
support custom random data source via mp_rand_source
minad May 7, 2019
2a0021a
mp_rand: remove superflous mp_clamp
minad May 8, 2019
9e28ef9
mp_rand: use #else after arcrandom
minad May 8, 2019
56fb5e4
mp_rand_source(NULL) sets to platform random source
minad May 8, 2019
be11f12
Merge pull request #236 from libtom/custom-rand-source
sjaeckel May 8, 2019
53c30ff
add MP_ERR to mp_error_to_string
minad May 9, 2019
cc3be56
Merge pull request #246 from libtom/error-string
sjaeckel May 9, 2019
eedf162
allow filtering of tests executed
sjaeckel Mar 7, 2019
1a12486
add mp_rand test
sjaeckel May 8, 2019
385d1a8
Merge pull request #248 from libtom/test-mp_rand
sjaeckel May 9, 2019
e05215a
deprecate old macros, deprecate mp_rand_digit
minad May 9, 2019
d4c5fbf
Merge pull request #245 from libtom/deprecations
sjaeckel May 10, 2019
0669e92
deprecate mp_prime_random_ex in favor of mp_prime_rand
minad May 8, 2019
0971e05
Merge pull request #242 from libtom/random-prime
sjaeckel May 11, 2019
483f66c
remove some historical artifacts
minad May 9, 2019
17719ea
Merge pull request #249 from libtom/remove-artifacts
sjaeckel May 11, 2019
556219a
refactor with new private macro MP_SIZEOF_BITS
fperrad May 9, 2019
7d4e836
refactor with new private macro MP_MAXFAST
fperrad May 8, 2019
be7ee4d
Merge pull request #238 from fperrad/20190508_macros
sjaeckel May 11, 2019
cc703a8
add missing parameter name in prototype
fperrad May 11, 2019
493c3c2
use same paramater name as in prototype
fperrad May 8, 2019
67756d7
explicit operator precedence
fperrad May 8, 2019
5e66cfc
remove useless cast
fperrad May 8, 2019
5d8f04a
Merge pull request #241 from fperrad/20190508_lint
sjaeckel May 11, 2019
adf9605
add warn_unused_result, found one missing check!
minad May 9, 2019
55e312b
Merge pull request #244 from libtom/warn-unused-result
sjaeckel May 11, 2019
61d9e52
hardening: add MP_ZERO_BUFFER, MP_ZERO_DIGITS
minad May 11, 2019
235e831
Merge pull request #255 from libtom/hardening
sjaeckel May 12, 2019
7365442
No grow necessary in mp_set_int* functions
minad May 10, 2019
6fc673d
statically check MP_PREC >= MP_MIN_PREC
minad May 12, 2019
1c94819
Merge pull request #253 from libtom/no_grow_in_set_int2
sjaeckel May 12, 2019
dd4863a
use fwrite instead of fputc
minad May 12, 2019
625c246
Merge pull request #257 from libtom/use-fwrite
sjaeckel May 12, 2019
8d71a9e
travis: add -fsanitize=undefined
minad May 10, 2019
c8cc365
mov s_mp_rand_source_platform to separate file
minad May 11, 2019
2a2e271
move jenkins prng to bn_s_mp_rand_jenkins.c
minad May 12, 2019
16ff016
win32 rand - just leak the crypt handle
minad May 12, 2019
f85bd31
fix undefined behavior in labs
minad May 12, 2019
6327a69
Merge pull request #256 from libtom/rand-cleanup
sjaeckel May 13, 2019
783e3cd
format block macros
fperrad May 13, 2019
07aaa4c
explicit condition
fperrad May 13, 2019
fa2d86a
explicit operator precedence
fperrad May 13, 2019
3c5afa9
add missing parameter name in prototype
fperrad May 13, 2019
2d50872
const parameter
fperrad May 13, 2019
04cff08
explicit operator precedence
fperrad May 13, 2019
3811607
literal suffix
fperrad May 13, 2019
4534056
use enums mp_err, mp_ord, mp_bool, mp_sign
minad May 12, 2019
0b73dab
MP_FREE_DIGITS: add missing cast
minad May 13, 2019
89bac3a
deprecate MP_RANGE
minad May 13, 2019
334c32e
fix signature
minad May 13, 2019
668cda0
remove unnecessary duplication of multiplication
minad May 13, 2019
4b334b4
Merge pull request #258 from libtom/more-explicit-types
sjaeckel May 14, 2019
ea3afec
avoid shift
fperrad May 14, 2019
6260241
use anonymous struct
fperrad May 14, 2019
7395cc6
final else after a chain of if/else if
fperrad May 14, 2019
91474f6
remove useless initialization
fperrad May 14, 2019
07b479a
Merge pull request #263 from fperrad/20190514_lint
sjaeckel May 18, 2019
198418b
bugfix: don't revert to platform rand source, but to jenkins source!
minad May 14, 2019
b96d82d
Merge pull request #264 from libtom/rand-test-bugfix
sjaeckel May 18, 2019
885e5e1
move mp_rand_digit to bn_deprecated.c
minad May 13, 2019
75e85a7
move mp_prime_random_ex to bn_deprecated.c
minad May 13, 2019
56e7a40
deprecate mp_jacobi
minad May 13, 2019
a8239c2
deprecate mp_get_bit
minad May 13, 2019
f55f0a9
fix some usages of enum types
minad May 18, 2019
97bc7ca
Merge pull request #260 from libtom/deprecations2
sjaeckel May 18, 2019
d185c1d
refactor without inner scope
fperrad May 19, 2019
c1f5b06
refactor with mp_init_multi
fperrad May 20, 2019
8b2daf7
always use varname err with mp_err
fperrad May 19, 2019
fd68b65
refactor without err initialization
fperrad May 19, 2019
150c47c
refactor literal suffix with u lowercase
fperrad May 19, 2019
be42ce2
remove literal prefix
fperrad May 19, 2019
702ebdf
Merge pull request #274 from fperrad/20190519_refactor
sjaeckel May 21, 2019
cb3ff8c
improve coverage
sjaeckel May 19, 2019
b31a108
Merge pull request #268 from libtom/improve-coverage
sjaeckel May 21, 2019
d46cb16
removed obsolete check
czurnieden May 19, 2019
1cbfbe0
do 2 MR rounds for numbers >=2048bits
sjaeckel May 18, 2019
51cda5b
use correct amount of MR trials in tests
sjaeckel May 19, 2019
e11f70f
Merge pull request #269 from libtom/fix-miller-rabin-trials
sjaeckel May 21, 2019
ce34b3a
Restrict running Valgrind
minad May 21, 2019
01e93bb
fix tune for non-v-algrind travis builds
sjaeckel May 21, 2019
5c7b918
run tuner only once during CI
minad May 21, 2019
30361df
v-algrind and tune builds to the beginning
sjaeckel May 21, 2019
f92d8f0
COMPILE_DEBUG=1 for the valgrind build
minad May 21, 2019
e379c0f
COMPILE_DEBUG should not disable optimizations
minad May 21, 2019
77b4245
ok, one more - disable gcc mtest-vs-test runs, only run clang tests
minad May 21, 2019
c09efff
Run gcc 4.9 build on valgrind instead of sanitized clang build
minad May 21, 2019
f8ecaf0
ok, a last one - reorder stuff ;-)
sjaeckel May 21, 2019
55ce3e3
last last one - mtest with real rand on gcc, with prng on clang
minad May 21, 2019
2555884
really last one - reorder once more
sjaeckel May 21, 2019
75d3c57
Merge pull request #282 from libtom/restrict-v-algrind
sjaeckel May 21, 2019
03ca7bc
added tests for Karatsuba and Toom-Cook 3-way
czurnieden May 20, 2019
e9c4590
Merge pull request #280 from czurnieden/toom_cook_2_3_tests
sjaeckel May 21, 2019
0b840b7
make mp_word private
minad May 17, 2019
96b5552
Merge pull request #267 from libtom/private_mp_word
sjaeckel May 21, 2019
6631d42
remove __cplusplus stuff from tommath_private.h
minad May 19, 2019
dac8275
fix mp_jacobi ifdef
minad May 19, 2019
6d84f15
remove comment in bn_deprecated
minad May 19, 2019
69f03b3
gitignore doc/pics/*.ps
minad May 19, 2019
87edbfe
ensure that bn_reverse is compiled in bn_deprecated.c
minad May 19, 2019
7345a68
Merge pull request #270 from libtom/macro-fixes
sjaeckel May 21, 2019
0dfa9da
make tommath_class.h and tommath_superclass.h private
minad May 19, 2019
22768cf
Merge pull request #271 from libtom/private-headers
sjaeckel May 21, 2019
a069512
fix #137
minad May 20, 2019
2829007
Merge pull request #276 from libtom/fix-137
sjaeckel May 21, 2019
bd8f7e5
introduce MP_PRIVATE to hide symbols (opt-in for now)
minad May 20, 2019
bdd3ee0
Merge pull request #275 from libtom/hidden-symbols
sjaeckel May 21, 2019
6e01c2b
remove callgraph.txt from repository
czurnieden May 21, 2019
fd7cb14
Merge pull request #283 from czurnieden/callgraph_on_demand
sjaeckel May 21, 2019
6552f55
handle EOF condition in mp_fread, fix #163
minad May 20, 2019
aeeea0d
Merge pull request #277 from libtom/fix-fread
sjaeckel May 21, 2019
1af0de1
deprecate mp_tc_(and|or|xor) in favor of mp_(and|or|xor)
minad May 20, 2019
3f2d891
Merge pull request #279 from libtom/deprecate-bitwise2
sjaeckel May 21, 2019
3cf0c18
const pointer
fperrad May 17, 2019
5f84f87
explicit operator precedence
fperrad May 18, 2019
a4f9818
more cast
fperrad May 18, 2019
8d73e15
literal suffix
fperrad May 18, 2019
330b980
literal char
fperrad May 18, 2019
d3cbfd5
remove useless semicolon
fperrad May 19, 2019
c99a88e
Merge pull request #266 from fperrad/20190517_lint
sjaeckel May 21, 2019
228e487
faster Toom-Cook 3 algorithm
czurnieden May 16, 2019
e8ae3e8
Merge pull request #265 from czurnieden/faster_toom_cook_three
sjaeckel May 22, 2019
991aea5
explicit condition
fperrad May 22, 2019
9a8b2ec
explicit operator precedence
fperrad May 22, 2019
7ffc562
literal suffix
fperrad May 21, 2019
7fdd6b5
literal suffix instead of cast
fperrad May 22, 2019
07c1898
Merge pull request #287 from fperrad/20190522_lint
sjaeckel May 22, 2019
18f6e46
add MP_STATIC_ASSERT
minad May 23, 2019
51512f9
Merge pull request #289 from libtom/static-assert
sjaeckel May 23, 2019
3289c95
introduce various mp_set_sint/mp_set_uint functions with precise types
minad May 20, 2019
d795985
improve comment in tommath.h, extend .gitignore
minad May 23, 2019
b58c996
use int32 and uint32 instead of sint and uint
minad May 23, 2019
d7e1cb4
another proposal: use _ul and _l for the long macros
minad May 23, 2019
0a9f5e9
use u32 i64 suffix
minad May 24, 2019
20ae9fb
Merge pull request #285 from libtom/set-int3
sjaeckel May 24, 2019
47af7bf
remove no-deterministic M-R-only tests
czurnieden May 19, 2019
e82c42a
Merge pull request #273 from czurnieden/cleanup_prime_is_prime
sjaeckel May 24, 2019
9f607dd
disallow defining MP_DIGIT_BIT, only allow MP_8/16/31/32/64BIT
minad May 23, 2019
b0938d7
remove obsolete comment
minad May 24, 2019
3000eaa
Merge pull request #291 from libtom/simpler-mp-digit-bit
sjaeckel May 24, 2019
c7a7bd4
MP_PREC is an internal macro, it should be defined in tommath_private.h
minad May 23, 2019
50f0bd7
Merge pull request #290 from libtom/private-mp-prec
sjaeckel May 24, 2019
bcec605
deprecate mp_prime_is_divisible and ltm_prime_tab
minad May 22, 2019
8e1704d
Merge pull request #288 from libtom/deprecate-is-divisible
sjaeckel May 24, 2019
9578d67
fix invalid OBJECTS=... definition in makefile.msvc
karel-m May 25, 2019
4b475ac
fixes for msvc
minad May 26, 2019
6ce1bcb
add appveyor.yml: test both vc2015 and vc2017
minad May 26, 2019
04c8504
Merge pull request #297 from libtom/msvc-fixes
sjaeckel May 26, 2019
497ea47
try to fix yaml
sjaeckel May 27, 2019
d2076fd
move test execution into test stage
sjaeckel May 27, 2019
7bc487f
Merge pull request #298 from libtom/fix-appveyor
sjaeckel May 27, 2019
80bb97f
corrected path for autotune-output
czurnieden May 26, 2019
0e1a0e6
also test mp_shrink()
sjaeckel May 24, 2019
345173a
make it possible to run etc/tune_it.sh from wherever you want
sjaeckel May 24, 2019
53d45ad
Merge pull request #296 from czurnieden/autotune_output_travis
sjaeckel May 27, 2019
d45a80e
remove updatemakes script, it is just an indirection calling helper.pl
minad May 24, 2019
712919f
[WIP] start to make dep.pl part of helper.pl
minad May 24, 2019
26548f0
make helper-dep.pl part of helper.pl
minad May 24, 2019
36b4411
remove indent global var
minad May 24, 2019
4f26de1
fix return value
minad May 24, 2019
25d663d
rename deplist to depmap
minad May 24, 2019
dfcaf41
remove global %depmap
minad May 24, 2019
64be56e
remove global $deplist
minad May 24, 2019
c58c7f6
Merge pull request #293 from libtom/simplify-scripts
sjaeckel May 27, 2019
c7314fa
deprecate mp_n_root_ex and mp_expt_d_ex
minad May 25, 2019
fd26938
Merge pull request #294 from libtom/deprecate-ex-funs
sjaeckel May 27, 2019
49b0ec4
Re-generate tommath.def, by actually building with mingw-w64 and see …
nijtmans May 27, 2019
1834a94
Better interoperability between MSVC and mingw-w64, 2
nijtmans Apr 9, 2019
a41429f
FMerge branch 'interop-mingw-w64-2' of https://github.com/libtom/libt…
nijtmans May 27, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
177 changes: 96 additions & 81 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,81 +1,96 @@
# suppress compiler/linker output
*.[oa]
*.l[oa]
*.obj
*.gcda
*.gcno
*.gcov
*.lib
[Dd]ebug/
[Rr]elease/
/MSVC_*
.libs/
.coveralls.yml
coverage*/
coverage.info
pre_gen/*

# suppress output of build process and *nix/windows test executables
timing
timing.exe
test
test.exe
mtest
mtest.exe

# ignore eclipse project files
.cproject
.project

# special MS Visual Studio section
# ignore non-compressed browse file (holds information for ClassView, IntelliSense and WizardBar)
*.ncb
# ignore user specific settings
*.user
*.suo
*.userosscache
*.sln.docstates
*.userprefs
# cache/options directory
.vs/
# Backup & report files from converting an old project file to a newer Visual Studio version
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# Visual Studio 6 build log + workspace options file
*.plg
*.opt
# visual studio profiler
*.psess
*.vsp
*.vspx
*.sap

# ignore mpi.c generated by make
mpi.c

# ignore stuff generated by "make manual" and "make poster"
*.aux
*.dvi
*.idx
*.lof
*.log
*.out
*.toc
*.ilg
*.ind
*.pdf
*.out
tommath.tex
libtommath.pc

# ignore files generated by testme.sh
gcc_errors_*.txt
test_*.txt

*.bak
*.orig
*.asc
*.tar.xz
*.zip
# suppress compiler/linker output
*.[oa]
*.l[oa]
*.obj
*.gcda
*.gcno
*.gcov
*.lib
*.tmp
[Dd]ebug/
[Rr]elease/
/MSVC_*
.libs/
.coveralls.yml
coverage*/
coverage.info
pre_gen/*

# suppress output of build process and *nix/windows test executables
timing
timing.exe
test
test.exe
mtest
mtest.exe

# ignore eclipse project files
.cproject
.project

# special MS Visual Studio section
# ignore non-compressed browse file (holds information for ClassView, IntelliSense and WizardBar)
*.ncb
# ignore user specific settings
*.user
*.suo
*.userosscache
*.sln.docstates
*.userprefs
# cache/options directory
.vs/
# Backup & report files from converting an old project file to a newer Visual Studio version
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# Visual Studio 6 build log + workspace options file
*.plg
*.opt
# visual studio profiler
*.psess
*.vsp
*.vspx
*.sap

# Linux perf profiler
perf.data
perf.data.old

# ignore mpi.c generated by make
mpi.c

# ignore file generated by make tune
tuning_list
etc/tune

# ignore stuff generated by "make manual" and "make poster"
*.aux
*.dvi
*.idx
*.lof
*.log
*.out
*.toc
*.ilg
*.ind
*.pdf
*.out
tommath.tex
libtommath.pc

# ignore files generated by testme.sh
gcc_errors_*.txt
test_*.txt

.#*
*~
*.bak
*.orig
*.asc
*.tar.xz
*.zip

doc/pics/*.ps

callgraph.txt
112 changes: 78 additions & 34 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ branches:
only:
- master
- develop
- /^release\/.*$/
- /^release/
- /^travis/

# Additional installs are Valgrind for the memory-tests
# and gcc-multilib for the compilation of the different
# architectures.
# Additional installs: Valgrind for memory tests.
install:
- sudo apt-get update -qq
- sudo apt-get install valgrind
- sudo apt-get install gcc-multilib
- apt-cache search gcc | grep '^gcc-[0-9\.]* '
- apt-cache search clang | grep compiler

# The language is C and it will load the respective dependencies
language: c
Expand All @@ -66,60 +66,105 @@ matrix:
apt:
packages:
- astyle
sudo: required

# GCC for the 32-bit architecture (no valgrind yet)
- env: BUILDOPTIONS='--with-cc=gcc --with-m32'
# Run always with valgrind (no sanitizer, but debug info)
- env: COMPILE_DEBUG=1 BUILDOPTIONS='--with-cc=gcc-4.9 --with-m64 --with-valgrind'
addons:
apt:
packages:
- gcc-4.9

# GCC for the 32-bit architecture (no valgrind)
- env: BUILDOPTIONS='--with-cc=gcc-5 --with-m32'
addons:
apt:
packages:
- libc6-dev-i386
sudo: required
- gcc-multilib

# clang for the 32-bit architecture (no valgrind yet)
- env: BUILDOPTIONS='--with-cc=clang --with-m32'
# clang for the 32-bit architecture (no valgrind)
- env: BUILDOPTIONS='--with-cc=clang-7 --with-m32'
addons:
apt:
packages:
- libc6-dev-i386
sudo: required
- gcc-multilib

# Test "autotuning", the automatic evaluation and setting of the Toom-Cook cut-offs.
#- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune'
#- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune'
#- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune'
#- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-travis-valgrind --make-option=tune'
#- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune'
#- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune'
#- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune'
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --with-travis-valgrind --make-option=tune'

# GCC for the x86-64 architecture testing against a different Bigint-implementation
# with 333333 different inputs.
#- env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --with-travis-valgrind'
# ... and a better random source.
- env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind'

# clang for the x86-64 architecture testing against a different Bigint-implementation
# with 333333 different inputs
- env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --with-travis-valgrind'
# ... and a better random source.
#- env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind'

# GCC for the x64_32 architecture (32-bit longs and 32-bit pointers)
# TODO: Probably not possible to run anything in x32 in Travis
# but needs to be checked to be sure.
- env: BUILDOPTIONS='--with-cc=gcc --with-mx32'
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-mx32'
addons:
apt:
packages:
- libc6-dev-x32
sudo: required
- gcc-multilib

# GCC for the x86-64 architecture (64-bit longs and 64-bit pointers)
- env: BUILDOPTIONS='--with-cc=gcc --with-m64 --with-valgrind'
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-m64 --with-travis-valgrind'
- env: BUILDOPTIONS='--with-cc=gcc-4.7 --with-m64 --with-travis-valgrind'
addons:
apt:
packages:
- gcc-4.7
- env: BUILDOPTIONS='--with-cc=gcc-4.8 --with-m64 --with-travis-valgrind'
addons:
apt:
packages:
- gcc-4.8

# clang for x86-64 architecture (64-bit longs and 64-bit pointers)
- env: BUILDOPTIONS='--with-cc=clang --with-m64 --with-valgrind'
- env: SANITIZER=1 CONV_WARNINGS=relaxed BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind'
- env: SANITIZER=1 CONV_WARNINGS=strict BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind'
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-6.0 --with-m64 --with-travis-valgrind'
addons:
apt:
packages:
- clang-6.0
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-5.0 --with-m64 --with-travis-valgrind'
addons:
apt:
packages:
- clang-5.0
- env: BUILDOPTIONS='--with-cc=clang-4.0 --with-m64 --with-travis-valgrind'
addons:
apt:
packages:
- clang-4.0

# GCC for the x86-64 architecture with restricted limb sizes
# formerly started with the option "--with-low-mp" to testme.sh
# but testing all three in one run took to long and timed out.
- env: BUILDOPTIONS='--with-cc=gcc --cflags=-DMP_8BIT --with-valgrind'
- env: BUILDOPTIONS='--with-cc=gcc --cflags=-DMP_16BIT --with-valgrind'
- env: BUILDOPTIONS='--with-cc=gcc --cflags=-DMP_32BIT --with-valgrind'
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT --with-travis-valgrind'
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-travis-valgrind'
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-travis-valgrind'

# clang for the x86-64 architecture with restricted limb sizes
- env: BUILDOPTIONS='--with-cc=clang --cflags=-DMP_8BIT --with-valgrind'
- env: BUILDOPTIONS='--with-cc=clang --cflags=-DMP_16BIT --with-valgrind'
- env: BUILDOPTIONS='--with-cc=clang --cflags=-DMP_32BIT --with-valgrind'

# GCC for the x86-64 architecture testing against a different Bigint-implementation
# with 333333 different inputs.
- env: BUILDOPTIONS='--with-cc=gcc --test-vs-mtest=333333 --with-valgrind'
- env: BUILDOPTIONS='--with-cc=clang --test-vs-mtest=333333 --with-valgrind'

# clang for the x86-64 architecture testing against a different Bigint-implementation
# with a better random source.
- env: BUILDOPTIONS='--with-cc=gcc --test-vs-mtest=333333 --mtest-real-rand --with-valgrind'
- env: BUILDOPTIONS='--with-cc=clang --test-vs-mtest=333333 --mtest-real-rand --with-valgrind'
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT --with-travis-valgrind'
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-travis-valgrind'
- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind'

# Notifications go to
# An email address is also possible.
Expand All @@ -132,5 +177,4 @@ notifications:
# seem to be the max and 20 the default if travis_wait is called without
# any options.
script:
- ./testme.sh ${BUILDOPTIONS}

- ./testme.sh ${BUILDOPTIONS}
12 changes: 12 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 1.0.{build}
image:
- Visual Studio 2017
- Visual Studio 2015
build_script:
- if "Visual Studio 2017"=="%APPVEYOR_BUILD_WORKER_IMAGE%" call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
- if "Visual Studio 2015"=="%APPVEYOR_BUILD_WORKER_IMAGE%" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
- if "Visual Studio 2015"=="%APPVEYOR_BUILD_WORKER_IMAGE%" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
- nmake -f makefile.msvc all

test_script:
- test.exe
3 changes: 3 additions & 0 deletions astylerc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
# usage:
# astyle --options=astylerc *.[ch]

# Do not create backup, annonying in the times of git
suffix=none

## Bracket Style Options
style=kr

Expand Down
Loading