Jason Volk
09021ac28b
ircd::exception: Move throwing errno+system_category out-of-line.
2022-07-08 11:39:45 -07:00
Jason Volk
3e3483a2d1
Convert static member constexprs to non-reference type.
2022-06-28 17:42:49 -07:00
Jason Volk
4ae50c97d1
ircd: Various symbol internalizing and PLT reductions.
2022-06-17 21:11:54 -07:00
Jason Volk
fd54aa11e6
Fix missing virtual destructor override indications (pedantic).
2022-06-17 21:11:54 -07:00
Jason Volk
e51b855f2b
ircd: Various symbol surface reductions and sorting.
2022-06-17 21:11:53 -07:00
Jason Volk
5f96613c27
ircd: Tweak exception stack linkages for optimal code generation.
2020-08-05 19:52:48 -07:00
Jason Volk
d402eddb98
ircd::run: Place out-of-line default ctor/dtor definitions.
...
ircd::http::error: Place out-of-line dtor definition.
ircd:Ⓜ️ :error: Place out-of-line dtor definition.
ircd::exception: Place out-of-line dtor definition.
ircd:Ⓜ️ :vm: Place out-of-line ctor definitions for copts/opts.
2020-02-28 12:36:45 -08:00
Jason Volk
139059f381
ircd: Split panic/terminate exception related into header.
2020-02-26 14:17:43 -08:00
Jason Volk
b95a7a8a9e
ircd::exception: Add hide_name construction overload to macro.
2019-08-26 11:10:30 -07:00
Jason Volk
009d417273
ircd: Indicate noexcept on advised interfaces.
2019-08-05 16:19:20 -07:00
Jason Volk
2e7f272570
ircd: Add plain string terminate.
2019-06-23 16:16:39 -06:00
Jason Volk
5c8e590219
ircd: Fix default arguments in exception macros for clang.
2019-06-21 03:41:13 -07:00
Jason Volk
5d6cd43518
ircd: Deinline exception::what().
2019-05-27 03:07:59 -07:00
Jason Volk
f289bc5095
ircd: Additional system_error translation utils.
2019-04-03 21:05:39 -07:00
Jason Volk
5364674801
ircd::exception: Experimental elimination of copy and move semantics.
...
ircd::exception: Virtualize base; minor cleanup.
2019-03-16 17:22:44 -07:00
Jason Volk
cff17eaa40
ircd: Add exception tools which elide copying.
2019-03-16 16:28:28 -07:00
Jason Volk
cbf456a388
ircd: Rename and refactor ircd::assertion interface into ircd::panic.
2019-01-13 16:37:31 -08:00
Jason Volk
04f3dc4d17
ircd::fs: Make fs::error inherit from std::system_error.
2018-12-12 17:32:24 -08:00
Jason Volk
97b3003280
ircd: Convert various exception format string arguments to string_view.
2018-12-10 13:14:39 -08:00
Jason Volk
9e97ac0564
ircd: Simplify system_category / posix errno code test.
2018-11-09 00:29:31 -08:00
Jason Volk
4c85f11a02
ircd: Add suite for equating std::system_category() with boost::system.
2018-11-08 23:05:11 -08:00
Jason Volk
cfcbbad0c0
ircd: Additional completeness overloads for make_system_error.
2018-11-08 18:07:22 -08:00
Jason Volk
9299b0df9f
ircd: Make ircd::terminate / ircd::assertion funcjects.
2018-11-04 18:00:24 -08:00
Jason Volk
ca11351692
ircd: Add assertion() overload taking message string.
2018-10-15 22:31:28 -07:00
Jason Volk
bb6ab49fe1
ircd::exception: Update comment.
2018-09-04 21:09:12 -07:00
Jason Volk
ed6dc56d35
ircd: Add make_error_code(std::system_error) for completeness.
2018-08-23 03:23:59 -07:00
Jason Volk
4199d5026c
ircd: Factor out the ircd::BUFSIZE; remove stale ircd::config extern.
2018-08-17 12:51:48 -07:00
Jason Volk
48055cb276
ircd::ctx: Add special termination interruption to yanagiba the stack.
2018-05-06 02:06:08 -07:00
Jason Volk
f10c61e046
ircd: Add integration utils for system and boost error related.
2018-03-08 09:35:59 -08:00
Jason Volk
eafa9fd5b2
ircd: Move boost system error related out of ios.h to exception.h et al.
2018-03-08 08:40:26 -08:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -08:00
Jason Volk
e602b2375d
ircd: Exception macros need complete scope to be used outside ircd::
2018-02-03 14:10:49 -08:00
Jason Volk
917a73d048
ircd: Final hints for devirtualization opportunities.
2018-01-26 21:58:52 -08:00
Jason Volk
4818d7b651
ircd: Fix undefined RB_DEBUG for numerical RB_DEBUG_LEVEL.
2018-01-26 21:49:41 -08:00
Jason Volk
c4ea3cc3e3
ircd: Utils for std::system_error related; minor cleanup.
2018-01-10 21:43:49 -08:00
Jason Volk
9e086e9acd
ircd: Add ircd::assertion and exception suite for assertive errors.
2018-01-08 13:42:54 -08:00
Jason Volk
a046a56d0d
ircd: Wrap the std::terminate() handler and add some related toys.
2017-11-30 11:23:46 -08:00
Jason Volk
d83ea848da
ircd: Fix comment.
2017-10-11 18:18:19 -07:00
Jason Volk
54d6793f59
Update various documentation and comments.
2017-09-24 18:16:33 -07:00
Jason Volk
d9a4f06bf6
ircd: Employ namespace scope extensions from c++1z/gnu++14.
...
This is not a move to c++17. If the compiler happens to have support
for c++17 namespace scope resolution, they have been kind enough to
backport it to gnu++14. This limits our support for really old c++14
compilers, but that was limited anyway. GCC 6.1 and clang 3.6 tested.
2017-09-08 03:47:46 -07:00
Jason Volk
3a31c62681
ircd: Minor cleanup.
2017-03-30 16:04:20 -07:00
Jason Volk
e64ca2827d
ircd: Drop in ircd::fmt for stdarg for ircd::exception.
2017-03-17 17:37:40 -07:00
Jason Volk
c9ddf4f6ab
ircd: Add lex_cast wrapper interface; various cleanup.
2017-03-14 15:03:15 -07:00
Jason Volk
b592b69b86
What is the Matrix? Control.
2017-03-10 17:51:18 -08:00
Jason Volk
2c231ac187
ircd: Add exception message generation bypass constructor.
2016-11-13 16:29:44 -08:00
Jason Volk
9a22cfd393
ircd::chan: Add some basic protocol ERR exceptions.
2016-08-21 15:30:22 -07:00
Jason Volk
61b517ca3c
Precompile and remove most include directives. Notes:
...
* To benefit from the precompiled-header (PCH) it MUST provide "the first C token."
Advantages:
Never worry about the include stack again. Remember, this means one less thing
for random module developers, community people learning C++, and new developers
to deal with. It should reduce the learning curve and barrier for participation.
Disadvantages:
Makes overall compilation a bit slower, especially without any additional
work to improve it again. There are several opportunities, places where the
PCH is probably being ignored, etc that can be addressed.
2016-08-20 19:30:33 -07:00
Jason Volk
029a83a17d
ircd: Update exception macro to ensure format string checks.
2016-08-20 19:30:32 -07:00
Jason Volk
a71a4551ae
ircd: Insert into ircd:: namespace.
2016-08-13 02:43:42 -07:00
William Pitcock
f9a4adc03b
headers: make ircd namespace inline in more places
2016-07-30 20:52:41 -05:00