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