Skip to content

Build failure with 1.9.13 with GCC 13.0.1_pre20230212 (../../include/sudo_fatal.h:174:31: error: expected identifier or '(' before 'void') #239

@thesamesam

Description

@thesamesam

This is with and without defec5d applied, fwiw.

Clang 16.0.0_rc2 and GCC 12.2.1_p20230211 are fine, but GCC 13.0.1_pre20230212 isn't. Looking into it more now.

Build errors excerpt:

In file included from ./gidlist.c:31:
../../include/sudo_fatal.h:174:1: warning: 'noreturn' attribute ignored [-Wattributes]
  174 | sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:174:31: error: expected identifier or '(' before 'void'
  174 | sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
      |                               ^~~~
../../include/sudo_fatal.h:175:1: warning: 'noreturn' attribute ignored [-Wattributes]
  175 | sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:175:31: error: expected identifier or '(' before 'void'
  175 | sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
      |                               ^~~~
../../include/sudo_fatal.h:176:1: warning: 'noreturn' attribute ignored [-Wattributes]
  176 | sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:176:31: error: expected identifier or '(' before 'void'
  176 | sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
      |                               ^~~~
../../include/sudo_fatal.h:177:1: warning: 'noreturn' attribute ignored [-Wattributes]
  177 | sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:177:31: error: expected identifier or '(' before 'void'
  177 | sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
      |                               ^~~~
../../include/sudo_fatal.h:178:1: warning: 'noreturn' attribute ignored [-Wattributes]
  178 | sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:178:31: error: expected identifier or '(' before 'void'
  178 | sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
      |                               ^~~~
../../include/sudo_fatal.h:179:1: warning: 'noreturn' attribute ignored [-Wattributes]
  179 | sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:179:31: error: expected identifier or '(' before 'void'
  179 | sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
      |                               ^~~~
