Bug 125831 - [C++29] P3733R1, More named universal character escapes
Summary: [C++29] P3733R1, More named universal character escapes
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 17.0
: P3 normal
Target Milestone: 17.0
Assignee: Jakub Jelinek
URL: https://gcc.gnu.org/pipermail/gcc-pat...
Keywords: c++29
Depends on:
Blocks: c++29-core
  Show dependency treegraph
 
Reported: 2026-06-16 18:22 UTC by Marek Polacek
Modified: 2026-08-06 10:40 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2026-06-16 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marek Polacek 2026-06-16 18:22:58 UTC
Accepted as a DR.  See <https://wg21.link/P3733R1>.
Comment 1 Marek Polacek 2026-06-16 18:24:34 UTC
Patch: <https://gcc.gnu.org/pipermail/gcc-patches/2026-June/720060.html>
Comment 2 Jakub Jelinek 2026-08-06 10:40:52 UTC
https://gcc.gnu.org/g:72c343684eb8d257bf27770d844159738a83470a                                                                                                                        
                                                                                                                                                                                      
commit r17-3022-g72c343684eb8d257bf27770d844159738a83470a                                                                                                                             
Author: Jakub Jelinek <jakub@redhat.com>                                                                                                                                              
Date:   Thu Aug 6 11:52:51 2026 +0200                                                                                                                                                 
                                                                                                                                                                                      
    libcpp, c-family: Implement C++29 P3733R1 - More named universal character escapes                                                                                                
                                                                                                                                                                                      
    The following patch attempts to implement                                                                                                                                         
    C++29 P3733R1 - More named universal character escapes                                                                                                                            
    paper as a DR.                                                                                                                                                                    
                                                                                                                                                                                      
    2026-08-06  Jakub Jelinek  <jakub@redhat.com>                                                                                                                                     
                                                                                                                                                                                      
    gcc/c-family/                                                                                                                                                                     
            * c-cppbuiltin.cc (c_cpp_builtins): Change                                                                                                                                
            __cpp_named_character_escapes value from 202207L to 202606L.                                                                                                              
    gcc/testsuite/                                                                                                                                                                    
            * c-c++-common/cpp/named-universal-char-escape-3.c: Remove two                                                                                                            
            expected errors.                                                                                                                                                          
            * c-c++-common/cpp/named-universal-char-escape-8.c: New test.                                                                                                             
            * g++.dg/DRs/dr2581-2.C: Adjust __cpp_named_character_escapes value.                                                                                                      
            * g++.dg/cpp23/feat-cxx2b.C (__cpp_named_character_escapes): Expect                                                                                                       
            202606L rather than 202207L.                                                                                                                                              
            * g++.dg/cpp26/feat-cxx26.C (__cpp_named_character_escapes): Likewise.                                                                                                    
            * g++.dg/cpp29/feat-cxx29.C (__cpp_named_character_escapes): Likewise.                                                                                                    
    libcpp/                                                                                                                                                                           
            * makeuname2c.cc: Implement C++29 P3733R1 - More named universal                                                                                                          
            character escapes as a DR.                                                                                                                                                
            (read_table): Don't ignore figment and abbreviation aliases.                                                                                                              
            * uname2c.h: Regenerate.                                                                                                                                                  
                                                                                                                                                                                      
    Reviewed-by: Jason Merrill <jason@redhat.com>