µOS++ IIIe Reference
7.0.0
The third edition of µOS++, a POSIX inspired open source framework, written in C++
Loading...
Searching...
No Matches
cxx.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of the µOS++ project (https://micro-os-plus.github.io/).
3
* Copyright (c) 2015-2025 Liviu Ionescu. All rights reserved.
4
*
5
* Permission to use, copy, modify, and/or distribute this software
6
* for any purpose is hereby granted, under the terms of the MIT license.
7
*
8
* If a copy of the license was not distributed with this file, it can
9
* be obtained from https://opensource.org/licenses/mit.
10
*/
11
12
#if defined(__clang__)
13
#pragma clang diagnostic ignored "-Wempty-translation-unit"
14
#endif
15
16
// ----------------------------------------------------------------------------
17
18
#if defined(__ARM_EABI__)
19
20
// ----------------------------------------------------------------------------
21
22
#include <cstdlib>
23
#include <sys/types.h>
24
#include <
cmsis-plus/diag/trace.h
>
25
26
// ----------------------------------------------------------------------------
27
28
// These functions are redefined locally, to avoid references to some
29
// heavy implementations in the standard C++ library.
30
31
namespace
__gnu_cxx
32
{
33
[[noreturn]]
void
34
__verbose_terminate_handler
();
35
36
void
37
__verbose_terminate_handler
()
38
{
39
trace_puts
(__func__);
40
abort
();
41
/* NOTREACHED */
42
}
43
}
// namespace __gnu_cxx
44
45
// ----------------------------------------------------------------------------
46
47
extern
"C"
48
{
49
[[noreturn]]
void
50
__cxa_pure_virtual
();
51
52
void
53
__cxa_pure_virtual
()
54
{
55
// Attempt to use a virtual function before object has been constructed
56
trace_puts
(__func__);
57
abort
();
58
/* NOTREACHED */
59
}
60
}
61
62
// ----------------------------------------------------------------------------
63
64
void
*
__dso_handle
__attribute__ ((weak));
65
66
// ----------------------------------------------------------------------------
67
68
#endif
/* defined(__ARM_EABI__) */
__dso_handle
void * __dso_handle
Definition
cxx.cpp:64
__cxa_pure_virtual
void __cxa_pure_virtual()
Definition
cxx.cpp:53
abort
void abort(void)
Definition
exit.c:43
__gnu_cxx
Definition
cxx.cpp:32
__gnu_cxx::__verbose_terminate_handler
void __verbose_terminate_handler()
Definition
cxx.cpp:37
trace.h
trace_puts
int trace_puts(const char *s)
src
libcpp
cxx.cpp
Generated by
1.9.7