cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

stdatomic.h (631B)


      1#ifndef __SDCC_STDATOMIC_H
      2#define __SDCC_STDATOMIC_H 1
      3
      4#include <types.h>
      5
      6typedef struct {unsigned char flag;} atomic_flag;
      7
      8#if defined(__SDCC_z80) || defined(__SDCC_z180) || defined(__SDCC_ez80_z80) || defined(__SDCC_sm83) || defined(__SDCC_r2k) || defined(__SDCC_r3ka) || defined(__SDCC_stm8) || defined(__SDCC_hc08) || defined(__SDCC_s08)
      9#define ATOMIC_FLAG_INIT {1}
     10//#elif defined(__SDCC_mcs51)
     11//#define ATOMIC_FLAG_INIT {0}
     12#else
     13#error Support for atomic_flag not implemented
     14#endif
     15
     16_Bool atomic_flag_test_and_set(volatile atomic_flag *object) OLDCALL;
     17
     18void atomic_flag_clear(volatile atomic_flag *object);
     19
     20#endif
     21