binutils-gdb/gdb/testsuite/gdb.mi
Pedro Alves dc3a371e83 gdb/testsuite: Explicitly return from main
I've been playing with a board file that forces every testcase to
include a header file that does something like:

  #define main __gdb_testcase_main

and then links an actual main() function that does some
initialization and then jumps to __gdb_testcase_main.

That runs into a number of testcases relying on main not having an
explicit return statement, like e.g.,:

 gdb/build/gdb/testsuite/../../../src/gdb/testsuite/gdb.base/catch-follow-exec.c:27:1: warning: non-void function does not return a value [-Wreturn-type]
 gdb/build/gdb/testsuite/../../../src/gdb/testsuite/gdb.base/catch-signal.c:47:1: warning: non-void function does not return a value [-Wreturn-type]

We don't get those warnings without my board because it is valid to
not explicitly return from main.  There's an implicit "return 0;".

Since it doesn't hurt to be explicit, I've went ahead and added the
explicit return statements.

Also, a couple testcases either don't explicitly specify main's return
type, or return void.  Those are tweaked to explicitly return int.

gdb/testsuite/ChangeLog:

	* gdb.base/catch-follow-exec.c (main): Add explicit return
	statement.
	* gdb.base/catch-signal.c (main): Likewise.
	* gdb.base/condbreak-call-false.c (main): Likewise.
	* gdb.base/consecutive.c (main): Add explicit return
	statement and return type.
	* gdb.base/cursal.c (main): Add explicit return statement.
	* gdb.base/cvexpr.c (main): Likewise.
	* gdb.base/display.c (main): Add explicit return statement and
	return type.
	* gdb.base/dprintf-detach.c (main): Add explicit return statement.
	* gdb.base/endianity.c (main): Likewise.
	* gdb.base/execd-prog.c (main): Likewise.
	* gdb.base/gdb1090.c (main): Likewise.
	* gdb.base/info_qt.c (main): Likewise.
	* gdb.base/lineinc.c (main): Likewise.
	* gdb.base/load-command.c (main): Likewise.
	* gdb.base/macscp1.c (main): Likewise.
	* gdb.base/pr10179-a.c (main): Likewise.
	* gdb.base/quit-live.c (main): Likewise.
	* gdb.base/scope0.c (main): Likewise.
	* gdb.base/settings.c (main): Likewise.
	* gdb.base/stack-checking.c (main): Return int.
	* gdb.base/varargs.c (main): Add explicit return statement.
	* gdb.cp/ambiguous.cc (main): Likewise.
	* gdb.cp/anon-struct.cc (main): Likewise.
	* gdb.cp/anon-union.cc (main): Likewise.
	* gdb.cp/bool.cc (main): Likewise.
	* gdb.cp/bs15503.cc (main): Likewise.
	* gdb.cp/cplusfuncs.cc (main): Likewise.
	* gdb.cp/cttiadd.cc (main): Likewise.
	* gdb.cp/extern-c.cc (main): Likewise.
	* gdb.cp/filename.cc (main): Likewise.
	* gdb.cp/formatted-ref.cc (main): Likewise.
	* gdb.cp/mb-ctor.cc (main): Likewise.
	* gdb.cp/member-ptr.cc (main): Likewise.
	* gdb.cp/minsym-fallback-main.cc (main): Likewise.
	* gdb.cp/overload-const.cc (main): Likewise.
	* gdb.cp/paren-type.cc (main): Likewise.
	* gdb.cp/parse-lang.cc (main): Likewise.
	* gdb.cp/pr-1023.cc (main): Likewise.
	* gdb.cp/psmang1.cc (main): Likewise.
	* gdb.cp/readnow-language.cc (main): Likewise.
	* gdb.cp/ref-params.cc (main): Likewise.
	* gdb.cp/rvalue-ref-params.cc (main): Likewise.
	* gdb.cp/virtbase2.cc (main): Likewise.
	* gdb.dwarf2/dw2-abs-hi-pc.c (main): Likewise.
	* gdb.dwarf2/dw2-namespaceless-anonymous.c (main): Likewise.
	* gdb.dwarf2/dw4-toplevel-types.cc (main): Likewise.
	* gdb.mi/mi-console.c (main): Likewise.
	* gdb.mi/mi-read-memory.c (main): Likewise.
	* gdb.modula2/multidim.c (main): Likewise.
	* gdb.opt/inline-small-func.c (main): Likewise.
	* gdb.python/py-rbreak.c (main): Likewise.
	* gdb.stabs/exclfwd1.c (main): Likewise.
	* gdb.trace/qtro.c (main): Likewise.
