annotate libcore/core/plat.h @ 197:852d0b7817ce

rpg: map, extreme cleanup, closes #2508 @4h
author David Demelier <markand@malikania.fr>
date Mon, 09 Nov 2020 10:37:36 +0100
parents eb0a7ab71023
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
95
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * plat.h -- non-portable platform specific code
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr>
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #ifndef MOLKO_PLAT_H
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #define MOLKO_PLAT_H
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 /**
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 * \file plat.h
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 * \brief Non-portable platform specific code.
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 */
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 /*
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 * This block is used for doxygen documentation, the macros here are never
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 * exposed.
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 */
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 #if defined(DOXYGEN)
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 /**
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 * Printf specifier for function supporting the printf(3) syntax. This is
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 * currently only supported on GCC/Clang
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 */
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 #define PLAT_PRINTF(p1, p2)
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
169
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 164
diff changeset
39 /**
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 164
diff changeset
40 * Annotate a function when the result must never be discarded.
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 164
diff changeset
41 */
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 164
diff changeset
42 #define PLAT_NODISCARD
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 164
diff changeset
43
95
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 #else
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
45
164
87f8ef73a160 doc: some fixes
David Demelier <markand@malikania.fr>
parents: 121
diff changeset
46 #if defined(__GNUC__) || defined(__clang__)
87f8ef73a160 doc: some fixes
David Demelier <markand@malikania.fr>
parents: 121
diff changeset
47 # define PLAT_PRINTF(p1, p2) __attribute__ ((format (printf, p1, p2)))
169
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 164
diff changeset
48 # define PLAT_NODISCARD __attribute__ ((warn_unused_result))
95
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 #else
164
87f8ef73a160 doc: some fixes
David Demelier <markand@malikania.fr>
parents: 121
diff changeset
50 # define PLAT_PRINTF(p1, p2)
95
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 #endif
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
52
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 #endif /* !DOXYGEN */
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
e82eca4f8606 core: simplify error/panic routines
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 #endif /* !MOLKO_PLAT_H */