diff mbox series

[1/1] Remove break after return

Message ID 20190328105006.17337-1-pvorel@suse.cz
State Accepted
Delegated to: Petr Vorel
Headers show
Series [1/1] Remove break after return | expand

Commit Message

Petr Vorel March 28, 2019, 10:50 a.m. UTC
Reported-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 testcases/kernel/syscalls/select/select_var.h       | 1 -
 testcases/kernel/syscalls/sigpending/sigpending02.c | 3 ---
 2 files changed, 4 deletions(-)

Comments

Enji Cooper March 28, 2019, 10:59 a.m. UTC | #1
LGTM!

Reviewed-by: Enji Cooper <yaneurabeya@gmail.com>

> On Mar 28, 2019, at 03:50, Petr Vorel <pvorel@suse.cz> wrote:
> 
> Reported-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> testcases/kernel/syscalls/select/select_var.h       | 1 -
> testcases/kernel/syscalls/sigpending/sigpending02.c | 3 ---
> 2 files changed, 4 deletions(-)
> 
> diff --git a/testcases/kernel/syscalls/select/select_var.h b/testcases/kernel/syscalls/select/select_var.h
> index b19a1d1bf..29ebbc5ee 100644
> --- a/testcases/kernel/syscalls/select/select_var.h
> +++ b/testcases/kernel/syscalls/select/select_var.h
> @@ -20,7 +20,6 @@ static int do_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
>    switch (tst_variant) {
>    case 0:
>        return select(nfds, readfds, writefds, exceptfds, timeout);
> -    break;
>    case 1: {
> #ifdef __LP64__
>        return tst_syscall(__NR_select, nfds, readfds, writefds, exceptfds, timeout);
> diff --git a/testcases/kernel/syscalls/sigpending/sigpending02.c b/testcases/kernel/syscalls/sigpending/sigpending02.c
> index ce0d2ff79..d75807d77 100644
> --- a/testcases/kernel/syscalls/sigpending/sigpending02.c
> +++ b/testcases/kernel/syscalls/sigpending/sigpending02.c
> @@ -37,13 +37,10 @@ static int tested_sigpending(sigset_t *sigset)
>    switch (tst_variant) {
>    case 0:
>        return sigpending(sigset);
> -    break;
>    case 1:
>        return tst_syscall(__NR_sigpending, sigset);
> -    break;
>    case 2:
>        return tst_syscall(__NR_rt_sigpending, sigset, SIGSETSIZE);
> -    break;
>    }
>    return -1;
> }
> -- 
> 2.20.1
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp
Xiao Yang March 29, 2019, 3:04 a.m. UTC | #2
Hi Petr,

Thanks for your cleanup. :-)

Can we also remove break after calling tst_brk()?

For example:
1) The code at do_select(...) in select_var.h
-------------------------------------------------
case 3:
#ifdef __NR__newselect
return tst_syscall(__NR__newselect, nfds, readfds, writefds, exceptfds,
timeout);
#else
tst_brk(TCONF, "__NR__newselect not implemented");
#endif
break;
-------------------------------------------------

2) The code at do_test(...) in newlib_tests/variant.c
-------------------------------------------------
switch (tst_variant) {
case 0:
/* This is skipped after first iteration */
tst_brk(TCONF, "Test skipped");
break;
case 1:
/* This test is correctly looped with -i opt */
tst_res(TPASS, "Test passed");
break;
case 2:
/* This exits the test immediatelly */
tst_brk(TBROK, "Test broken");
break;
}

tst_res(TINFO, "test() function exitting normaly");

-------------------------------------------------

Best Regards,
Xiao Yang
On 2019/03/28 18:50, Petr Vorel wrote:
> Reported-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
>  testcases/kernel/syscalls/select/select_var.h       | 1 -
>  testcases/kernel/syscalls/sigpending/sigpending02.c | 3 ---
>  2 files changed, 4 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/select/select_var.h b/testcases/kernel/syscalls/select/select_var.h
> index b19a1d1bf..29ebbc5ee 100644
> --- a/testcases/kernel/syscalls/select/select_var.h
> +++ b/testcases/kernel/syscalls/select/select_var.h
> @@ -20,7 +20,6 @@ static int do_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
>  	switch (tst_variant) {
>  	case 0:
>  		return select(nfds, readfds, writefds, exceptfds, timeout);
> -	break;
>  	case 1: {
>  #ifdef __LP64__
>  		return tst_syscall(__NR_select, nfds, readfds, writefds, exceptfds, timeout);
> diff --git a/testcases/kernel/syscalls/sigpending/sigpending02.c b/testcases/kernel/syscalls/sigpending/sigpending02.c
> index ce0d2ff79..d75807d77 100644
> --- a/testcases/kernel/syscalls/sigpending/sigpending02.c
> +++ b/testcases/kernel/syscalls/sigpending/sigpending02.c
> @@ -37,13 +37,10 @@ static int tested_sigpending(sigset_t *sigset)
>  	switch (tst_variant) {
>  	case 0:
>  		return sigpending(sigset);
> -	break;
>  	case 1:
>  		return tst_syscall(__NR_sigpending, sigset);
> -	break;
>  	case 2:
>  		return tst_syscall(__NR_rt_sigpending, sigset, SIGSETSIZE);
> -	break;
>  	}
>  	return -1;
>  }
Cyril Hrubis April 3, 2019, 12:02 p.m. UTC | #3
Hi!
> Thanks for your cleanup. :-)
> 
> Can we also remove break after calling tst_brk()?

AFAIK that would generate warnings, since compiler cannot deduce on it's
own that the call will not return.
Petr Vorel April 3, 2019, 12:06 p.m. UTC | #4
Hi,

