defaults: Use argument in default EH_RETURN_DATA_REGNO definition [PR123115]

All targets use the EH_RETURN_DATA_REGNO macro argument except for
NVPTX which uses the default.
The problem is that we get then -Wunused-but-set-variable warning
when building df-scan.cc for NVPTX target with GCC 16 (post r16-2258
PR44677) on:
      unsigned int i;
      /* Mark the registers that will contain data for the handler.  */
      for (i = 0; ; ++i)
        {
          unsigned regno = EH_RETURN_DATA_REGNO (i);
          if (regno == INVALID_REGNUM)
            break;
If it were multiple targets suffering from this, I'd think about
adding something to use i in loops like this, but as it is
just the default definition, the following patch fixes it by
using the argument.

2026-01-14  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/123115
	* defaults.h (EH_RETURN_DATA_REGNO): Add void (N) to the macro
	definition inside of a comma expression before INVALID_REGNUM.
This commit is contained in:
Jakub Jelinek
2026-01-14 15:56:29 +01:00
committed by Jakub Jelinek
parent fc2ee2f20c
commit 3a05f190ff

View File

@@ -390,7 +390,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* Provide defaults for stuff that may not be defined when using
sjlj exceptions. */
#ifndef EH_RETURN_DATA_REGNO
#define EH_RETURN_DATA_REGNO(N) INVALID_REGNUM
#define EH_RETURN_DATA_REGNO(N) (void (N), INVALID_REGNUM)
#endif
/* Offset between the eh handler address and entry in eh tables. */