gdb printing <incomplete type> with incomplete enum class declaration

Using g++ (Debian 11.2.0-10) 11.2.0 and GDB-10.0:

7           auto b = Bar{ Foo::A, 1 };
(gdb) p a
$1 = Foo::A
(gdb) n
8       }
(gdb) p b
$2 = {a = Foo::A, b = 1}

built with gcc 7.5.0 (with the -g option) and ran with gdb 8.1.1

These are pretty ancient.

Is there something I can do

I suggest trying latest released GDB (easy to build from source), and if that doesn't help, latest GCC.