> > Can we also remove break after calling tst_brk()?

> AFAIK that would generate warnings, since compiler cannot deduce on it's
> own that the call will not return.
Agree.


Kind regards,
Petr
Xiao Yang April 4, 2019, 1:29 a.m. UTC | #5
On 2019/04/03 20:06, Petr Vorel wrote:
>>> Can we also remove break after calling tst_brk()?
>> >  AFAIK that would generate warnings, since compiler cannot deduce on it's
>> >  own that the call will not return.
> Agree.
>
Hi,

Thanks for your explanation.

Other than the question, it looks good to me.
Reviewed-by: Xiao Yang <yangx.jy@cn.fujitsu.com>

Best Regards,
Xiao Yang
Xiao Yang April 5, 2019, 3:22 a.m. UTC | #6
On 2019/03/28 18:50, Petr Vorel wrote:
> Reported-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
>  testcases/kernel/syscalls/select/select_var.h       | 1 -
>  testcases/kernel/syscalls/sigpending/sigpending02.c | 3 ---
>  2 files changed, 4 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/select/select_var.h b/testcases/kernel/syscalls/select/select_var.h
> index b19a1d1bf..29ebbc5ee 100644
> --- a/testcases/kernel/syscalls/select/select_var.h
> +++ b/testcases/kernel/syscalls/select/select_var.h
> @@ -20,7 +20,6 @@ static int do_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
>  	switch (tst_variant) {
>  	case 0:
>  		return select(nfds, readfds, writefds, exceptfds, timeout);
> -	break;
>  	case 1: {
>  #ifdef __LP64__
>  		return tst_syscall(__NR_select, nfds, readfds, writefds, exceptfds, timeout);
> diff --git a/testcases/kernel/syscalls/sigpending/sigpending02.c b/testcases/kernel/syscalls/sigpending/sigpending02.c
> index ce0d2ff79..d75807d77 100644
> --- a/testcases/kernel/syscalls/sigpending/sigpending02.c
> +++ b/testcases/kernel/syscalls/sigpending/sigpending02.c
> @@ -37,13 +37,10 @@ static int tested_sigpending(sigset_t *sigset)
>  	switch (tst_variant) {
>  	case 0:
>  		return sigpending(sigset);
> -	break;
Hi Petr,

I have added libc sigpending() detection by the following patch:
http://lists.linux.it/pipermail/ltp/2019-April/011590.html

Perhaps, we should avoid potential compiler warnings by keeping the
break here.

Best Regards,
Xiao Yang
>  	case 1:
>  		return tst_syscall(__NR_sigpending, sigset);
> -	break;
>  	case 2:
>  		return tst_syscall(__NR_rt_sigpending, sigset, SIGSETSIZE);
> -	break;
>  	}
>  	return -1;
>  }
Petr Vorel April 5, 2019, 6:48 a.m. UTC | #7
Hi,

> > > Can we also remove break after calling tst_brk()?

> > AFAIK that would generate warnings, since compiler cannot deduce on it's
> > own that the call will not return.
> Agree.

patchset merged (short variant).

NOTE: Warning is produced only on gcc (to my surprise only new versions: up to
gcc 6 it's ok, 7 and 8 warns):
In file included from variant.c:6:
variant.c: In function ‘do_test’:
../../include/tst_test.h:76:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
   tst_brk_(__FILE__, __LINE__, (ttype), (arg_fmt), ##__VA_ARGS__);\
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
variant.c:13:3: note: in expansion of macro ‘tst_brk’
   tst_brk(TCONF, "Test skipped");

Kind regards,
Petr
Petr Vorel April 5, 2019, 6:56 a.m. UTC | #8
Hi Xiao,

> I have added libc sigpending() detection by the following patch:
> http://lists.linux.it/pipermail/ltp/2019-April/011590.html

> Perhaps, we should avoid potential compiler warnings by keeping the
> break here.
Oh yes, adding break after tst_brk in [1] (in case of #ifndef HAVE_STIME) is correct.

Kind regards,
Petr

[1] https://patchwork.ozlabs.org/patch/1077969/
diff mbox series

Patch

diff --git a/testcases/kernel/syscalls/select/select_var.h b/testcases/kernel/syscalls/select/select_var.h
index b19a1d1bf..29ebbc5ee 100644
--- a/testcases/kernel/syscalls/select/select_var.h
+++ b/testcases/kernel/syscalls/select/select_var.h
@@ -20,7 +20,6 @@  static int do_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
 	switch (tst_variant) {
 	case 0:
 		return select(nfds, readfds, writefds, exceptfds, timeout);
-	break;
 	case 1: {
 #ifdef __LP64__
 		return tst_syscall(__NR_select, nfds, readfds, writefds, exceptfds, timeout);
diff --git a/testcases/kernel/syscalls/sigpending/sigpending02.c b/testcases/kernel/syscalls/sigpending/sigpending02.c
index ce0d2ff79..d75807d77 100644
--- a/testcases/kernel/syscalls/sigpending/sigpending02.c
+++ b/testcases/kernel/syscalls/sigpending/sigpending02.c
@@ -37,13 +37,10 @@  static int tested_sigpending(sigset_t *sigset)
 	switch (tst_variant) {
 	case 0:
 		return sigpending(sigset);
-	break;
 	case 1:
 		return tst_syscall(__NR_sigpending, sigset);
-	break;
 	case 2:
 		return tst_syscall(__NR_rt_sigpending, sigset, SIGSETSIZE);
-	break;
 	}
 	return -1;
 }