[gdb/symtab] Add dwarf2_cu::lang ()
authorTom de Vries <tdevries@suse.de>
Tue, 12 Jul 2022 15:12:17 +0000 (17:12 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 12 Jul 2022 15:12:17 +0000 (17:12 +0200)
commit3da5576c911a0f3fc608471f1486dc6db11052ef
tree76a051a17db1fc8ce9cc2b231bfb593c84997041
parent98f49277b5d9c8bf16717b898f79cef11b2e47a6
[gdb/symtab] Add dwarf2_cu::lang ()

The cu->per_cu->lang field was added to carry information from the initial
partial symtabs phase to the symtab expansion phase, for the benefit of a
particular optimization in process_imported_unit_die.

Other uses have been added, but since the first phase now has been
parallelized, those have become problematic and sources of race conditions.

Fix this by adding dwarf2_cu::lang () and using it where we can to replace
cu->per_cu->lang () with cu->lang ().

Also assert in dwarf2_cu::lang () that we're not returning language_unknown.

Tested on x86_64-linux.
gdb/dwarf2/cu.c
gdb/dwarf2/cu.h
gdb/dwarf2/read.c