Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/tree-ssa/ssa-dom.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-dom2" } */ typedef __SIZE_TYPE__ size_t; extern void abort (void) __attribute__ ((__noreturn__)); union tree_node; typedef union tree_node *tree; union gimple_statement_d; typedef union gimple_statement_d *gimple; typedef const union gimple_statement_d *const_gimple; enum gimple_code { GIMPLE_RETURN = 10, }; struct gimple_statement_base { enum gimple_code code:8; }; enum gimple_statement_structure_enum { xyz }; union gimple_statement_d { struct gimple_statement_base gsbase; }; extern size_t const gimple_ops_offset_[]; extern enum gimple_statement_structure_enum const gss_for_code_[]; static inline enum gimple_code gimple_code (const_gimple g) { return g->gsbase.code; } static inline enum gimple_statement_structure_enum gss_for_code (enum gimple_code code) { return gss_for_code_[code]; } static inline enum gimple_statement_structure_enum gimple_statement_structure (gimple gs) { return gss_for_code (gimple_code (gs)); } static inline tree * gimple_ops (gimple gs) { size_t off; off = gimple_ops_offset_[gimple_statement_structure (gs)]; return (tree *) ((char *) gs + off); } static inline void gimple_set_op (gimple gs, unsigned i, tree op) { gimple_ops (gs)[i] = op; } void gimple_return_set_retval (gimple gs, tree retval) { const_gimple __gs = (gs); if (gimple_code (__gs) != (GIMPLE_RETURN)) abort (); gimple_set_op (gs, 0, retval); } /* { dg-final { scan-tree-dump-times "gss_for_code_.10." 1 "dom2"} } */