Commit Graph
100 Commits
Author SHA1 Message Date
Deukhoofd 47ee3a0295 When we were doing STATICC we were linking libdw dynamically, still requiring many dependencies. THis switches to libbfd, which should massively reduce the number of required libraries.
continuous-integration/drone/push Build is passing
2021-03-26 13:37:01 +01:00
Deukhoofd 12f643a80e Style fixes.
continuous-integration/drone/push Build is passing
2021-03-07 10:15:34 +01:00
Deukhoofd c1917c6f77 Adds misc macro NO_COPY_OR_MOVE, which allows you to delete copy and move constructors and assignment operators.
continuous-integration/drone/push Build is passing
2021-03-07 09:54:55 +01:00
Deukhoofd 28ba531a47 Work on reducing file sizes, by adding fewer debug symbols.
continuous-integration/drone/push Build is passing
2020-12-31 13:48:52 +01:00
Deukhoofd b3c9c95345 Add Debug compile flag if we're building in debug mode.
continuous-integration/drone/push Build is passing
2020-12-23 12:04:55 +01:00
Deukhoofd 95266f71ba Lots of cleanups to get stacks properly working in all cases. 2020-12-23 12:04:20 +01:00
Deukhoofd 0e49c58647 Delete comparison with nullptr for non-null pointers.
continuous-integration/drone/push Build is passing
2020-12-13 11:51:47 +01:00
Deukhoofd 90bb8d54b6 Rename Assert.hpp --> Ensure.hpp, style fixes.
continuous-integration/drone/push Build is passing
2020-12-13 11:45:00 +01:00
Deukhoofd 4e854516c1 Rename Assert macro to Ensure, clean up exception to be in line with THROW.
continuous-integration/drone/push Build is passing
2020-12-13 11:41:41 +01:00
Deukhoofd 4466aeeee6 Fixes OptionalBorrowedPtr casts.
continuous-integration/drone/push Build is passing
2020-12-12 13:50:09 +01:00
Deukhoofd 96315cb857 Rework Dictionary::TryGet to use std::optional.
continuous-integration/drone/push Build is passing
2020-12-12 12:53:47 +01:00
Deukhoofd 362e4bf59b Fixes inequality with raw pointer with smart pointers being inverted.
continuous-integration/drone/push Build is passing
2020-12-12 12:10:37 +01:00
Deukhoofd 7ec2a3f2b0 Fixes naming.
continuous-integration/drone/push Build is passing
2020-12-12 11:57:47 +01:00
Deukhoofd b909fc720a Style fixes.
continuous-integration/drone/push Build is passing
2020-12-12 11:56:13 +01:00
Deukhoofd a972162d6e Adds OptionalUniquePtrList
continuous-integration/drone/push Build is passing
2020-12-12 11:53:32 +01:00
Deukhoofd 9f064c1e25 Fixes optional pointers.
continuous-integration/drone/push Build is passing
2020-12-12 11:37:19 +01:00
Deukhoofd f704a6c2f7 Fixes copy constructor in OptionalBorrowedPtr being broken.
continuous-integration/drone/push Build is passing
2020-12-12 11:30:22 +01:00
Deukhoofd 5ef9d5f6fc Fixes assignment of raw pointers to smart pointers being broken.
continuous-integration/drone/push Build is passing
2020-12-11 17:27:58 +01:00
Deukhoofd 1119012158 Removes Result class.
continuous-integration/drone/push Build is passing
2020-12-11 17:16:36 +01:00
Deukhoofd e35129ceed Fixes destructor.
continuous-integration/drone/push Build is passing
2020-12-11 16:48:07 +01:00
Deukhoofd 577f105c61 Result destructor for _errorMessage.
continuous-integration/drone/push Build is passing
2020-12-11 16:42:58 +01:00
Deukhoofd fdfd5f05c0 Adds copy operators on Result.
continuous-integration/drone/push Build is passing
2020-12-11 16:38:38 +01:00
Deukhoofd e3853bf290 Implicitly cast result value to OK result with given value.
continuous-integration/drone/push Build is passing
2020-12-11 16:25:18 +01:00
Deukhoofd 6f932f375f Fixes style.
continuous-integration/drone/push Build is passing
2020-12-11 16:19:36 +01:00
Deukhoofd 880f476034 Fixes specialization error
continuous-integration/drone/push Build is passing
2020-12-11 16:19:18 +01:00
Deukhoofd 3b4ba7c82b Add trivial constructors to pointers.
continuous-integration/drone/push Build is passing
2020-12-11 16:14:12 +01:00
Deukhoofd f7a161c690 Adds new result class to show a functions success or failure.
continuous-integration/drone/push Build is passing
2020-12-11 16:02:18 +01:00
Deukhoofd 0116ed8f4c Fix specialization error.
continuous-integration/drone/push Build is passing
2020-12-11 15:37:46 +01:00
Deukhoofd 26fea2ac20 Reorganise memory model to make it clear Memory.hpp should be referenced.
continuous-integration/drone/push Build is passing
2020-12-11 15:29:27 +01:00
Deukhoofd c4a4aedb04 Even more documentation.
continuous-integration/drone/push Build is passing
2020-12-11 15:25:24 +01:00
Deukhoofd d133b0a6fb Adds documentation and fixes a couple issues.
continuous-integration/drone/push Build is failing
2020-12-11 15:22:21 +01:00
Deukhoofd efdce7b74c Several fixes for new memory model.
continuous-integration/drone/push Build is failing
2020-12-11 15:12:17 +01:00
Deukhoofd 0e6ae18a32 Reworked memory model.
continuous-integration/drone/push Build is failing
2020-12-11 14:58:16 +01:00
Deukhoofd ea97089e23 Fix build.
continuous-integration/drone/push Build is passing
2020-10-23 16:52:22 +02:00
Deukhoofd 09bc55ec94 Allow disabling signal handling, turn signal handling off by default.
continuous-integration/drone/push Build is failing
2020-10-18 17:18:27 +02:00
Deukhoofd c445536aed Fixed issue preventing THROW macro having easy access to sstream.
continuous-integration/drone/push Build is passing
2020-10-15 18:05:51 +02:00
Deukhoofd c3606c25f6 Replaces some overrides with final for minor performance gains.
continuous-integration/drone/push Build is passing
2020-10-15 17:54:06 +02:00
Deukhoofd edaa9f496d Modify THROW macro to use a constexpr function for file name, instead of macro.
continuous-integration/drone/push Build is passing
This prevents potential warnings (such as clang-tidy's "cppcoreguidelines-pro-bounds-pointer-arithmetic") from showing up when using this macro.
2020-10-09 13:48:21 +02:00
Deukhoofd 5fcebd4d4d Implements faster hash mechanic for StringView.
continuous-integration/drone/push Build is passing
2020-10-09 13:23:32 +02:00
Deukhoofd 77e9f3f768 Revert "Make CInterface exported functions be contained in .h files, instead of .cpp."
continuous-integration/drone/push Build is passing
This reverts commit 9abdbecd
2020-10-02 18:44:29 +02:00
Deukhoofd dff8c4d15c Attempt creating a tag file online.
continuous-integration/drone/push Build is passing
2020-09-25 18:11:53 +02:00
Deukhoofd 078f790732 Save docs.
continuous-integration/drone/push Build is passing
2020-09-25 15:13:25 +02:00
Deukhoofd 2479e39320 Sign build file.
continuous-integration/drone/push Build is passing
2020-09-25 15:02:46 +02:00
Deukhoofd e9ae447273 Include the precompiled header file.
continuous-integration/drone/push Build was killed
2020-09-25 12:46:20 +02:00
Deukhoofd 2e8a7f5fbb Documents the C Interface.
continuous-integration/drone/push Build is passing
2020-09-25 12:31:37 +02:00
Deukhoofd 9abdbecd17 Make CInterface exported functions be contained in .h files, instead of .cpp. 2020-09-25 12:00:44 +02:00
Deukhoofd 178a38db07 Fixed colours in test output on build server.
continuous-integration/drone/push Build is passing
2020-09-25 11:54:23 +02:00
Deukhoofd 3e9fd2bea8 Switch from Catch2 to DocTest for unit tests.
continuous-integration/drone/push Build is passing
2020-09-25 11:50:53 +02:00
Deukhoofd 51c7ba1c50 Use a precompiled header for many std includes.
continuous-integration/drone/push Build is passing
2020-09-25 11:06:55 +02:00
Deukhoofd 74d7e23056 Style fixes.
continuous-integration/drone/push Build is passing
2020-09-24 21:02:22 +02:00
Deukhoofd 2e93cd65c5 Remove constevals for now, until mingw32-w64 supports it on the build server.
continuous-integration/drone/push Build is passing
2020-09-24 20:54:11 +02:00
Deukhoofd 9d7b2d62b6 Check whether everything has documentation on build
continuous-integration/drone/push Build is failing
2020-09-24 20:48:00 +02:00
Deukhoofd f20b55b0d5 Lots more documentation.
continuous-integration/drone/push Build is failing
2020-09-24 20:40:21 +02:00
Deukhoofd 31b63d56db Lots of documentation.
continuous-integration/drone/push Build is passing
2020-09-22 19:32:40 +02:00
Deukhoofd 95f1e818e7 Further build fixes.
continuous-integration/drone/push Build is passing
2020-09-21 18:59:26 +02:00
Deukhoofd 79e6bd4aa1 Fixes for build failing.
continuous-integration/drone/push Build is failing
2020-09-21 18:58:30 +02:00
Deukhoofd 3f4b026071 Header cleanup.
continuous-integration/drone/push Build is failing
2020-09-21 14:01:19 +02:00
Deukhoofd 4a476dcf4c Try using Ninja instead of make.
continuous-integration/drone/push Build is failing
2020-09-21 13:19:19 +02:00
Deukhoofd 49ca3d0426 Use LLD as linker when we build with Clang.
continuous-integration/drone/push Build is passing
2020-09-21 12:37:34 +02:00
Deukhoofd 514186a1e6 Remove thinlto, causes more issues than it helps.
continuous-integration/drone/push Build is passing
2020-09-18 19:32:50 +02:00
Deukhoofd 38f36699ac Only use ThinLTO for shared libraries.
continuous-integration/drone/push Build is passing
2020-09-12 16:59:07 +02:00
Deukhoofd 4f8ca03a39 Attempt using RanLib and AR
continuous-integration/drone/push Build is failing
2020-09-12 16:55:27 +02:00
Deukhoofd b6de3a730b Use ThinLTO for Clang.
continuous-integration/drone/push Build is failing
2020-09-12 16:50:36 +02:00
Deukhoofd fedb27790e Fixed checks for less than 0 on List indexing, as it was always false.
continuous-integration/drone/push Build is passing
2020-08-20 13:27:39 +02:00
Deukhoofd 675407d7f5 Fixed Windows issues.
continuous-integration/drone/push Build is passing
2020-08-20 13:21:39 +02:00
Deukhoofd 8fecd2079a Remove Windows signal handling for now, as it's causing issues.
continuous-integration/drone/push Build is failing
2020-08-20 13:19:11 +02:00
Deukhoofd efe902d045 Dont include signal handler in Windows.
continuous-integration/drone/push Build is failing
2020-08-20 13:10:10 +02:00
Deukhoofd 8dac6c632b Link pthread statically.
continuous-integration/drone/push Build is passing
2020-08-20 12:54:37 +02:00
Deukhoofd a91a57aa0a Style fix
continuous-integration/drone/push Build is passing
2020-08-18 19:18:38 +02:00
Deukhoofd 5eb95805f6 Further Windows fixes.
continuous-integration/drone/push Build is passing
2020-08-18 19:15:00 +02:00
Deukhoofd 16b083d927 Tweaks to make Windows happy again hopefully
continuous-integration/drone/push Build is failing
2020-08-18 18:50:03 +02:00
Deukhoofd c1a207f918 Further fixes for Windows.
continuous-integration/drone/push Build is failing
2020-08-18 18:46:50 +02:00
Deukhoofd c2655568d7 Fixes for Windows.
continuous-integration/drone/push Build is failing
2020-08-18 18:44:06 +02:00
Deukhoofd cfcdbfe984 Support for custom signal callbacks.
continuous-integration/drone/push Build is failing
2020-08-18 18:41:18 +02:00
Deukhoofd d59c13a34d Allow disabling pretty traces and remove dependency on libdw.
continuous-integration/drone/push Build is passing
2020-08-17 20:08:23 +02:00
Deukhoofd 37b1e16b34 Style fix.
continuous-integration/drone/push Build is passing
2020-08-17 12:05:15 +02:00
Deukhoofd a665ad3eaf Set up macros for easier exception throwing.
continuous-integration/drone/push Build is passing
2020-08-17 12:02:42 +02:00
Deukhoofd a64c2aaca8 Trim whitespace of snippets in stack traces.
continuous-integration/drone/push Build is passing
2020-08-16 19:45:19 +02:00
Deukhoofd 98ff6b3b69 Improves exception stack traces by including inlined functions, and displaying snippets of code.
continuous-integration/drone/push Build is passing
2020-08-16 19:15:45 +02:00
Deukhoofd 010600c76b Fix unit test
continuous-integration/drone/push Build is passing
2020-08-16 17:35:51 +02:00
Deukhoofd 5c9e58d032 Style fixes.
continuous-integration/drone/push Build is failing
2020-08-16 17:34:58 +02:00
Deukhoofd 73e67b8c5d Fixed define flag.
continuous-integration/drone/push Build is passing
2020-08-16 17:31:11 +02:00
Deukhoofd c58bc6f785 Hide some functions that aren't used by Windows from the Windows build.
continuous-integration/drone/push Build is failing
2020-08-16 17:27:09 +02:00
Deukhoofd 5c0c0878a6 Fixed issue where compile options were added too late.
continuous-integration/drone/push Build is failing
2020-08-16 17:24:37 +02:00
Deukhoofd 34ba9331ed Only add debug symbols on Linux build
continuous-integration/drone/push Build is failing
2020-08-16 17:18:12 +02:00
Deukhoofd 620248f329 Include debug symbols in Release build, rework exception stack trace.
continuous-integration/drone/push Build is failing
2020-08-16 16:59:13 +02:00
Deukhoofd 5a14c712d2 Style fix
continuous-integration/drone/push Build is passing
2020-08-16 10:43:54 +02:00
Deukhoofd 20a7dc55a0 Return a value when stacktrace is empty.
continuous-integration/drone/push Build is passing
2020-08-16 10:41:10 +02:00
Deukhoofd 9726920b7f Fixes for Windows.
continuous-integration/drone/push Build is passing
2020-08-15 16:14:33 +02:00
Deukhoofd 7de12d53b5 Implements noexcept copy constructor for Exception. 2020-08-15 16:14:06 +02:00
Deukhoofd 0a2acc1eea Link stacktrace to library instead of test executable.
continuous-integration/drone/push Build is passing
2020-08-15 14:58:44 +02:00
Deukhoofd 34362a2cd7 Style fixes.
continuous-integration/drone/push Build is passing
2020-08-15 14:54:19 +02:00
Deukhoofd faaa4cdc9b Make C Interface return stack.
continuous-integration/drone/push Build is passing
2020-08-15 14:52:15 +02:00
Deukhoofd f158dbf8a2 Throw all exceptions with Arbutils exception. 2020-08-15 14:50:17 +02:00
Deukhoofd 3e96d2fd76 Dont include test for stack trace on Windows.
continuous-integration/drone/push Build is passing
2020-08-15 14:32:38 +02:00
Deukhoofd 168c45cb3b Further fixes for Exception class on Windows.
continuous-integration/drone/push Build is failing
2020-08-15 14:25:27 +02:00
Deukhoofd c7d18db8b7 Completely not include the stacktrace on Windows.
continuous-integration/drone/push Build is failing
2020-08-15 14:22:32 +02:00
Deukhoofd e778b61839 Don't use stacktrace on Windows.
continuous-integration/drone/push Build is failing
2020-08-15 14:19:36 +02:00
Deukhoofd 002902eed9 Dont include stack trace test in valgrind.
continuous-integration/drone/push Build is failing
2020-08-15 14:05:22 +02:00
Deukhoofd 1dee4cd4a8 Better handling for Exception stack trace testing.
continuous-integration/drone/push Build is failing
2020-08-15 13:59:10 +02:00