another iteration of the struct layout code
[cparser] / walk_statements.c
index 52e6046..4e1d511 100644 (file)
@@ -49,21 +49,6 @@ static void walk_expression(expression_t const *const expr,
                walk_expression(expr->conditional.false_expression, callback, env);
                return;
 
-       case EXPR_BUILTIN_ADDRESS:
-               walk_expression(expr->builtin_address.value, callback, env);
-               return;
-
-       case EXPR_BUILTIN_PREFETCH: {
-               builtin_prefetch_expression_t const *const pf = &expr->builtin_prefetch;
-               walk_expression(pf->adr, callback, env);
-               if (pf->rw != NULL) {
-                       walk_expression(pf->rw, callback, env);
-                       if (pf->locality != NULL)
-                               walk_expression(pf->locality, callback, env);
-               }
-               return;
-       }
-
        case EXPR_BUILTIN_CONSTANT_P:
                walk_expression(expr->builtin_constant.value, callback, env);
                return;
@@ -90,6 +75,19 @@ static void walk_expression(expression_t const *const expr,
                return;
        }
 
+       case EXPR_VA_START:
+               walk_expression(expr->va_starte.ap, callback, env);
+               return;
+
+       case EXPR_VA_ARG:
+               walk_expression(expr->va_arge.ap, callback, env);
+               return;
+
+       case EXPR_VA_COPY:
+               walk_expression(expr->va_copye.src, callback, env);
+               walk_expression(expr->va_copye.dst, callback, env);
+               return;
+
        case EXPR_INVALID:
        case EXPR_OFFSETOF:
        case EXPR_REFERENCE:
@@ -100,10 +98,8 @@ static void walk_expression(expression_t const *const expr,
        case EXPR_STRING_LITERAL:
        case EXPR_WIDE_STRING_LITERAL:
        case EXPR_FUNCNAME:
-       case EXPR_BUILTIN_SYMBOL:
-       case EXPR_VA_START:
-       case EXPR_VA_ARG:
        case EXPR_LABEL_ADDRESS:
+       case EXPR_BUILTIN_TYPES_COMPATIBLE_P:
                break;
        }