Landing: 20b4b5e6b434

Project / Subsystem

gcc / gcc/system.h

Date

2026-07-08

Author

Thomas Schwinge

Commit

20b4b5e6b4344dbbf06b8faa8389885bcc7aa544

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc/system.h
patch_id
commit_hash
20b4b5e6b4344dbbf06b8faa8389885bcc7aa544
source_type
github
headline
gcc/system.h: Allow conditional include of <iterator>.
tldr
Includes <iterator> conditionally in system.h to resolve macro conflicts.
author
Thomas Schwinge
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • build
  • gcc
  • header handling
  • compiler
discussion_id_link
bugzilla_pr
date
2026-07-08T00:00:00.000Z

The gcc/system.h header now conditionally includes <iterator> when INCLUDE_ITERATOR is defined. This change resolves a conflict where the toupper macro, defined in <locale_facets.h>, was being passed two arguments when <iterator> was included transitively, causing a compile error. The fix allows users to opt into including <iterator> when necessary without triggering the macro issue.