https://gcc.gnu.org/g:20b4b5e6b4344dbbf06b8faa8389885bcc7aa544

commit r17-2304-g20b4b5e6b4344dbbf06b8faa8389885bcc7aa544
Author: Thomas Schwinge <[email protected]>
Date:   Wed Jul 8 23:13:17 2026 +0200

    gcc/system.h: Allow for '#define INCLUDE_ITERATOR' to '#include <iterator>'
    
    This avoids:
    
        In file included from 
/gnu/store/jdibb0iw7n0y56pq3rvz9fmzb4j60acr-gcc-5.5.0/include/c++/bits/basic_ios.h:37:0,
                         from 
/gnu/store/jdibb0iw7n0y56pq3rvz9fmzb4j60acr-gcc-5.5.0/include/c++/ios:44,
                         from 
/gnu/store/jdibb0iw7n0y56pq3rvz9fmzb4j60acr-gcc-5.5.0/include/c++/ostream:38,
                         from 
/gnu/store/jdibb0iw7n0y56pq3rvz9fmzb4j60acr-gcc-5.5.0/include/c++/iterator:64,
                         from ../../source-gcc/gcc/[...]
        
/gnu/store/jdibb0iw7n0y56pq3rvz9fmzb4j60acr-gcc-5.5.0/include/c++/bits/locale_facets.h:247:53:
 error: macro "toupper" passed 2 arguments, but takes just 1
               toupper(char_type *__lo, const char_type* __hi) const
                                                             ^
        [...]
    
            gcc/
            * system.h [INCLUDE_ITERATOR]: '#include <iterator>'.

Diff:
---
 gcc/system.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/system.h b/gcc/system.h
index 5b8323c28e51..f0fa062d469b 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -228,6 +228,9 @@ extern int fprintf_unlocked (FILE *, const char *, ...);
 #ifdef INCLUDE_SSTREAM
 # include <sstream>
 #endif
+#ifdef INCLUDE_ITERATOR
+# include <iterator>
+#endif
 # include <memory>
 # include <cstring>
 # include <initializer_list>

Reply via email to