2020-09-13 22:47:01 +01:00
..
array.f
basics.c
ChangeLog-1999-2003
dw2-ref-missing-frame-func.c
dw2-ref-missing-frame-main.c
dw2-ref-missing-frame.exp
dw2-ref-missing-frame.S
gdb669.exp
gdb680.exp
gdb701.c
gdb701.exp
gdb792.cc
gdb792.exp
gdb2549.exp
list-thread-groups-available.c
list-thread-groups-available.exp
list-thread-groups-no-inferior.exp
mi2-amd64-entry-value.c
mi2-amd64-entry-value.exp
mi2-amd64-entry-value.s
mi2-cli-display.c
mi2-cli-display.exp
mi2-prompt.exp
mi2-var-child.exp
mi-async-run.c
mi-async-run.exp
mi-async.exp
mi-basics.exp
mi-break-qualified.cc Add MI "-break-insert --qualified" 2020-09-13 18:02:19 +01:00
mi-break-qualified.exp Add MI "-break-insert --qualified" 2020-09-13 18:02:19 +01:00
mi-break.exp
mi-breakpoint-changed.exp
mi-breakpoint-multiple-locations.cc
mi-breakpoint-multiple-locations.exp
mi-catch-cpp-exceptions.cc
mi-catch-cpp-exceptions.exp
mi-catch-load-so.c
mi-catch-load.c
mi-catch-load.exp
mi-cli.exp
mi-cmd-error.exp
mi-cmd-param-changed.exp
mi-complete.cc
mi-complete.exp
mi-condbreak-call-thr-state-mt.c
mi-condbreak-call-thr-state-st.c
mi-condbreak-call-thr-state.c
mi-condbreak-call-thr-state.exp
mi-console.c gdb/testsuite: Explicitly return from main 2020-09-13 22:47:01 +01:00
mi-console.exp
mi-detach.exp
mi-disassemble.exp
mi-dprintf-pending.c
mi-dprintf-pending.exp
mi-dprintf-pendshr.c
mi-dprintf.c
mi-dprintf.exp
mi-editing.exp
mi-eval.exp
mi-exec-run.exp
mi-exit-code.c
mi-exit-code.exp
mi-file-transfer.exp
mi-file.exp
mi-fill-memory.exp
mi-fortran-modules-2.f90
mi-fortran-modules.exp
mi-fortran-modules.f90
mi-frame-regs.exp
mi-fullname-deleted.exp
mi-hack-cli.exp
mi-i-cmd.exp
mi-info-os.exp
mi-inheritance-syntax-error.cc
mi-inheritance-syntax-error.exp
mi-language.exp
mi-linespec-err-cp.cc
mi-linespec-err-cp.exp
mi-logging.exp
mi-memory-changed.exp
mi-nonstop-exit.exp
mi-nonstop.exp
mi-ns-stale-regcache.exp
mi-nsintrall.exp
mi-nsmoribund.exp
mi-nsthrexec.exp
mi-pending.c
mi-pending.exp
mi-pendshr2.c
mi-pendshr.c
mi-pthreads.exp
mi-read-memory.c gdb/testsuite: Explicitly return from main 2020-09-13 22:47:01 +01:00
mi-read-memory.exp
mi-record-changed.exp
mi-reg-undefined.c
mi-reg-undefined.exp
mi-reg-undefined.S
mi-regs.exp
mi-return.exp
mi-reverse.exp
mi-simplerun.exp
mi-solib.exp
mi-stack.c
mi-stack.exp
mi-start.c
mi-start.exp
mi-stepi.exp
mi-stepn.c
mi-stepn.exp
mi-sym-info-1.c
mi-sym-info-2.c
mi-sym-info.exp
mi-syn-frame.c
mi-syn-frame.exp
mi-threads-interrupt.c
mi-threads-interrupt.exp
mi-undefined-cmd.exp
mi-until.exp
mi-var-block.exp
mi-var-child-f.exp
mi-var-child.c
mi-var-child.exp
mi-var-cmd.exp
mi-var-cp.cc
mi-var-cp.exp
mi-var-create-rtti.c
mi-var-create-rtti.exp
mi-var-display.exp
mi-var-invalidate.exp
mi-var-list-children-invalid-grandchild.c
mi-var-list-children-invalid-grandchild.exp
mi-var-rtti.cc
mi-var-rtti.exp
mi-vla-c99.exp
mi-vla-fortran.exp
mi-watch-nonstop.exp
mi-watch.exp
new-ui-mi-sync.c
new-ui-mi-sync.exp
non-stop-exit.c
non-stop.c
ns-stale-regcache.c
nsintrall.c
nsmoribund.c
nsthrexec.c
pending.c
pendshr1.c
pendshr2.c
pr11022.c
pr11022.exp
pthreads.c
solib-lib.c
solib-main.c
testcmds
until.c
user-selected-context-sync.c
user-selected-context-sync.exp
var-cmd.c
vla.c
vla.f90
watch-nonstop.c