Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1271113 > unrolled thread

Bug#1121161: cproto throws warning when processing <sys/types.h>

Started byKenneth Pronovici <pronovic@gmail.com>
First post2025-11-22 03:20 +0100
Last post2025-11-23 01:10 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.debian.bugs.dist


Contents

  Bug#1121161: cproto throws warning when processing <sys/types.h> Kenneth Pronovici <pronovic@gmail.com> - 2025-11-22 03:20 +0100
    Bug#1121161: cproto throws warning when processing <sys/types.h> Thomas Dickey <dickey@invisible-island.net> - 2025-11-23 01:10 +0100

#1271113 — Bug#1121161: cproto throws warning when processing <sys/types.h>

FromKenneth Pronovici <pronovic@gmail.com>
Date2025-11-22 03:20 +0100
SubjectBug#1121161: cproto throws warning when processing <sys/types.h>
Message-ID<LTLod-eLE4-1@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

Package: cproto
Version: 4.7x-1
Severity: normal
Tags: upstream

This captures a bug report sent directly to my debian.org email address.
(I did not initially realize this hadn't been submitted to the BTS.)
I'll adjust the submitter email address shortly.

Ken

-----

Hello Kenneth,

I found the utility 'cproto' throws a warning when processing c source
files with embedded #include <sys/types.h>, e.g.:

$ cproto mkdirpath.c
/* mkdirpath.c */
/usr/include/linux/types.h:12: syntax error at token '__s128'
Expected: ';'
int mkPath(const char *path, const char *user, const char *group, int mode);
int checkPath(const char *path, const char *user, const char *group,
int mode, int cflag, char **fail);

This error can be reproduced on debian trixie, 'x86_64-linux-gnu'
(intel) and  'arm-linux-gnueabihf' (raspberry-pi) platform.
The installed cproto packet is cproto_4.7x-1_amd64.deb.
The error occured first after update from debian bookworm to trixie
and I suspect types.h is the culprit.
Unfortuantely it's beyond my skills to dig into these header files.

I attach the test file mkdirpath.c
Hopefully it's useful to reproduce the error.

-- System Information:
Debian Release: 13.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.57+deb13-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages cproto depends on:
ii  gcc    4:14.2.0-1
ii  libc6  2.41-12

cproto recommends no packages.

cproto suggests no packages.

-- no debconf information

[toc] | [next] | [standalone]


#1271238

FromThomas Dickey <dickey@invisible-island.net>
Date2025-11-23 01:10 +0100
Message-ID<LU5PX-f10M-1@gated-at.bofh.it>
In reply to#1271113

[Multipart message — attachments visible in raw view] — view raw

On Fri, Nov 21, 2025 at 08:13:57PM -0600, Kenneth Pronovici wrote:
> Package: cproto
> Version: 4.7x-1
> Severity: normal
> Tags: upstream
...
> I found the utility 'cproto' throws a warning when processing c source
> files with embedded #include <sys/types.h>, e.g.:
> 
> $ cproto mkdirpath.c
> /* mkdirpath.c */
> /usr/include/linux/types.h:12: syntax error at token '__s128'
> Expected: ';'
> int mkPath(const char *path, const char *user, const char *group, int mode);
> int checkPath(const char *path, const char *user, const char *group,
> int mode, int cflag, char **fail);
> 
> This error can be reproduced on debian trixie, 'x86_64-linux-gnu'
> (intel) and  'arm-linux-gnueabihf' (raspberry-pi) platform.
> The installed cproto packet is cproto_4.7x-1_amd64.deb.
> The error occured first after update from debian bookworm to trixie
> and I suspect types.h is the culprit.
> Unfortuantely it's beyond my skills to dig into these header files.

/usr/include/linux/types.h at line 12 has this:

#ifdef __SIZEOF_INT128__
typedef __signed__ __int128 __s128 __attribute__((aligned(16)));
typedef unsigned __int128 __u128 __attribute__((aligned(16)));
#endif

which uses gcc "extensions" (i.e., alternate spellings of standard C keywords
used to help people write non-portable code).  cproto has a few of those.

https://github.com/ThomasDickey/cproto-snapshots/blob/master/keywords.gperf

This page lists some more, which gcc added since the last time this problem
was pointed out:

https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#Keywords

clang lists some, but doesn't bother to point out which are "extensions":

https://clang.llvm.org/docs/LanguageExtensions.html

-- 
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web