gdb/
Code cleanup - reformatting. * dwarf2read.c (producer_is_gcc_ge_4_0): Rename to ... (producer_is_gcc_ge_4): ... here, change the return value. (process_full_comp_unit): New variable gcc_4_minor, adjust the value interpretation.
This commit is contained in:
parent
32019081a7
commit
4632c0d0ff
2 changed files with 23 additions and 7 deletions
|
@ -1,3 +1,11 @@
|
|||
2011-06-29 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Code cleanup - reformatting.
|
||||
* dwarf2read.c (producer_is_gcc_ge_4_0): Rename to ...
|
||||
(producer_is_gcc_ge_4): ... here, change the return value.
|
||||
(process_full_comp_unit): New variable gcc_4_minor, adjust the value
|
||||
interpretation.
|
||||
|
||||
2011-06-29 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Fix non-only rename list for Fortran modules import.
|
||||
|
|
|
@ -4646,10 +4646,12 @@ compute_delayed_physnames (struct dwarf2_cu *cu)
|
|||
}
|
||||
}
|
||||
|
||||
/* Check for GCC >= 4.0. */
|
||||
/* Check for GCC >= 4.x. Return minor version (x) of 4.x in such case. If it
|
||||
is not GCC or it is GCC older than 4.x return -1. If it is GCC 5.x or
|
||||
higher return INT_MAX. */
|
||||
|
||||
static int
|
||||
producer_is_gcc_ge_4_0 (struct dwarf2_cu *cu)
|
||||
producer_is_gcc_ge_4 (struct dwarf2_cu *cu)
|
||||
{
|
||||
const char *cs;
|
||||
int major, minor;
|
||||
|
@ -4660,7 +4662,7 @@ producer_is_gcc_ge_4_0 (struct dwarf2_cu *cu)
|
|||
this case can also happen for -gdwarf-4 type units supported since
|
||||
gcc-4.5. */
|
||||
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Skip any identifier after "GNU " - such as "C++" or "Java". */
|
||||
|
@ -4669,7 +4671,7 @@ producer_is_gcc_ge_4_0 (struct dwarf2_cu *cu)
|
|||
{
|
||||
/* For non-GCC compilers expect their behavior is not compliant. */
|
||||
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
cs = &cu->producer[strlen ("GNU ")];
|
||||
while (*cs && !isdigit (*cs))
|
||||
|
@ -4678,10 +4680,14 @@ producer_is_gcc_ge_4_0 (struct dwarf2_cu *cu)
|
|||
{
|
||||
/* Not recognized as GCC. */
|
||||
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
|
||||
return major >= 4;
|
||||
if (major < 4)
|
||||
return -1;
|
||||
if (major > 4)
|
||||
return INT_MAX;
|
||||
return minor;
|
||||
}
|
||||
|
||||
/* Generate full symbol information for PST and CU, whose DIEs have
|
||||
|
@ -4725,6 +4731,8 @@ process_full_comp_unit (struct dwarf2_per_cu_data *per_cu)
|
|||
|
||||
if (symtab != NULL)
|
||||
{
|
||||
int gcc_4_minor = producer_is_gcc_ge_4 (cu);
|
||||
|
||||
/* Set symtab language to language from DW_AT_language. If the
|
||||
compilation is from a C file generated by language preprocessors, do
|
||||
not set the language if it was already deduced by start_subfile. */
|
||||
|
@ -4741,7 +4749,7 @@ process_full_comp_unit (struct dwarf2_per_cu_data *per_cu)
|
|||
Still one can confuse GDB by using non-standard GCC compilation
|
||||
options - this waits on GCC PR other/32998 (-frecord-gcc-switches).
|
||||
*/
|
||||
if (cu->has_loclist && producer_is_gcc_ge_4_0 (cu))
|
||||
if (cu->has_loclist && gcc_4_minor >= 0)
|
||||
symtab->locations_valid = 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue