RFC: C preprocessor extension: Multiline/block macro definition

Project / Subsystem

gcc / rfc

Date

2026-07-24

Proposer

NomagnoIsNotDead <alvarosaez316@gmail.com>

Source type

public_inbox

Consensus

Proposed

Sentiment

7/10

Technical tradeoffs

  • Adds a new directive, potentially increasing preprocessor complexity.
  • Improves ergonomics for writing multiline macros, avoiding backslash escapes.
  • Requires careful integration into existing preprocessor parsing logic.

All attributes

project
gcc
subsystem
rfc
patch_id
discussion_id
CALzUo856qtVxh8PobEG7Qkf8pp3JkxCeunx7ASbDkmKSeifxbg@mail.gmail.com
source_type
public_inbox
title
RFC: C preprocessor extension: Multiline/block macro definition
headline
RFC: C preprocessor extension: Multiline/block macro definition
tldr
Proposal for a new C preprocessor directive to define multiline macros without backslashes.
proposer
NomagnoIsNotDead <alvarosaez316@gmail.com>
consensus
Proposed
outcome
proposed
sentiment_score
7
technical_tradeoffs
  • Adds a new directive, potentially increasing preprocessor complexity.
  • Improves ergonomics for writing multiline macros, avoiding backslash escapes.
  • Requires careful integration into existing preprocessor parsing logic.
series_id
series_role
standalone
series_parts
[]
tags
  • preprocessor
  • extension
  • macros
  • ergonomics
  • RFC
bugzilla_url
date
2026-07-24T00:00:00.000Z

RFC: C preprocessor extension: Multiline/block macro definition

A proposal outlines a new GNU C preprocessor directive, #startdef/#enddef, to enable multiline macro definitions without requiring trailing backslashes. This ergonomic feature aims to simplify the writing of large, multi-line macros. The author has a prototype and seeks community feedback before developing a full implementation for libcpp, acknowledging the contribution guidelines for GCC frontends.