[gdb/testsuite] Handle for loop initial decl with gcc 4.8.5
When running test-case gdb.threads/schedlock-thread-exit.exp on a system with system compiler gcc 4.8.5, I run into: ... src/gdb/testsuite/gdb.threads/schedlock-thread-exit.c:33:3: error: \ 'for' loop initial declarations are only allowed in C99 mode ... Fix this by: - using -std=c99, or - using -std=gnu99, in case that's required, or - in the case of the jit test-cases, rewriting the for loops. Tested on x86_64-linux, both with gcc 4.8.5 and gcc 7.5.0.
This commit is contained in:
parent
1eeb031630
commit
b19f4f6178
@ -23,7 +23,8 @@ if [target_info exists noargs] then {
|
||||
|
||||
standard_testfile .c
|
||||
|
||||
if {[build_executable "failed to prepare" $testfile $srcfile debug] == -1} {
|
||||
if {[build_executable "failed to prepare" $testfile $srcfile \
|
||||
{debug additional_flags=-std=c99}] == -1} {
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -54,8 +54,8 @@ load_symbol (void *addr, const char *sym_name)
|
||||
ElfW (Addr) sym_new_addr = 0;
|
||||
|
||||
/* Find `func_name` in symbol_table and return its address. */
|
||||
|
||||
for (int i = 0; i < ehdr->e_shnum; ++i)
|
||||
int i;
|
||||
for (i = 0; i < ehdr->e_shnum; ++i)
|
||||
{
|
||||
if (shdr[i].sh_type == SHT_SYMTAB)
|
||||
{
|
||||
@ -65,7 +65,8 @@ load_symbol (void *addr, const char *sym_name)
|
||||
char *const strtab
|
||||
= (char *) (addr + shdr[shdr[i].sh_link].sh_offset);
|
||||
|
||||
for (ElfW (Sym) *p = symtab; p < symtab_end; ++p)
|
||||
ElfW (Sym) *p;
|
||||
for (p = symtab; p < symtab_end; ++p)
|
||||
{
|
||||
const char *s = strtab + p->st_name;
|
||||
if (strcmp (s, sym_name) == 0)
|
||||
|
@ -106,7 +106,8 @@ proc_with_prefix test { non-stop threaded run-or-attach } {
|
||||
}
|
||||
|
||||
foreach_with_prefix threaded {0 1} {
|
||||
set options [list debug additional_flags=-DWITH_THREADS=$threaded]
|
||||
set options [list debug additional_flags=-DWITH_THREADS=$threaded \
|
||||
additional_flags=-std=gnu99]
|
||||
if { $threaded } {
|
||||
set binfile $binfile_threads
|
||||
lappend options pthreads
|
||||
|
@ -24,7 +24,7 @@ set MIFLAGS "-i=mi"
|
||||
standard_testfile .c
|
||||
|
||||
if {[gdb_compile_pthreads "$srcdir/$subdir/$srcfile" $binfile \
|
||||
executable debug] != "" } {
|
||||
executable {debug additional_flags=-std=gnu99}] != "" } {
|
||||
return -1
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,13 @@ if { [skip_python_tests] } { continue }
|
||||
proc build_inferior {exefile lang} {
|
||||
global srcdir subdir srcfile testfile hex
|
||||
|
||||
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${exefile}" executable "debug $lang"] != "" } {
|
||||
set flags [list debug $lang]
|
||||
if { $lang == "c" } {
|
||||
lappend flags additional_flags=-std=c99
|
||||
}
|
||||
|
||||
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${exefile}" \
|
||||
executable $flags] != "" } {
|
||||
untested "failed to compile in $lang mode"
|
||||
return -1
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ if [get_compiler_info] {
|
||||
}
|
||||
|
||||
if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
|
||||
executable {debug}] != "" } {
|
||||
executable {debug additional_flags=-std=gnu99}] != "" } {
|
||||
return -1
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,8 @@
|
||||
|
||||
standard_testfile
|
||||
|
||||
if { [build_executable "failed to prepare" ${testfile} ${srcfile} {debug pthreads}] } {
|
||||
if { [build_executable "failed to prepare" ${testfile} ${srcfile} \
|
||||
{debug pthreads additional_flags=-std=c99}] } {
|
||||
return
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user