https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83233
Bug ID: 83233 Summary: [8 Regression] gimple-ssa-store-merging.c:183:3: warning: unnamed type with no linkage used to declare variable with linkage Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org CC: jakub at gcc dot gnu.org Target Milestone: --- In stage 1 with -std=gnu++98: ../../gcc/gcc/gimple-ssa-store-merging.c:183:3: warning: unnamed type with no linkage used to declare variable ‘{anonymous}::<unnamed struct> {anonymous}::nop_stats’ with linkage } nop_stats, bswap_stats; ^~~~~~~~~ ../../gcc/gcc/gimple-ssa-store-merging.c:183:14: warning: unnamed type with no linkage used to declare variable ‘{anonymous}::<unnamed struct> {anonymous}::bswap_stats’ with linka ge } nop_stats, bswap_stats; ^~~~~~~~~~~ Could be fixed by using idiomatic C++, instead of namespace { struct { ... } nop_stats, bswap_stats; } something like: namespace { struct Stats { ... }; Stats nop_stats, bswap_stats; }