https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121005

            Bug ID: 121005
           Summary: TREE_LANG_FLAG_* does not have a check for
                    !INTEGER_CST and !VECTOR_CST
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: internal-improvement
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---

tree-code.h has:
  union {
    /* The bits in the following structure should only be used with
       accessor macros that constrain inputs with tree checking.  */
    struct {
      unsigned lang_flag_0 : 1;
...
   }...;
...
    /* The number of HOST_WIDE_INTs in an INTEGER_CST.  */
    struct {
...
    /* This field is only used with VECTOR_CST.  */
    struct {
...
    /* The following two fields are used for MEM_REF and TARGET_MEM_REF
...
    struct {
...
  } GTY((skip(""))) ;
```

But TREE_LANG_FLAG_* only does:
#define TREE_LANG_FLAG_0(NODE) \
  (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)->base.u.bits.lang_flag_0)

Reply via email to