forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
527 B
21 lines
527 B
/* SPDX-License-Identifier: GPL-2.0 */ |
|
/* |
|
* Copyright (C) 2019 Arm Limited |
|
* Original author: Dave Martin <[email protected]> |
|
*/ |
|
|
|
#ifndef COMPILER_H |
|
#define COMPILER_H |
|
|
|
#define __always_unused __attribute__((__unused__)) |
|
#define __noreturn __attribute__((__noreturn__)) |
|
#define __unreachable() __builtin_unreachable() |
|
|
|
/* curse(e) has value e, but the compiler cannot assume so */ |
|
#define curse(e) ({ \ |
|
__typeof__(e) __curse_e = (e); \ |
|
asm ("" : "+r" (__curse_e)); \ |
|
__curse_e; \ |
|
}) |
|
|
|
#endif /* ! COMPILER_H */
|
|
|