grepc_c(1) General Commands Manual grepc_c(1)

grepc_c - print PCRE patterns for searching C code

grepc_c [option ...] pattern

grepc_c(1) is a driver for grepc(1). It prints PCRE patterns that grepc(1) will use to search for declarations, definitions, and/or uses of pattern in C source code.

pattern is a PCRE pattern. It normally represents a C identifier, and word boundaries are implicitly added to it in most cases.

This program can produce PCRE pattern for several types of code. The following arguments can be passed to the -t option to select the types of code that will be searched.

enum constant definitions.
Function prototypes and definitions. This can be further subdivided into:
Function prototypes.
Function definitions.
Linux kernel system calls. This can be further subdivided into:
Linux kernel system call prototypes.
Linux kernel system call definitions.
glibc internal names of libc functions. This can be further subdivided into:
glibc prototypes.
glibc definitions.
Macro definitions.
Function-like macro definitions.
Other macro definitions.
Type definitions.
Uses. Searches occurences of pattern within enums, function bodies, macro replacements, and type definitions, and prints the whole enum, function, macro, and/or type definitions. In this case there are no word boundaries set by default, so if pattern is open, fopen will also be found; that's to allow searching for patterns containing any sequence of characters.
This can be further subdivided into:
Uses within enum definitions (except as an enum constant).
Uses within function definition bodies.
Uses within macro replacements.
Uses within type definitions (except enum; that is: typedef, struct, or union).

Restrict the search to a specific type of code (see Types of code under DESCRIPTION). This option can be passed multiple times to search for various types of code. Default: e f m t.

alx@devuan:~$ grepc_c -tm alignof;
(?s)^[ \t]*#\s*define\s[\s\\]*alignof\(.*?[^\\]$
(?s)^[ \t]*#\s*define\s[\s\\]*alignof\b(?!\().*?(?<!\\)$
alx@devuan:~$ cd /usr/lib/gcc/;
alx@devuan:/usr/lib/gcc$ pcre2grep -rnMf <(grepc_c -tm alignof) .;
./x86_64-linux-gnu/15/include/stdalign.h:33:#define alignof _Alignof

grepc(1), pcre2grep(1), pcre2syntax(3), pcre2pattern(3)

2026-01-06 Linux man-pages 6.17