libpulsar
A modular compiler for the pulsar programming language
Loading...
Searching...
No Matches
Macros
def.h File Reference

Base definitions. More...

#include <inttypes.h>
#include <stdbool.h>
#include <stddef.h>
#include <sys/types.h>

Go to the source code of this file.

Macros

#define __join_eval(x, y)   x##y
 
#define __join(x, y)   __join_eval(x, y)
 
#define W_NO_EMPTY_TRANSLATION_UNIT()    __join(struct dummy_struct, __COUNTER__)
 
#define STR   const char*
 
#define i8   int8_t
 
#define u8   uint8_t
 
#define i16   int16_t
 
#define u16   uint16_t
 
#define i32   int32_t
 
#define u32   uint32_t
 
#define i64   int64_t
 
#define u64   uint64_t
 
#define isize   ssize_t
 
#define usize   size_t
 
#define f32   float
 
#define f64   double
 
#define auto_t   __auto_type
 
#define lengthof(array)   (sizeof(array) / sizeof(*(array)))
 
#define _A(attr)   __attribute__((attr))
 
#define _STRING_EVAL(x)   #x
 
#define _STRING(x)   _STRING_EVAL(x)
 
#define BOOLSTR(x)   ((x) ? "true" : "false")
 

Detailed Description

Base definitions.

Author
Ethan Uppal

Definition in file def.h.

Macro Definition Documentation

◆ __join

#define __join (   x,
 
)    __join_eval(x, y)

Definition at line 31 of file def.h.

◆ __join_eval

#define __join_eval (   x,
 
)    x##y

Definition at line 30 of file def.h.

◆ _A

#define _A (   attr)    __attribute__((attr))

Definition at line 56 of file def.h.

◆ _STRING

#define _STRING (   x)    _STRING_EVAL(x)

Definition at line 74 of file def.h.

◆ _STRING_EVAL

#define _STRING_EVAL (   x)    #x

Definition at line 73 of file def.h.

◆ auto_t

#define auto_t   __auto_type

Definition at line 53 of file def.h.

◆ BOOLSTR

#define BOOLSTR (   x)    ((x) ? "true" : "false")

Definition at line 75 of file def.h.

◆ f32

#define f32   float

Definition at line 51 of file def.h.

◆ f64

#define f64   double

Definition at line 52 of file def.h.

◆ i16

#define i16   int16_t

Definition at line 43 of file def.h.

◆ i32

#define i32   int32_t

Definition at line 45 of file def.h.

◆ i64

#define i64   int64_t

Definition at line 47 of file def.h.

◆ i8

#define i8   int8_t

Definition at line 41 of file def.h.

◆ isize

#define isize   ssize_t

Definition at line 49 of file def.h.

◆ lengthof

#define lengthof (   array)    (sizeof(array) / sizeof(*(array)))

Definition at line 55 of file def.h.

◆ STR

#define STR   const char*

Definition at line 40 of file def.h.

◆ u16

#define u16   uint16_t

Definition at line 44 of file def.h.

◆ u32

#define u32   uint32_t

Definition at line 46 of file def.h.

◆ u64

#define u64   uint64_t

Definition at line 48 of file def.h.

◆ u8

#define u8   uint8_t

Definition at line 42 of file def.h.

◆ usize

#define usize   size_t

Definition at line 50 of file def.h.

◆ W_NO_EMPTY_TRANSLATION_UNIT

W_NO_EMPTY_TRANSLATION_UNIT ( )     __join(struct dummy_struct, __COUNTER__)

Definition at line 34 of file def.h.