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

            Bug ID: 105567
           Summary: [13 regression] bootstrap failure on arm due to bogus
                    constructor warning
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rearnsha at gcc dot gnu.org
  Target Milestone: ---

On arm constructors implicitly return 'this', but this is leading to a boottrap
failure.

Reduced testcase:

typedef unsigned int size_t;
template<typename, typename, typename> struct vec;
template<typename T, size_t N >
class auto_vec : public vec<T, va_heap>
{
  auto_vec (size_t s )
  {
      {
 return;
      }
  }
};
struct function {
  struct control_flow_graph *cfg;
};
struct edge_iterator {
};
struct control_flow_graph {
  int x_n_basic_blocks;
};
bool
mark_dfs_back_edges (struct function *fun)
{
  auto_vec<edge_iterator, 20> stack (((fun)->cfg->x_n_basic_blocks) + 1);
}

Compile with 'cc1plus -march=armv8-a+simd -mfloat-abi=hard -O2 -g -Wall
-fno-exceptions -quiet '

Reply via email to