I am trying to understand some code in gcc/omp-low.c that calls the predicate is_variable_sized: omp-low.c:is_variable_sized (const_tree expr) where const_tree is a pointer to a constant tree_node, which is a union of a bunch of structures, but, in this case, it must be (I think) a tree_var_decl structure. It is defined as follows: static inline bool is_variable_sized (const_tree expr) { return !TREE_CONSTANT (TYPE_SIZE_UNIT (TREE_TYPE (expr))); } Unpacking the macros, I get return !expr->common.type->type.size_unit->base.constant_flag; But what exactly does this mean? What kind of C variable counts as "variable sized"? Does that mean an array or struct type? Thanks! Amittai Aviram PhD Student in Computer Science Yale University 646 483 2639 amittai.aviram@xxxxxxxx http://www.amittai.com