mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-24 12:35:55 +08:00
dc3a371e83
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. |
||
---|---|---|
.. | ||
amd64-py-framefilter-invalidarg.S | ||
lib-types.cc | ||
lib-types.exp | ||
py-arch-reg-groups.exp | ||
py-arch-reg-names.exp | ||
py-arch.c | ||
py-arch.exp | ||
py-as-string.c | ||
py-as-string.exp | ||
py-bad-printers.c | ||
py-bad-printers.exp | ||
py-bad-printers.py | ||
py-block.c | ||
py-block.exp | ||
py-breakpoint-create-fail.c | ||
py-breakpoint-create-fail.exp | ||
py-breakpoint-create-fail.py | ||
py-breakpoint.c | ||
py-breakpoint.exp | ||
py-caller-is.c | ||
py-caller-is.exp | ||
py-cmd.c | ||
py-cmd.exp | ||
py-completion.exp | ||
py-completion.py | ||
py-error.exp | ||
py-error.py | ||
py-events-shlib.c | ||
py-events.c | ||
py-events.exp | ||
py-events.py | ||
py-evsignal.exp | ||
py-evthreads.c | ||
py-evthreads.exp | ||
py-explore-cc.exp | ||
py-explore.c | ||
py-explore.cc | ||
py-explore.exp | ||
py-finish-breakpoint2.cc | ||
py-finish-breakpoint2.exp | ||
py-finish-breakpoint2.py | ||
py-finish-breakpoint.c | ||
py-finish-breakpoint.exp | ||
py-finish-breakpoint.py | ||
py-format-string.c | ||
py-format-string.exp | ||
py-format-string.py | ||
py-frame-args.c | ||
py-frame-args.exp | ||
py-frame-args.py | ||
py-frame-inline.c | ||
py-frame-inline.exp | ||
py-frame.c | ||
py-frame.exp | ||
py-framefilter-gdb.py.in | ||
py-framefilter-invalidarg-gdb.py.in | ||
py-framefilter-invalidarg.exp | ||
py-framefilter-invalidarg.py | ||
py-framefilter-mi.c | ||
py-framefilter-mi.exp | ||
py-framefilter.c | ||
py-framefilter.exp | ||
py-framefilter.py | ||
py-function.exp | ||
py-inferior.c | ||
py-inferior.exp | ||
py-infthread.c | ||
py-infthread.exp | ||
py-lazy-string.c | ||
py-lazy-string.exp | ||
py-linetable.c | ||
py-linetable.exp | ||
py-linetable.S | ||
py-lookup-type.exp | ||
py-mi-events-gdb.py | ||
py-mi-events.c | ||
py-mi-events.exp | ||
py-mi-objfile-gdb.py | ||
py-mi-objfile.c | ||
py-mi-objfile.exp | ||
py-mi-var-info-path-expression.c | ||
py-mi-var-info-path-expression.exp | ||
py-mi-var-info-path-expression.py | ||
py-mi.exp | ||
py-nested-maps.c | ||
py-nested-maps.exp | ||
py-nested-maps.py | ||
py-objfile-script-gdb.py | ||
py-objfile-script.c | ||
py-objfile-script.exp | ||
py-objfile.c | ||
py-objfile.exp | ||
py-parameter.exp | ||
py-pp-integral.c | ||
py-pp-integral.exp | ||
py-pp-integral.py | ||
py-pp-maint.c | ||
py-pp-maint.exp | ||
py-pp-maint.py | ||
py-pp-re-notag.c | ||
py-pp-re-notag.exp | ||
py-pp-re-notag.py | ||
py-pp-registration.c | ||
py-pp-registration.exp | ||
py-pp-registration.py | ||
py-prettyprint.c | ||
py-prettyprint.exp | ||
py-prettyprint.py | ||
py-progspace.c | ||
py-progspace.exp | ||
py-prompt.c | ||
py-prompt.exp | ||
py-rbreak-func2.c | ||
py-rbreak.c | ||
py-rbreak.exp | ||
py-record-btrace-threads.c | ||
py-record-btrace-threads.exp | ||
py-record-btrace.c | ||
py-record-btrace.exp | ||
py-record-full.c | ||
py-record-full.exp | ||
py-recurse-unwind.c | ||
py-recurse-unwind.exp | ||
py-recurse-unwind.py | ||
py-rvalue-ref-value-cc.cc | ||
py-rvalue-ref-value-cc.exp | ||
py-section-script.c | ||
py-section-script.exp | ||
py-section-script.py | ||
py-shared-sl.c | ||
py-shared.c | ||
py-shared.exp | ||
py-strfns.c | ||
py-strfns.exp | ||
py-symbol-2.c | ||
py-symbol.c | ||
py-symbol.exp | ||
py-symtab.exp | ||
py-sync-interp.c | ||
py-sync-interp.exp | ||
py-template.cc | ||
py-template.exp | ||
py-thrhandle.c | ||
py-thrhandle.exp | ||
py-type.c | ||
py-type.exp | ||
py-typeprint.cc | ||
py-typeprint.exp | ||
py-typeprint.py | ||
py-unwind-inline.c | ||
py-unwind-inline.exp | ||
py-unwind-inline.py | ||
py-unwind-maint.c | ||
py-unwind-maint.exp | ||
py-unwind-maint.py | ||
py-unwind.c | ||
py-unwind.exp | ||
py-unwind.py | ||
py-value-cc.cc | ||
py-value-cc.exp | ||
py-value.c | ||
py-value.exp | ||
py-xmethods.cc | ||
py-xmethods.exp | ||
py-xmethods.py | ||
python-1.c | ||
python.c | ||
python.exp | ||
source1 | ||
source2.py | ||
tui-window.exp | ||
tui-window.py |