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.
jeff