File indexing completed on 2024-10-06 13:30:16
0001 /* 0002 SPDX-FileCopyrightText: 2020 Milian Wolff <mail@milianw.de> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #pragma once 0008 0009 // source: https://www.youtube.com/watch?v=nXaxk27zwlk 0010 inline void escape(void* p) 0011 { 0012 asm volatile("" : : "g"(p) : "memory"); 0013 } 0014 0015 #ifdef __cplusplus 0016 inline void escape(const void* p) 0017 { 0018 escape(const_cast<void*>(p)); 0019 } 0020 #endif 0021 0022 inline void clobber() 0023 { 0024 asm volatile("" : : : "memory"); 0025 }