What exactly does is_variable_sized test for?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux