[1/2] Support get_range_query with a nullptr argument

Message ID 20230217214538.2177094-1-apinski@marvell.com
State Accepted
Headers
Series [1/2] Support get_range_query with a nullptr argument |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Andrew Pinski Feb. 17, 2023, 9:45 p.m. UTC
  get_range_query didn't support a nullptr argument
before and would crash.
See also the thread at
https://inbox.sourceware.org/gcc/4f6718af-e17a-41ef-a886-f45e4ac3d7a4@redhat.com/T/

OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.

gcc/ChangeLog:

	* value-query.h (get_range_query): Return the global ranges
	for a nullptr func.
---
 gcc/value-query.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Richard Biener Feb. 20, 2023, 8:01 a.m. UTC | #1
On Fri, Feb 17, 2023 at 10:46 PM Andrew Pinski via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> get_range_query didn't support a nullptr argument
> before and would crash.
> See also the thread at
> https://inbox.sourceware.org/gcc/4f6718af-e17a-41ef-a886-f45e4ac3d7a4@redhat.com/T/
>
> OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.

OK.

> gcc/ChangeLog:
>
>         * value-query.h (get_range_query): Return the global ranges
>         for a nullptr func.
> ---
>  gcc/value-query.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gcc/value-query.h b/gcc/value-query.h
> index 63878968118..2d7bf8fcf33 100644
> --- a/gcc/value-query.h
> +++ b/gcc/value-query.h
> @@ -140,7 +140,7 @@ get_global_range_query ()
>  ATTRIBUTE_RETURNS_NONNULL inline range_query *
>  get_range_query (const struct function *fun)
>  {
> -  return fun->x_range_query ? fun->x_range_query : &global_ranges;
> +  return (fun && fun->x_range_query) ? fun->x_range_query : &global_ranges;
>  }
>
>  // Query the global range of NAME in function F.  Default to cfun.
> --
> 2.17.1
>
  

Patch

diff --git a/gcc/value-query.h b/gcc/value-query.h
index 63878968118..2d7bf8fcf33 100644
--- a/gcc/value-query.h
+++ b/gcc/value-query.h
@@ -140,7 +140,7 @@  get_global_range_query ()
 ATTRIBUTE_RETURNS_NONNULL inline range_query *
 get_range_query (const struct function *fun)
 {
-  return fun->x_range_query ? fun->x_range_query : &global_ranges;
+  return (fun && fun->x_range_query) ? fun->x_range_query : &global_ranges;
 }
 
 // Query the global range of NAME in function F.  Default to cfun.