Commit Graph

1751 Commits

Author SHA1 Message Date
5e597eef25 io: remove uneeded stream_error destructor 2016-05-12 17:53:37 +10:00
06be0a128f configure: test for dlsym and shm before their dependants 2016-05-12 17:52:37 +10:00
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