export restrict modifier

This commit is contained in:
Nikita Smith
2025-03-04 13:26:24 -08:00
parent 4e775d5b6c
commit 5717d6c54c
3 changed files with 6 additions and 2 deletions
+2
View File
@@ -386,6 +386,7 @@ typedef enum RDI_TypeModifierFlagsEnum
{
RDI_TypeModifierFlag_Const = 1<<0,
RDI_TypeModifierFlag_Volatile = 1<<1,
RDI_TypeModifierFlag_Restrict = 1<<2,
} RDI_TypeModifierFlagsEnum;
typedef RDI_U32 RDI_UDTFlags;
@@ -887,6 +888,7 @@ X(Count)\
#define RDI_TypeModifierFlags_XList \
X(Const)\
X(Volatile)\
X(Restrict)\
#define RDI_TypeNode_XList \
X(RDI_TypeKind, kind)\
+1
View File
@@ -785,6 +785,7 @@ RDI_TypeModifierFlagTable:
{
{Const `1<<0`}
{Volatile `1<<1`}
{Restrict `1<<2`}
}
@table(name type_lhs type_rhs desc)
+3 -2
View File
@@ -3526,8 +3526,9 @@ p2r_convert(Arena *arena, P2R_User2Convert *in)
// rjf: cv -> rdi modifier flags
RDI_TypeModifierFlags modifier_flags = 0;
if(lf->attribs & CV_PointerAttrib_Const) {modifier_flags |= RDI_TypeModifierFlag_Const;}
if(lf->attribs & CV_PointerAttrib_Volatile) {modifier_flags |= RDI_TypeModifierFlag_Volatile;}
if(lf->attribs & CV_PointerAttrib_Const) {modifier_flags |= RDI_TypeModifierFlag_Const;}
if(lf->attribs & CV_PointerAttrib_Volatile) {modifier_flags |= RDI_TypeModifierFlag_Volatile;}
if(lf->attribs & CV_PointerAttrib_Restricted) {modifier_flags |= RDI_TypeModifierFlag_Restrict;}
// rjf: cv info -> rdi pointer type kind
RDI_TypeKind type_kind = RDI_TypeKind_Ptr;