Message ID | 1358896281-32106-1-git-send-email-amartin@nvidia.com |
---|---|
State | Accepted |
Delegated to: | Simon Glass |
Headers | show |
Hi Allen, On Tue, 22 Jan 2013 15:11:21 -0800, Allen Martin <amartin@nvidia.com> wrote: > Add back return statement to fix compiler warning about control flow > reaching end of non void function that was introduced with: > > e05e5de arm: move C runtime setup code in crt0.S > > Signed-off-by: Allen Martin <amartin@nvidia.com> > Acked-by: Simon Glass <sjg@chromium.org> > --- > arch/sandbox/cpu/start.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c > index 7603bf9..5287fd5 100644 > --- a/arch/sandbox/cpu/start.c > +++ b/arch/sandbox/cpu/start.c > @@ -122,4 +122,7 @@ int main(int argc, char *argv[]) > * never return. > */ > board_init_f(0); > + > + /* NOTREACHED - board_init_f() does not return */ > + return 0; > } Shouldn't the function be given '__attribute__((noreturn))' rather than adding a non-executed 'return 0' to it? Amicalement,
On Tue, Jan 22, 2013 at 10:46:03PM -0800, Albert ARIBAUD wrote: > Hi Allen, > > On Tue, 22 Jan 2013 15:11:21 -0800, Allen Martin <amartin@nvidia.com> > wrote: > > > Add back return statement to fix compiler warning about control flow > > reaching end of non void function that was introduced with: > > > > e05e5de arm: move C runtime setup code in crt0.S > > > > Signed-off-by: Allen Martin <amartin@nvidia.com> > > Acked-by: Simon Glass <sjg@chromium.org> > > --- > > arch/sandbox/cpu/start.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c > > index 7603bf9..5287fd5 100644 > > --- a/arch/sandbox/cpu/start.c > > +++ b/arch/sandbox/cpu/start.c > > @@ -122,4 +122,7 @@ int main(int argc, char *argv[]) > > * never return. > > */ > > board_init_f(0); > > + > > + /* NOTREACHED - board_init_f() does not return */ > > + return 0; > > } > > Shouldn't the function be given '__attribute__((noreturn))' rather than > adding a non-executed 'return 0' to it? > The function in question is sandbox main(), and it can return if there was an error prior to calling board_init_f(). Here's the whole function for context: int main(int argc, char *argv[]) { struct sandbox_state *state; int err; err = state_init(); if (err) return err; state = state_get_current(); if (os_parse_args(state, argc, argv)) return 1; /* * Do pre- and post-relocation init, then start up U-Boot. This will * never return. */ board_init_f(0); /* NOTREACHED - board_init_f() does not return */ return 0; } -Allen
Hi Allen, On Wed, 23 Jan 2013 13:05:27 -0800, Allen Martin <amartin@nvidia.com> wrote: > > Shouldn't the function be given '__attribute__((noreturn))' rather than > > adding a non-executed 'return 0' to it? > > > > The function in question is sandbox main(), and it can return if there > was an error prior to calling board_init_f(). Here's the whole > function for context: > > int main(int argc, char *argv[]) [...] Makes sense, thanks. > -Allen Amicalement,
On Thu, Jan 24, 2013 at 4:45 AM, Albert ARIBAUD <albert.u.boot@aribaud.net> wrote: > Hi Allen, > > On Wed, 23 Jan 2013 13:05:27 -0800, Allen Martin <amartin@nvidia.com> > wrote: > >> > Shouldn't the function be given '__attribute__((noreturn))' rather than >> > adding a non-executed 'return 0' to it? >> > >> >> The function in question is sandbox main(), and it can return if there >> was an error prior to calling board_init_f(). Here's the whole >> function for context: >> >> int main(int argc, char *argv[]) [...] > > Makes sense, thanks. > >> -Allen > > Amicalement, > -- > Albert. Applied to x86/master.
diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c index 7603bf9..5287fd5 100644 --- a/arch/sandbox/cpu/start.c +++ b/arch/sandbox/cpu/start.c @@ -122,4 +122,7 @@ int main(int argc, char *argv[]) * never return. */ board_init_f(0); + + /* NOTREACHED - board_init_f() does not return */ + return 0; }