projects
/
cparser
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
s/#elseif/#elif/.
[cparser]
/
type_t.h
diff --git
a/type_t.h
b/type_t.h
index
eb072e6
..
b61ab77
100644
(file)
--- a/
type_t.h
+++ b/
type_t.h
@@
-19,7
+19,7
@@
typedef enum {
TYPE_COMPOUND_STRUCT,
TYPE_COMPOUND_UNION,
TYPE_ENUM,
TYPE_COMPOUND_STRUCT,
TYPE_COMPOUND_UNION,
TYPE_ENUM,
- TYPE_
METHOD
,
+ TYPE_
FUNCTION
,
TYPE_POINTER,
TYPE_ARRAY,
TYPE_BUILTIN,
TYPE_POINTER,
TYPE_ARRAY,
TYPE_BUILTIN,
@@
-27,8
+27,10
@@
typedef enum {
TYPE_TYPEOF
} type_type_t;
TYPE_TYPEOF
} type_type_t;
+/* note that the constant values represent the rank of the types as defined
+ * in ยง 6.3.1 */
typedef enum {
typedef enum {
- ATOMIC_TYPE_INVALID,
+ ATOMIC_TYPE_INVALID
= 0
,
ATOMIC_TYPE_VOID,
ATOMIC_TYPE_CHAR,
ATOMIC_TYPE_SCHAR,
ATOMIC_TYPE_VOID,
ATOMIC_TYPE_CHAR,
ATOMIC_TYPE_SCHAR,
@@
-58,10
+60,10
@@
typedef enum {
} atomic_type_type_t;
typedef enum {
} atomic_type_type_t;
typedef enum {
+ TYPE_QUALIFIER_NONE = 0,
TYPE_QUALIFIER_CONST = 1 << 0,
TYPE_QUALIFIER_RESTRICT = 1 << 1,
TYPE_QUALIFIER_VOLATILE = 1 << 2,
TYPE_QUALIFIER_CONST = 1 << 0,
TYPE_QUALIFIER_RESTRICT = 1 << 1,
TYPE_QUALIFIER_VOLATILE = 1 << 2,
- TYPE_QUALIFIER_INLINE = 1 << 3,
} type_qualifier_t;
struct type_t {
} type_qualifier_t;
struct type_t {
@@
-95,17
+97,17
@@
struct array_type_t {
expression_t *size;
};
expression_t *size;
};
-struct
method
_parameter_t {
- type_t *type;
-
method
_parameter_t *next;
+struct
function
_parameter_t {
+ type_t
*type;
+
function
_parameter_t *next;
};
};
-struct
method
_type_t {
- type_t type;
- type_t *result_type;
-
method
_parameter_t *parameters;
- bool variadic;
- bool unspecified_parameters;
+struct
function
_type_t {
+ type_t
type;
+ type_t
*result_type;
+
function
_parameter_t *parameters;
+ bool
variadic;
+ bool
unspecified_parameters;
};
struct compound_type_t {
};
struct compound_type_t {