C++ PATCH for c++/60364 - noreturn after first decl not diagnosed (v2)

Jakub Jelinek jakub@redhat.com
Thu Jun 20 17:57:00 GMT 2019


On Thu, Jun 20, 2019 at 12:49:13PM -0400, Marek Polacek wrote:
> Sorry about that.  Does this patch work?
> 
> 2019-06-20  Marek Polacek  <polacek@redhat.com>
> 
> 	* config/sh/sh.c (sh2a_function_vector_p): Use get_attribute_name.

Just that?
grep is_attribute_p.*TREE_PURPOSE config/*/*
config/m32c/m32c.c:      if (is_attribute_p ("interrupt", TREE_PURPOSE (list)))
config/m32c/m32c.c:      if (is_attribute_p ("bank_switch", TREE_PURPOSE (list)))
config/m32c/m32c.c:      if (is_attribute_p ("fast_interrupt", TREE_PURPOSE (list)))
config/m32c/m32c.c:      if (is_attribute_p ("function_vector", TREE_PURPOSE (list)))
config/m32c/m32c.c:          if (is_attribute_p ("function_vector", TREE_PURPOSE (list)))
config/rl78/rl78.c:      if (is_attribute_p ("saddr", TREE_PURPOSE (list)))
config/sh/sh.c:	      if (is_attribute_p ("sp_switch", TREE_PURPOSE (attrs))
config/sh/sh.c:		  || is_attribute_p ("trap_exit", TREE_PURPOSE (attrs))
config/sh/sh.c:		  || is_attribute_p ("nosave_low_regs", TREE_PURPOSE (attrs))
config/sh/sh.c:		  || is_attribute_p ("resbank", TREE_PURPOSE (attrs)))
config/sh/sh.c:	if (is_attribute_p ("function_vector", TREE_PURPOSE (list)))
config/sh/sh.c:    if (is_attribute_p ("function_vector", TREE_PURPOSE (list)))

> diff --git gcc/config/sh/sh.c gcc/config/sh/sh.c
> index 07d5b3c1df5..dfaeab55142 100644
> --- gcc/config/sh/sh.c
> +++ gcc/config/sh/sh.c
> @@ -8646,7 +8646,7 @@ sh2a_function_vector_p (tree func)
>      return false;
>  
>    for (tree list = SH_ATTRIBUTES (func); list; list = TREE_CHAIN (list))
> -    if (is_attribute_p ("function_vector", TREE_PURPOSE (list)))
> +    if (is_attribute_p ("function_vector", get_attribute_name (list)))
>        return true;
>  
>    return false;

	Jakub



More information about the Gcc-patches mailing list