From: Tom de Vries Date: Mon, 3 Jan 2022 14:36:36 +0000 (+0100) Subject: [gdb/testsuite] Handle for loop initial decl with gcc 4.8.5 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b19f4f61785c8bf81b6a4a3dada9c446998aad35;p=binutils-gdb.git [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. --- diff --git a/gdb/testsuite/gdb.base/inferior-args.exp b/gdb/testsuite/gdb.base/inferior-args.exp index 4a894d7ecf8..691ce0ae884 100644 --- a/gdb/testsuite/gdb.base/inferior-args.exp +++ b/gdb/testsuite/gdb.base/inferior-args.exp @@ -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 } diff --git a/gdb/testsuite/gdb.base/jit-elf-util.h b/gdb/testsuite/gdb.base/jit-elf-util.h index 80dfd0c4024..419a781f865 100644 --- a/gdb/testsuite/gdb.base/jit-elf-util.h +++ b/gdb/testsuite/gdb.base/jit-elf-util.h @@ -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) diff --git a/gdb/testsuite/gdb.base/run-attach-while-running.exp b/gdb/testsuite/gdb.base/run-attach-while-running.exp index bd6a352a8c3..ee67db7caa5 100644 --- a/gdb/testsuite/gdb.base/run-attach-while-running.exp +++ b/gdb/testsuite/gdb.base/run-attach-while-running.exp @@ -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 diff --git a/gdb/testsuite/gdb.mi/interrupt-thread-group.exp b/gdb/testsuite/gdb.mi/interrupt-thread-group.exp index e4d976493e9..8661d573cfe 100644 --- a/gdb/testsuite/gdb.mi/interrupt-thread-group.exp +++ b/gdb/testsuite/gdb.mi/interrupt-thread-group.exp @@ -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 } diff --git a/gdb/testsuite/gdb.python/py-format-string.exp b/gdb/testsuite/gdb.python/py-format-string.exp index 864f6b66743..4c78bed1203 100644 --- a/gdb/testsuite/gdb.python/py-format-string.exp +++ b/gdb/testsuite/gdb.python/py-format-string.exp @@ -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 } diff --git a/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp b/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp index 99c8705f966..c76d366e7a2 100644 --- a/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp +++ b/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp @@ -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 } diff --git a/gdb/testsuite/gdb.threads/schedlock-thread-exit.exp b/gdb/testsuite/gdb.threads/schedlock-thread-exit.exp index e698bb46b05..a6e6d33f4bf 100644 --- a/gdb/testsuite/gdb.threads/schedlock-thread-exit.exp +++ b/gdb/testsuite/gdb.threads/schedlock-thread-exit.exp @@ -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 }