On August 25, 2018 1:05:46 AM GMT+02:00, Jeff Law <l...@redhat.com> wrote: >On 08/24/2018 05:04 PM, Steve Ellcey wrote: >> Richard, >> >> I am having a problem building GCC after this patch: >> >> commit 2515797e5db67076d6cf7f3f185757c841f79edf >> Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> >> Date: Fri Aug 24 11:17:16 2018 +0000 >> >> 2018-08-24 Richard Biener <rguent...@suse.de> >> >> * cfg.h (struct control_flow_graph): Add edge_flags_allocated >and >> bb_flags_allocated members. >> (auto_flag): New RAII class for allocating flags. >> (auto_edge_flag): New RAII class for allocating edge flags. >> (auto_bb_flag): New RAII class for allocating bb flags. >> * cfgloop.c (verify_loop_structure): Allocate temporary edge >> flag dynamically. >> * cfganal.c (dfs_enumerate_from): Remove use of visited >sbitmap >> in favor of temporarily allocated BB flag. >> * hsa-brig.c: Re-order includes. >> * hsa-dump.c: Likewise. >> * hsa-regalloc.c: Likewise. >> * print-rtl.c: Likewise. >> * profile-count.c: Likewise. >> >> The failure is: >> >> In file included from >/home/sellcey/gcc-m/src/gcc/gcc/config/aarch64/aarch64-speculation.cc:28:0: >> /home/sellcey/gcc-m/src/gcc/gcc/cfg.h: In constructor >‘auto_edge_flag::auto_edge_flag(function*)’: >> /home/sellcey/gcc-m/src/gcc/gcc/cfg.h:172:22: error: invalid use of >incomplete type ‘struct function’ >> : auto_flag (&fun->cfg->edge_flags_allocated) {} >> >> It looks like this may be Aarch64 specific build problem since it is >> compiling a platform specific file. Is there just a missing include? >That would be my guess.
Look at the various middle end hunks which reorder includes. Aarch64 probably needs sth similar. Richard. >jeff