9d77c01dd3
configure: add debugging options after compilation tests
...
some debugging options interfere with linker/compilation tests due to
the extra libraries that, for example, asan or ubsan draw into the
build. perform these checks fairly late to avoid these errors.
2016-05-12 17:51:10 +10:00
1ec238638c
Makefile: ensure ASAN isn't triggered on deliberate SEGV
...
some of the memory buffer code triggers a SEGV deliberately in the
testing framework. setting allow_user_segv_handler=true stops it from
crashing our test early.
2016-05-12 17:49:11 +10:00
539188ffde
backtrace_execinfo: correct newlines for ostream
...
if addr2line wasn't found newlines weren't consistent
2016-05-12 17:47:47 +10:00
12f154d0cb
stream: work towards streambuf and stream impl
2016-05-12 17:47:22 +10:00
67402eee42
c/xxtea: style
2016-05-12 17:46:13 +10:00
640b4aa6ca
build: fix switch/enum coverage warnings
...
uncovered using clang's -Wswitch-enum
2016-05-12 17:45:29 +10:00
420e4215ef
backtrace: test doesn't actually require output
2016-05-12 17:44:44 +10:00
7d96d8dd2f
m/b/paged: use correct fd for MAP_ANONYMOUS
...
linux ignores the fd if you pass MAP_ANONYMOUS, but freebsd will return
with an error
2016-05-12 17:42:21 +10:00
8142944139
json: store numbers natively as uint/sint/real
...
allows more accurate representations and better error checking.
2016-05-12 17:41:31 +10:00
1f432c13b7
build: avoid type truncation warnings
...
discovered with clang's -Wshorten-64-to-32
2016-05-12 17:39:33 +10:00
e71bd9f621
maths: move is_integer into headers to avoid param explosion
2016-05-12 17:34:47 +10:00
60286202fd
maths: make stirling inline rather than constexpr
...
stirling uses cmath functions which aren't constexpr, such as std::pow.
this sometimes works under linux/gcc but fails under clang/freebsd
2016-05-12 17:32:41 +10:00
e17158b0bb
build: add forgotten cxx headers
...
discovered testing clang 3.8 under freebsd
2016-05-12 17:31:33 +10:00
452c5511a4
tap: make test function parameter const
2016-05-12 17:28:33 +10:00
d4b951b4db
m4: bump autocruft
2016-05-12 17:27:45 +10:00
1a17f27b37
m4: add missing AX_ macros
2016-05-09 14:06:03 +10:00
50f61eb682
m4/nc_cxx: use newer AC_MSG_ERROR
2016-05-09 14:04:58 +10:00
27800de3a0
format: avoid cast warnings for exception constructor
2016-04-28 16:09:14 +10:00
efa52c60e9
build: remove unnecessary pedantic checks
2016-04-28 16:09:14 +10:00
3e46f18e5a
coord/base: style
2016-04-28 16:06:48 +10:00
6b6c50611c
m4/nc_cxx: remove tests for require c++11 features
...
If your compiler doesn't support these we're not going to fake it. Fix
your damn compiler.
2016-04-28 16:06:00 +10:00
be79ade619
m4: remove -pedantic from build flags
...
It's more trouble than it's worth given we rely on extensions like
unions of anonymous structs.
2016-04-28 16:05:17 +10:00
67a5184a9d
build: add missing includes
...
detected under libstdc++ from gcc-6.0
2016-04-28 15:02:16 +10:00
20b809334e
build: add forgotten build scripts for dist
2016-04-27 17:24:00 +10:00
71976520b3
build: add forgotten inline header time.ipp
2016-04-27 17:23:45 +10:00
e70f582784
build: fix the test runner for win32 targets
2016-04-27 17:16:13 +10:00
b814c83e21
test/json: run tests through a line wine/crlf wrapper
...
unit tests rely on AWKs record seperator being LF which presents issues
when running windows tests. rather than modify the tap-driver provided
by autotools (which would be extremely annoying to maintain) we run all
tests through wine-crlf.sh which will perform line ending transforms as
required.
it's a pretty braindead script, so don't do anything terrifically
extreme under it.
2016-04-27 17:13:36 +10:00
456362adff
t/json-validate: catch only json exceptions
...
the json namespace should really only be throwing json errors. this tool
is primarily used for unit testing, so it's better it crashes
catastrophically on an unhandled exception.
2016-04-27 17:10:36 +10:00
2fbf9af8cb
t/json-schema: reduce scope of schema and input
2016-04-27 17:09:48 +10:00
c810056a70
m4/debugging: add stabs debug symbols
...
win32 seems to have some level of stabs capabilities
2016-04-27 17:07:55 +10:00
5b58e0afa6
json/flat: don't try to parse empty files
...
avoids debug assertions fetching data pointer on empty mappings
2016-04-27 17:07:20 +10:00
25913ac885
io: bump copyright year
2016-04-27 17:06:25 +10:00
de6ea736a1
io_posix: add mapped_file::empty implementation
2016-04-27 17:06:09 +10:00
d0e0ee3981
io_win32: add mapped_file::empty implementation
2016-04-27 17:05:46 +10:00
57058ab20f
io_win32: make mapping checks more robust
...
fixes zero length mapping errors
2016-04-27 17:04:56 +10:00
ddfb765110
io: ignore failed zero length posixed mapped_files
2016-04-27 17:02:47 +10:00
cc001c4788
win32/handle: merge various handle wrapper classes
2016-04-27 17:01:45 +10:00
eb1b042e06
j/except: remove useless inherited constructor
2016-04-27 16:12:45 +10:00
df9d0ce432
format: add invalid_specifier exception
2016-04-27 16:12:24 +10:00
61ba8e5186
format: add char specialisation to is_type_specifier
2016-04-27 16:08:28 +10:00
abce134089
except: add missing methods to win32_error
2016-04-27 16:07:42 +10:00
a941f4d74e
except: add code and last_code accessors to errno_error
2016-04-27 16:06:58 +10:00
354573f369
except: rename errno_error::id to m_code
2016-04-27 16:06:32 +10:00
b1eb9982d1
introspection: add more types to type_string
2016-04-27 16:05:16 +10:00
6e656444c6
backtrace_stackwalk: add StackWalk64 backtrace
...
Wine does not implement CaptureStackBackTrace, so we have to use
StackWalk64 where possible.
2016-04-27 16:00:26 +10:00
2434424488
maths: explicitly inline small methods
...
Avoids multiply defined symbols when using more aggressive inlining
2016-04-27 15:57:05 +10:00
a803a13e80
backtrace_win32: avoid using win32 wrappers
...
We have to be extraodinarily careful about what functions are called at
this low level so it's easier to just avoid any protective wrappers.
2016-04-27 15:53:53 +10:00
1356391259
cmdopt: move bool parsing into inline headers
...
This avoids multiple definition issues with more aggressive inliners, eg
mingw
2016-04-27 15:52:52 +10:00
0ec92951fc
vector: remove redundant almost_equal definition
2016-04-22 16:16:26 +10:00
d034b114c7
backtrace_win32: output to correct stream
2016-04-21 13:52:49 +10:00