make[1]: *** [Makefile:918: gidlist.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from ./mkdir_parents.c:42:
../../include/sudo_fatal.h:174:1: warning: 'noreturn' attribute ignored [-Wattributes]
  174 | sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:174:31: error: expected identifier or '(' before 'void'
  174 | sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
      |                               ^~~~
../../include/sudo_fatal.h:175:1: warning: 'noreturn' attribute ignored [-Wattributes]
  175 | sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:175:31: error: expected identifier or '(' before 'void'
  175 | sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
      |                               ^~~~
../../include/sudo_fatal.h:176:1: warning: 'noreturn' attribute ignored [-Wattributes]
  176 | sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:176:31: error: expected identifier or '(' before 'void'
  176 | sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
      |                               ^~~~
../../include/sudo_fatal.h:177:1: warning: 'noreturn' attribute ignored [-Wattributes]
  177 | sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:177:31: error: expected identifier or '(' before 'void'
  177 | sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
      |                               ^~~~
../../include/sudo_fatal.h:178:1: warning: 'noreturn' attribute ignored [-Wattributes]
  178 | sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:178:31: error: expected identifier or '(' before 'void'
  178 | sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
      |                               ^~~~
../../include/sudo_fatal.h:179:1: warning: 'noreturn' attribute ignored [-Wattributes]
  179 | sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:179:31: error: expected identifier or '(' before 'void'
  179 | sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
      |                               ^~~~
make[1]: *** [Makefile:1104: mkdir_parents.lo] Error 1
In file included from ./fatal.c:43:
../../include/sudo_fatal.h:174:1: warning: 'noreturn' attribute ignored [-Wattributes]
  174 | sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:174:31: error: expected identifier or '(' before 'void'
  174 | sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
      |                               ^~~~
../../include/sudo_fatal.h:175:1: warning: 'noreturn' attribute ignored [-Wattributes]
  175 | sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:175:31: error: expected identifier or '(' before 'void'
  175 | sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
      |                               ^~~~
../../include/sudo_fatal.h:176:1: warning: 'noreturn' attribute ignored [-Wattributes]
  176 | sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:176:31: error: expected identifier or '(' before 'void'
  176 | sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
      |                               ^~~~
../../include/sudo_fatal.h:177:1: warning: 'noreturn' attribute ignored [-Wattributes]
  177 | sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:177:31: error: expected identifier or '(' before 'void'
  177 | sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
      |                               ^~~~
../../include/sudo_fatal.h:178:1: warning: 'noreturn' attribute ignored [-Wattributes]
  178 | sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:178:31: error: expected identifier or '(' before 'void'
  178 | sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
      |                               ^~~~
../../include/sudo_fatal.h:179:1: warning: 'noreturn' attribute ignored [-Wattributes]
  179 | sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:179:31: error: expected identifier or '(' before 'void'
  179 | sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
      |                               ^~~~
In file included from ./json.c:38:
../../include/sudo_fatal.h:174:1: warning: 'noreturn' attribute ignored [-Wattributes]
  174 | sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:174:31: error: expected identifier or '(' before 'void'
  174 | sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
      |                               ^~~~
../../include/sudo_fatal.h:175:1: warning: 'noreturn' attribute ignored [-Wattributes]
  175 | sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:175:31: error: expected identifier or '(' before 'void'
  175 | sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
      |                               ^~~~
../../include/sudo_fatal.h:176:1: warning: 'noreturn' attribute ignored [-Wattributes]
  176 | sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:176:31: error: expected identifier or '(' before 'void'
  176 | sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
      |                               ^~~~
../../include/sudo_fatal.h:177:1: warning: 'noreturn' attribute ignored [-Wattributes]
  177 | sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:177:31: error: expected identifier or '(' before 'void'
  177 | sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
      |                               ^~~~
../../include/sudo_fatal.h:178:1: warning: 'noreturn' attribute ignored [-Wattributes]
  178 | sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:178:31: error: expected identifier or '(' before 'void'
  178 | sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
      |                               ^~~~
../../include/sudo_fatal.h:179:1: warning: 'noreturn' attribute ignored [-Wattributes]
  179 | sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:179:31: error: expected identifier or '(' before 'void'
  179 | sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
      |                               ^~~~
./json.c: In function 'json_expand_buf':
../../include/sudo_fatal.h:97:5: warning: implicit declaration of function 'sudo_fatalx_nodebug_v1'; did you mean 'sudo_fatalx_nodebug'? [-Wimplicit-function-declaration]
   97 |     sudo_fatalx_nodebug_v1(__VA_ARGS__);                                       \
      |     ^~~~~~~~~~~~~~~~~~~~~~
./json.c:55:13: note: in expansion of macro 'sudo_fatalx'
   55 |             sudo_fatalx(U_("%s: %s"),
      |             ^~~~~~~~~~~
make[1]: *** [Makefile:712: fatal.lo] Error 1
make[1]: *** [Makefile:1008: json.lo] Error 1
In file included from ./event.c:42:
../../include/sudo_fatal.h:174:1: warning: 'noreturn' attribute ignored [-Wattributes]
  174 | sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:174:31: error: expected identifier or '(' before 'void'
  174 | sudo_dso_public sudo_noreturn void sudo_fatal_nodebug_v1(const char *fmt, ...) sudo_printf0like(1, 2);
      |                               ^~~~
../../include/sudo_fatal.h:175:1: warning: 'noreturn' attribute ignored [-Wattributes]
  175 | sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:175:31: error: expected identifier or '(' before 'void'
  175 | sudo_dso_public sudo_noreturn void sudo_fatalx_nodebug_v1(const char *fmt, ...) sudo_printflike(1, 2);
      |                               ^~~~
../../include/sudo_fatal.h:176:1: warning: 'noreturn' attribute ignored [-Wattributes]
  176 | sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:176:31: error: expected identifier or '(' before 'void'
  176 | sudo_dso_public sudo_noreturn void sudo_gai_fatal_nodebug_v1(int errnum, const char *fmt, ...) sudo_printflike(2, 3);
      |                               ^~~~
../../include/sudo_fatal.h:177:1: warning: 'noreturn' attribute ignored [-Wattributes]
  177 | sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:177:31: error: expected identifier or '(' before 'void'
  177 | sudo_dso_public sudo_noreturn void sudo_vfatal_nodebug_v1(const char *fmt, va_list ap) sudo_printf0like(1, 0);
      |                               ^~~~
../../include/sudo_fatal.h:178:1: warning: 'noreturn' attribute ignored [-Wattributes]
  178 | sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:178:31: error: expected identifier or '(' before 'void'
  178 | sudo_dso_public sudo_noreturn void sudo_vfatalx_nodebug_v1(const char *fmt, va_list ap) sudo_printflike(1, 0);
      |                               ^~~~
../../include/sudo_fatal.h:179:1: warning: 'noreturn' attribute ignored [-Wattributes]
  179 | sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
      | ^~~~~~~~~~~~~~~
../../include/sudo_fatal.h:179:31: error: expected identifier or '(' before 'void'
  179 | sudo_dso_public sudo_noreturn void sudo_gai_vfatal_nodebug_v1(int errnum, const char *fmt, va_list ap) sudo_printflike(2, 0);
      |                               ^~~~
make[1]: *** [Makefile:663: event.lo] Error 1
make[1]: Leaving directory '/var/tmp/portage/app-admin/sudo-1.9.13/work/sudo-1.9.13/lib/util'
make: *** [Makefile:108: all] Error 2

Full log: build.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions