GNU bug report logs - #40780
guile 3.0.2: Prevent warning using libguile with -Wpedantic (redefinition)

Previous Next

Package: guile;

Reported by: Hannes Müller <h.c.f.mueller <at> gmail.com>

Date: Wed, 22 Apr 2020 19:42:02 UTC

Severity: normal

To reply to this bug, email your comments to 40780 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#40780; Package guile. (Wed, 22 Apr 2020 19:42:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hannes Müller <h.c.f.mueller <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Wed, 22 Apr 2020 19:42:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hannes Müller <h.c.f.mueller <at> gmail.com>
To: bug-guile <at> gnu.org
Subject: guile 3.0.2: Prevent warning using libguile with -Wpedantic
 (redefinition)
Date: Wed, 22 Apr 2020 21:30:52 +0200
Dear Maintainer,

2 warnings as shown below for libguile 3.0.2 (i.e. usage of libguile in
external C code) with gcc 9.3.0 and option -Wpedantic are indicated. In
contrast I get no warnings for libguile 2.2.7 with the same compiler
options. Therefore, please fix this easy to circumvent warning. 

Best regards
Hannes

In file included from /usr/include/guile/3.0/libguile/numbers.h:29,
                 from /usr/include/guile/3.0/libguile/array-
handle.h:27,
                 from /usr/include/guile/3.0/libguile.h:35,
                 from read_cfg.c:7:
/usr/include/guile/3.0/libguile/print.h:79:3: warning: redefinition of
typedef 'scm_print_state' [-Wpedantic]
   79 | } scm_print_state;
      |   ^~~~~~~~~~~~~~~
In file included from /usr/include/guile/3.0/libguile.h:33,
                 from read_cfg.c:7:
/usr/include/guile/3.0/libguile/scm.h:824:32: note: previous
declaration of 'scm_print_state' was here
  824 | typedef struct scm_print_state scm_print_state;
      |                                ^~~~~~~~~~~~~~~


In file included from /usr/include/guile/3.0/libguile/threads.h:27,
                 from /usr/include/guile/3.0/libguile/async.h:25,
                 from /usr/include/guile/3.0/libguile.h:38,
                 from read_cfg.c:7:
/usr/include/guile/3.0/libguile/dynstack.h:37:3: warning: redefinition
of typedef 'scm_t_dynstack' [-Wpedantic]
   37 | } scm_t_dynstack;
      |   ^~~~~~~~~~~~~~
In file included from /usr/include/guile/3.0/libguile.h:33,
                 from read_cfg.c:7:
/usr/include/guile/3.0/libguile/scm.h:825:29: note: previous
declaration of 'scm_t_dynstack' was here
  825 | typedef struct scm_dynstack scm_t_dynstack;
      |                             ^~~~~~~~~~~~~~





Information forwarded to bug-guile <at> gnu.org:
bug#40780; Package guile. (Sat, 05 Dec 2020 18:34:02 GMT) Full text and rfc822 format available.

Message #8 received at 40780 <at> debbugs.gnu.org (full text, mbox):

From: Hannes Müller <h.c.f.mueller <at> gmail.com>
To: 40780 <at> debbugs.gnu.org
Subject: guile 3.0.4: #40780 can be closed (typedef redefinition allowed in
 c11)
Date: Sat, 05 Dec 2020 12:25:25 +0100
Dear Maintainer,

I consider this bug report can be closed.

The 2011 C standard allows redeclaration of typedef names. 6.7 3 says:
… a typedef name may be redefined to denote the same type as it
currently does, provided that type is not a variably modified type;…

I compiled my application with -std=c11 and -Wpedantic using libguile
3.0.4: no warning is shown any more. 

Thanks!
Hannes





This bug report was last modified 3 years and 136 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.