typedef enum {
QU_UNKNOWN = 0,
- QU_CONST, QU_VOLATILE, QU_RESTRICT,
- QU_INLINE, QU_EXTERN, QU_STATIC,
- QU_AUTO, QU_REGISTER,
+ QU_CONST, QU_VOLATILE, QU_INLINE,
+ QU_EXTERN, QU_STATIC, QU_AUTO, QU_REGISTER,
QU_SHORT, QU_LONG, QU_SIGNED, QU_UNSIGNED,
QU_OUT, QU_IN,
QU_ONLY, QU_IMPONLY,
QU_UNDEF, QU_KILLED,
QU_PRINTFLIKE, QU_SCANFLIKE, QU_MESSAGELIKE,
QU_USERANNOT,
+ QU_INNERCONST,
QU_LAST
} quenum;
extern bool qual_isTrueExit (qual) /*@*/ ;
extern bool qual_isFalseExit (qual) /*@*/ ;
extern bool qual_isConst (qual) /*@*/ ;
-extern bool qual_isRestrict (qual) /*@*/ ;
extern bool qual_isVolatile (qual) /*@*/ ;
extern bool qual_isInline (qual) /*@*/ ;
extern bool qual_isExtern (qual) /*@*/ ;
# define qual_isTrueExit(q) ((q)->kind == QU_TRUEEXIT)
# define qual_isFalseExit(q) ((q)->kind == QU_FALSEEXIT)
# define qual_isConst(q) ((q)->kind == QU_CONST)
-# define qual_isRestrict(q) ((q)->kind == QU_RESTRICT)
# define qual_isVolatile(q) ((q)->kind == QU_VOLATILE)
# define qual_isInline(q) ((q)->kind == QU_INLINE)
# define qual_isExtern(q) ((q)->kind == QU_EXTERN)
# define qual_isNullTerminated(q) ((q)->kind == QU_NULLTERMINATED)
+# define qual_isInnerConst(q) ((q)->kind == QU_INNERCONST)
+
extern qual qual_createPlain (quenum) /*@*/ ;
extern qual qual_createMetaState (/*@observer@*/ annotationInfo) /*@*/ ;
extern qual qual_createTrueNull (void) /*@*/ ;
extern qual qual_createFalseExit (void) /*@*/ ;
extern qual qual_createTrueExit (void) /*@*/ ;
extern qual qual_createConst (void) /*@*/ ;
-extern qual qual_createRestrict (void) /*@*/ ;
extern qual qual_createVolatile (void) /*@*/ ;
extern qual qual_createInline (void) /*@*/ ;
extern qual qual_createExtern (void) /*@*/ ;
# define qual_createTrueExit() qual_createPlain (QU_TRUEEXIT)
# define qual_createFalseExit() qual_createPlain (QU_FALSEEXIT)
# define qual_createConst() qual_createPlain (QU_CONST)
-# define qual_createRestrict() qual_createPlain (QU_RESTRICT)
# define qual_createVolatile() qual_createPlain (QU_VOLATILE)
# define qual_createInline() qual_createPlain (QU_INLINE)
# define qual_createExtern() qual_createPlain (QU_EXTERN)
# define qual_isCQual(q) \
(qual_isAuto(q) || qual_isRegister(q) || qual_isInline(q) \
|| qual_isConst(q) || qual_isVolatile(q) || qual_isShort(q) \
- || qual_isLong (q) || qual_isSigned (q) || qual_isUnsigned (q))
+ || qual_isLong (q) || qual_isSigned (q) || qual_isUnsigned (q)\
+ || qual_isInnerConst(q))
# define qual_isAllocQual(q) \
(qual_isOut (q) || qual_isIn (q) || qual_isSpecial (q) \
(qual_isExits (q) || qual_isNeverExit (q) || qual_isMayExit (q) \
|| qual_isTrueExit (q) || qual_isFalseExit (q))
+cstring insertInnerConstQual(/*@only@*/cstring p_fullId);
# else
# error "Multiple include"
# endif