Print this page
12724 update smatch to 0.6.1-rc1-il-5


 117         CEF_SET_ENUM = (CEF_ENUM | CEF_SET_ICE),
 118 
 119         /* character constant => integer constant expression */
 120         CEF_SET_CHAR = (CEF_CHAR | CEF_SET_ICE),
 121 
 122         /*
 123          * Remove any "Constant" [6.4.4] flag, but retain the "constant
 124          * expression" [6.6] flags.
 125          */
 126         CEF_CONST_MASK = (CEF_INT | CEF_FLOAT | CEF_CHAR),
 127 
 128         /*
 129          * not an integer constant expression => neither of integer,
 130          * enumeration and character constant
 131          */
 132         CEF_CLR_ICE = (CEF_ICE | CEF_INT | CEF_ENUM | CEF_CHAR),
 133 };
 134 
 135 enum {
 136         Handled = 1 << 0,
 137         Fake    = 1 << 1,
 138 }; /* for expr->flags */

 139 
 140 enum {
 141         Taint_comma = 1,
 142 }; /* for expr->taint */
 143 
 144 struct expression {
 145         enum expression_type type:8;
 146         unsigned flags:8;
 147         unsigned smatch_flags:16;
 148         int op;
 149         struct position pos;
 150         struct symbol *ctype;
 151         unsigned long parent;
 152         union {
 153                 // EXPR_VALUE
 154                 struct {
 155                         unsigned long long value;
 156                         unsigned taint;
 157                 };
 158 




 117         CEF_SET_ENUM = (CEF_ENUM | CEF_SET_ICE),
 118 
 119         /* character constant => integer constant expression */
 120         CEF_SET_CHAR = (CEF_CHAR | CEF_SET_ICE),
 121 
 122         /*
 123          * Remove any "Constant" [6.4.4] flag, but retain the "constant
 124          * expression" [6.6] flags.
 125          */
 126         CEF_CONST_MASK = (CEF_INT | CEF_FLOAT | CEF_CHAR),
 127 
 128         /*
 129          * not an integer constant expression => neither of integer,
 130          * enumeration and character constant
 131          */
 132         CEF_CLR_ICE = (CEF_ICE | CEF_INT | CEF_ENUM | CEF_CHAR),
 133 };
 134 
 135 enum {
 136         Handled = 1 << 0,
 137         Tmp     = 1 << 1,
 138         Fake    = 1 << 2,
 139 }; /* for expr->smatch_flags */
 140 
 141 enum {
 142         Taint_comma = 1,
 143 }; /* for expr->taint */
 144 
 145 struct expression {
 146         enum expression_type type:8;
 147         unsigned flags:8;
 148         unsigned smatch_flags:16;
 149         int op;
 150         struct position pos;
 151         struct symbol *ctype;
 152         unsigned long parent;
 153         union {
 154                 // EXPR_VALUE
 155                 struct {
 156                         unsigned long long value;
 157                         unsigned taint;
 158                 };
 159