Temporary header file '/tmp/ywyJlEfIts/dump1.h' with the following content will be compiled to create GCC translation unit dump: // add defines #define __STDC_VERSION__ 201710L #define _GXX_NULLPTR_T #define CLUTTER_ENABLE_COMPOSITOR_API 1 #define _REGEX_NELTS(n) #define _Atomic #define PACKED #define getaddrinfo_a(a,b,c,d) // add includes #include "/usr/include/stdlib.h" #include "/usr/include/genht/hash.h" #include "/usr/include/genht/ht.h" #include "/usr/include/genht/ht_inlines.h" #include "/usr/include/genht/ht_utils.h" #include "/usr/include/genht/htip.h" #include "/usr/include/genht/htpi.h" #include "/usr/include/genht/htpp.h" #include "/usr/include/genht/htsi.h" #include "/usr/include/genht/htsp.h" #include "/usr/include/genht/htss.h" #include "/usr/include/genht/siphash24.h" #include "/usr/include/genht/version.h" The GCC parameters: gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/ywyJlEfIts/dump1.h" In file included from /tmp/ywyJlEfIts/dump1.h:14: /usr/include/genht/ht.h:16:27: error: expected initializer before ‘HT’ 16 | typedef HT(key_t) HT(const_key_t); | ^~ /usr/include/genht/ht.h:24:17: error: expected ‘;’ at end of member declaration 24 | HT(key_t) key; | ^ | ; /usr/include/genht/ht.h:24:19: error: ‘key’ does not name a type; did you mean ‘key_t’? 24 | HT(key_t) key; | ^~~ | key_t /usr/include/genht/ht.h:25:12: error: ‘value_t’ has not been declared 25 | HT(value_t) value; | ^~~~~~~ /usr/include/genht/ht.h:25:19: error: expected ‘;’ at end of member declaration 25 | HT(value_t) value; | ^ | ; /usr/include/genht/ht.h:25:9: error: ‘int::HT(int)’ cannot be overloaded with ‘int::HT(key_t)’ 25 | HT(value_t) value; | ^~ /usr/include/genht/ht.h:24:9: note: previous declaration ‘int::HT(key_t)’ 24 | HT(key_t) key; | ^~ /usr/include/genht/ht.h:25:21: error: ‘value’ does not name a type 25 | HT(value_t) value; | ^~~~~ /usr/include/genht/ht.h:26:3: error: typedef ‘HT’ is initialized (use ‘decltype’ instead) 26 | } HT(entry_t); | ^~ /usr/include/genht/ht.h:26:6: error: ‘entry_t’ was not declared in this scope 26 | } HT(entry_t); | ^~~~~~~ /usr/include/genht/ht.h:32:12: error: ‘entry_t’ has not been declared 32 | HT(entry_t) *table; | ^~~~~~~ /usr/include/genht/ht.h:32:19: error: expected ‘;’ at end of member declaration 32 | HT(entry_t) *table; | ^ | ; /usr/include/genht/ht.h:34:33: error: ‘HT’ is not a type 34 | unsigned int (*keyhash)(HT(const_key_t)); | ^~ /usr/include/genht/ht.h:35:22: error: ‘HT’ is not a type 35 | int (*keyeq)(HT(const_key_t), HT(const_key_t)); | ^~ /usr/include/genht/ht.h:35:39: error: ‘HT’ is not a type 35 | int (*keyeq)(HT(const_key_t), HT(const_key_t)); | ^~ /usr/include/genht/ht.h:35:42: error: redefinition of ‘int const_key_t’ 35 | int (*keyeq)(HT(const_key_t), HT(const_key_t)); | ~~~^~~~~~~~~~~~ /usr/include/genht/ht.h:35:25: note: ‘int const_key_t’ previously declared here 35 | int (*keyeq)(HT(const_key_t), HT(const_key_t)); | ~~~^~~~~~~~~~~~ /usr/include/genht/ht.h:39:3: error: typedef ‘HT’ is initialized (use ‘decltype’ instead) 39 | } HT(t); | ^~ /usr/include/genht/ht.h:39:6: error: ‘t’ was not declared in this scope 39 | } HT(t); | ^ /usr/include/genht/ht.h:42:3: error: expected constructor, destructor, or type conversion before ‘(’ token 42 | HT(t) *HT(alloc)(unsigned int (*keyhash)(HT(const_key_t)), int (*keyeq)(HT(const_key_t), HT(const_key_t))); | ^ /usr/include/genht/ht.h:44:8: error: ‘init’ was not declared in this scope; did you mean ‘int’? 44 | int HT(init)(HT(t) *ht, unsigned int (*keyhash)(HT(const_key_t)), int (*keyeq)(HT(const_key_t), HT(const_key_t))); | ^~~~ | int /usr/include/genht/ht.h:45:6: error: variable or field ‘HT’ declared void 45 | void HT(free)(HT(t) *ht); | ^~ /usr/include/genht/ht.h:46:6: error: variable or field ‘HT’ declared void 46 | void HT(uninit)(HT(t) *ht); | ^~ /usr/include/genht/ht.h:46:9: error: ‘uninit’ was not declared in this scope; did you mean ‘uint’? 46 | void HT(uninit)(HT(t) *ht); | ^~~~~~ | uint /usr/include/genht/ht.h:47:6: error: variable or field ‘HT’ declared void 47 | void HT(clear)(HT(t) *ht); | ^~ /usr/include/genht/ht.h:47:9: error: ‘clear’ was not declared in this scope 47 | void HT(clear)(HT(t) *ht); | ^~~~~ /usr/include/genht/ht.h:48:3: error: expected constructor, destructor, or type conversion before ‘(’ token 48 | HT(t) *HT(copy)(const HT(t) *ht); | ^ /usr/include/genht/ht.h:50:5: error: redefinition of ‘int HT’ 50 | int HT(resize)(HT(t) *ht, unsigned int hint); | ^~ /usr/include/genht/ht.h:44:5: note: ‘int HT’ previously defined here 44 | int HT(init)(HT(t) *ht, unsigned int (*keyhash)(HT(const_key_t)), int (*keyeq)(HT(const_key_t), HT(const_key_t))); | ^~ /usr/include/genht/ht.h:50:8: error: ‘resize’ was not declared in this scope 50 | int HT(resize)(HT(t) *ht, unsigned int hint); | ^~~~~~ /usr/include/genht/ht.h:53:5: error: redefinition of ‘int HT’ 53 | int HT(has)(HT(t) *ht, HT(const_key_t) key); | ^~ /usr/include/genht/ht.h:44:5: note: ‘int HT’ previously defined here 44 | int HT(init)(HT(t) *ht, unsigned int (*keyhash)(HT(const_key_t)), int (*keyeq)(HT(const_key_t), HT(const_key_t))); | ^~ /usr/include/genht/ht.h:53:8: error: ‘has’ was not declared in this scope 53 | int HT(has)(HT(t) *ht, HT(const_key_t) key); | ^~~ /usr/include/genht/ht.h:55:3: error: expected constructor, destructor, or type conversion before ‘(’ token 55 | HT(value_t) HT(get)(HT(t) *ht, HT(const_key_t) key); | ^ /usr/include/genht/ht.h:57:3: error: expected constructor, destructor, or type conversion before ‘(’ token 57 | HT(entry_t) *HT(getentry)(HT(t) *ht, HT(const_key_t) key); | ^ /usr/include/genht/ht.h:59:6: error: variable or field ‘HT’ declared void 59 | void HT(set)(HT(t) *ht, HT(key_t) key, HT(value_t) value); | ^~ /usr/include/genht/ht.h:59:9: error: ‘set’ was not declared in this scope 59 | void HT(set)(HT(t) *ht, HT(key_t) key, HT(value_t) value); | ^~~ /usr/include/genht/ht.h:62:3: error: expected constructor, destructor, or type conversion before ‘(’ token 62 | HT(entry_t) *HT(insert)(HT(t) *ht, HT(key_t) key, HT(value_t) value); | ^ /usr/include/genht/ht.h:64:3: error: expected constructor, destructor, or type conversion before ‘(’ token 64 | HT(value_t) HT(pop)(HT(t) *ht, HT(const_key_t) key); | ^ /usr/include/genht/ht.h:67:3: error: expected constructor, destructor, or type conversion before ‘(’ token 67 | HT(entry_t) *HT(popentry)(HT(t) *ht, HT(const_key_t) key); | ^ /usr/include/genht/ht.h:69:6: error: variable or field ‘HT’ declared void 69 | void HT(delentry)(HT(t) *ht, HT(entry_t) *entry); | ^~ /usr/include/genht/ht.h:69:9: error: ‘delentry’ was not declared in this scope 69 | void HT(delentry)(HT(t) *ht, HT(entry_t) *entry); | ^~~~~~~~ /usr/include/genht/ht.h:93:14: error: conflicting declaration ‘unsigned int HT’ 93 | unsigned int HT(length)(const HT(t) *ht); | ^~ /usr/include/genht/ht.h:44:5: note: previous declaration as ‘int HT’ 44 | int HT(init)(HT(t) *ht, unsigned int (*keyhash)(HT(const_key_t)), int (*keyeq)(HT(const_key_t), HT(const_key_t))); | ^~ /usr/include/genht/ht.h:93:17: error: ‘length’ was not declared in this scope 93 | unsigned int HT(length)(const HT(t) *ht); | ^~~~~~ /usr/include/genht/ht.h:94:14: error: conflicting declaration ‘unsigned int HT’ 94 | unsigned int HT(fill)(const HT(t) *ht); | ^~ /usr/include/genht/ht.h:44:5: note: previous declaration as ‘int HT’ 44 | int HT(init)(HT(t) *ht, unsigned int (*keyhash)(HT(const_key_t)), int (*keyeq)(HT(const_key_t), HT(const_key_t))); | ^~ /usr/include/genht/ht.h:94:17: error: ‘fill’ was not declared in this scope 94 | unsigned int HT(fill)(const HT(t) *ht); | ^~~~ /usr/include/genht/ht.h:95:14: error: conflicting declaration ‘unsigned int HT’ 95 | unsigned int HT(size)(const HT(t) *ht); | ^~ /usr/include/genht/ht.h:44:5: note: previous declaration as ‘int HT’ 44 | int HT(init)(HT(t) *ht, unsigned int (*keyhash)(HT(const_key_t)), int (*keyeq)(HT(const_key_t), HT(const_key_t))); | ^~ /usr/include/genht/ht.h:95:17: error: ‘size’ was not declared in this scope; did you mean ‘size_t’? 95 | unsigned int HT(size)(const HT(t) *ht); | ^~~~ | size_t /usr/include/genht/ht.h:98:5: error: redefinition of ‘int HT’ 98 | int HT(isused)(const HT(entry_t) *entry); | ^~ /usr/include/genht/ht.h:44:5: note: ‘int HT’ previously defined here 44 | int HT(init)(HT(t) *ht, unsigned int (*keyhash)(HT(const_key_t)), int (*keyeq)(HT(const_key_t), HT(const_key_t))); | ^~ /usr/include/genht/ht.h:98:8: error: ‘isused’ was not declared in this scope 98 | int HT(isused)(const HT(entry_t) *entry); | ^~~~~~ /usr/include/genht/ht.h:99:5: error: redefinition of ‘int HT’ 99 | int HT(isempty)(const HT(entry_t) *entry); | ^~ /usr/include/genht/ht.h:44:5: note: ‘int HT’ previously defined here 44 | int HT(init)(HT(t) *ht, unsigned int (*keyhash)(HT(const_key_t)), int (*keyeq)(HT(const_key_t), HT(const_key_t))); | ^~ /usr/include/genht/ht.h:99:8: error: ‘isempty’ was not declared in this scope 99 | int HT(isempty)(const HT(entry_t) *entry); | ^~~~~~~ /usr/include/genht/ht.h:100:5: error: redefinition of ‘int HT’ 100 | int HT(isdeleted)(const HT(entry_t) *entry); | ^~ /usr/include/genht/ht.h:44:5: note: ‘int HT’ previously defined here 44 | int HT(init)(HT(t) *ht, unsigned int (*keyhash)(HT(const_key_t)), int (*keyeq)(HT(const_key_t), HT(const_key_t))); | ^~ /usr/include/genht/ht.h:100:8: error: ‘isdeleted’ was not declared in this scope 100 | int HT(isdeleted)(const HT(entry_t) *entry); | ^~~~~~~~~ /usr/include/genht/ht.h:103:3: error: expected constructor, destructor, or type conversion before ‘(’ token 103 | HT(entry_t) *HT(first)(const HT(t) *ht); | ^ /usr/include/genht/ht.h:106:3: error: expected constructor, destructor, or type conversion before ‘(’ token 106 | HT(entry_t) *HT(next)(const HT(t) *ht, HT(entry_t) *entry); | ^ In file included from /tmp/ywyJlEfIts/dump1.h:15: /usr/include/genht/ht_inlines.h:2:1: error: ‘GENHT_STATIC’ does not name a type 2 | GENHT_STATIC GENHT_INLINE unsigned int HT(length)(const HT(t) *ht) {return ht->used;} | ^~~~~~~~~~~~ /usr/include/genht/ht_inlines.h:3:1: error: ‘GENHT_STATIC’ does not name a type 3 | GENHT_STATIC GENHT_INLINE unsigned int HT(fill)(const HT(t) *ht) {return ht->fill;} | ^~~~~~~~~~~~ /usr/include/genht/ht_inlines.h:4:1: error: ‘GENHT_STATIC’ does not name a type 4 | GENHT_STATIC GENHT_INLINE unsigned int HT(size)(const HT(t) *ht) {return ht->mask + 1;} | ^~~~~~~~~~~~ /usr/include/genht/ht_inlines.h:7:1: error: ‘GENHT_STATIC’ does not name a type 7 | GENHT_STATIC GENHT_INLINE int HT(isused)(const HT(entry_t) *entry) {return entry->flag > 0;} | ^~~~~~~~~~~~ /usr/include/genht/ht_inlines.h:8:1: error: ‘GENHT_STATIC’ does not name a type 8 | GENHT_STATIC GENHT_INLINE int HT(isempty)(const HT(entry_t) *entry) {return entry->flag == 0;} | ^~~~~~~~~~~~ /usr/include/genht/ht_inlines.h:9:1: error: ‘GENHT_STATIC’ does not name a type 9 | GENHT_STATIC GENHT_INLINE int HT(isdeleted)(const HT(entry_t) *entry) {return entry->flag < 0;} | ^~~~~~~~~~~~ /usr/include/genht/ht_inlines.h:12:1: error: ‘GENHT_STATIC’ does not name a type 12 | GENHT_STATIC GENHT_INLINE HT(entry_t) *HT(first)(const HT(t) *ht) | ^~~~~~~~~~~~ /usr/include/genht/ht_inlines.h:22:1: error: ‘GENHT_STATIC’ does not name a type 22 | GENHT_STATIC GENHT_INLINE HT(entry_t) *HT(next)(const HT(t) *ht, HT(entry_t) *entry) | ^~~~~~~~~~~~