| /* P3733R1 - More named universal character escapes */ |
| /* { dg-do run } */ |
| /* { dg-require-effective-target wchar } */ |
| /* { dg-options "-std=gnu99 -Wno-c++-compat" { target c } } */ |
| /* { dg-options "-std=c++23" { target c++ } } */ |
| |
| #ifndef __cplusplus |
| #include <wchar.h> |
| typedef __CHAR16_TYPE__ char16_t; |
| typedef __CHAR32_TYPE__ char32_t; |
| #endif |
| |
| #ifdef __cplusplus |
| #if U'\u0080' != U'\N{PADDING CHARACTER}' \ |
| || U'\u0081' != U'\N{HIGH OCTET PRESET}' \ |
| || U'\u0099' != U'\N{SINGLE GRAPHIC CHARACTER INTRODUCER}' \ |
| || U'\u0000' != U'\N{NUL}' \ |
| || U'\u0001' != U'\N{SOH}' \ |
| || U'\u0002' != U'\N{STX}' \ |
| || U'\u0003' != U'\N{ETX}' \ |
| || U'\u0004' != U'\N{EOT}' \ |
| || U'\u0005' != U'\N{ENQ}' \ |
| || U'\u0006' != U'\N{ACK}' \ |
| || U'\u0007' != U'\N{BEL}' \ |
| || U'\u0008' != U'\N{BS}' \ |
| || U'\u0009' != U'\N{HT}' \ |
| || U'\u0009' != U'\N{TAB}' \ |
| || U'\u000A' != U'\N{LF}' \ |
| || U'\u000A' != U'\N{NL}' \ |
| || U'\u000A' != U'\N{EOL}' \ |
| || U'\u000B' != U'\N{VT}' \ |
| || U'\u000C' != U'\N{FF}' \ |
| || U'\u000D' != U'\N{CR}' \ |
| || U'\u000E' != U'\N{SO}' \ |
| || U'\u000F' != U'\N{SI}' \ |
| || U'\u0010' != U'\N{DLE}' \ |
| || U'\u0011' != U'\N{DC1}' \ |
| || U'\u0012' != U'\N{DC2}' \ |
| || U'\u0013' != U'\N{DC3}' \ |
| || U'\u0014' != U'\N{DC4}' \ |
| || U'\u0015' != U'\N{NAK}' \ |
| || U'\u0016' != U'\N{SYN}' \ |
| || U'\u0017' != U'\N{ETB}' \ |
| || U'\u0018' != U'\N{CAN}' \ |
| || U'\u0019' != U'\N{EOM}' \ |
| || U'\u0019' != U'\N{EM}' \ |
| || U'\u001A' != U'\N{SUB}' \ |
| || U'\u001B' != U'\N{ESC}' \ |
| || U'\u001C' != U'\N{FS}' \ |
| || U'\u001D' != U'\N{GS}' \ |
| || U'\u001E' != U'\N{RS}' \ |
| || U'\u001F' != U'\N{US}' \ |
| || U'\u0020' != U'\N{SP}' \ |
| || U'\u007F' != U'\N{DEL}' \ |
| || U'\u0080' != U'\N{PAD}' \ |
| || U'\u0081' != U'\N{HOP}' \ |
| || U'\u0082' != U'\N{BPH}' \ |
| || U'\u0083' != U'\N{NBH}' \ |
| || U'\u0084' != U'\N{IND}' \ |
| || U'\u0085' != U'\N{NEL}' \ |
| || U'\u0086' != U'\N{SSA}' \ |
| || U'\u0087' != U'\N{ESA}' \ |
| || U'\u0088' != U'\N{HTS}' \ |
| || U'\u0089' != U'\N{HTJ}' \ |
| || U'\u008A' != U'\N{VTS}' \ |
| || U'\u008B' != U'\N{PLD}' \ |
| || U'\u008C' != U'\N{PLU}' \ |
| || U'\u008D' != U'\N{RI}' \ |
| || U'\u008E' != U'\N{SS2}' \ |
| || U'\u008F' != U'\N{SS3}' \ |
| || U'\u0090' != U'\N{DCS}' \ |
| || U'\u0091' != U'\N{PU1}' \ |
| || U'\u0092' != U'\N{PU2}' \ |
| || U'\u0093' != U'\N{STS}' \ |
| || U'\u0094' != U'\N{CCH}' \ |
| || U'\u0095' != U'\N{MW}' \ |
| || U'\u0096' != U'\N{SPA}' \ |
| || U'\u0097' != U'\N{EPA}' \ |
| || U'\u0098' != U'\N{SOS}' \ |
| || U'\u0099' != U'\N{SGC}' \ |
| || U'\u009A' != U'\N{SCI}' \ |
| || U'\u009B' != U'\N{CSI}' \ |
| || U'\u009C' != U'\N{ST}' \ |
| || U'\u009D' != U'\N{OSC}' \ |
| || U'\u009E' != U'\N{PM}' \ |
| || U'\u009F' != U'\N{APC}' \ |
| || U'\u00A0' != U'\N{NBSP}' \ |
| || U'\u00AD' != U'\N{SHY}' \ |
| || U'\u034F' != U'\N{CGJ}' \ |
| || U'\u061C' != U'\N{ALM}' \ |
| || U'\u180B' != U'\N{FVS1}' \ |
| || U'\u180C' != U'\N{FVS2}' \ |
| || U'\u180D' != U'\N{FVS3}' \ |
| || U'\u180E' != U'\N{MVS}' \ |
| || U'\u180F' != U'\N{FVS4}' \ |
| || U'\u200B' != U'\N{ZWSP}' \ |
| || U'\u200C' != U'\N{ZWNJ}' \ |
| || U'\u200D' != U'\N{ZWJ}' \ |
| || U'\u200E' != U'\N{LRM}' \ |
| || U'\u200F' != U'\N{RLM}' \ |
| || U'\u202A' != U'\N{LRE}' \ |
| || U'\u202B' != U'\N{RLE}' \ |
| || U'\u202C' != U'\N{PDF}' \ |
| || U'\u202D' != U'\N{LRO}' \ |
| || U'\u202E' != U'\N{RLO}' \ |
| || U'\u202F' != U'\N{NNBSP}' \ |
| || U'\u205F' != U'\N{MMSP}' \ |
| || U'\u2060' != U'\N{WJ}' \ |
| || U'\u2066' != U'\N{LRI}' \ |
| || U'\u2067' != U'\N{RLI}' \ |
| || U'\u2068' != U'\N{FSI}' \ |
| || U'\u2069' != U'\N{PDI}' \ |
| || U'\uFE00' != U'\N{VS1}' \ |
| || U'\uFE01' != U'\N{VS2}' \ |
| || U'\uFE02' != U'\N{VS3}' \ |
| || U'\uFE03' != U'\N{VS4}' \ |
| || U'\uFE04' != U'\N{VS5}' \ |
| || U'\uFE05' != U'\N{VS6}' \ |
| || U'\uFE06' != U'\N{VS7}' \ |
| || U'\uFE07' != U'\N{VS8}' \ |
| || U'\uFE08' != U'\N{VS9}' \ |
| || U'\uFE09' != U'\N{VS10}' \ |
| || U'\uFE0A' != U'\N{VS11}' \ |
| || U'\uFE0B' != U'\N{VS12}' \ |
| || U'\uFE0C' != U'\N{VS13}' \ |
| || U'\uFE0D' != U'\N{VS14}' \ |
| || U'\uFE0E' != U'\N{VS15}' \ |
| || U'\uFE0F' != U'\N{VS16}' \ |
| || U'\uFEFF' != U'\N{BOM}' \ |
| || U'\uFEFF' != U'\N{ZWNBSP}' \ |
| || U'\U0002FA1D' != U'\N{CJK COMPATIBILITY IDEOGRAPH-2FA1D}' |
| || U'\U000E0100' != U'\N{VS17}' \ |
| || U'\U000E0101' != U'\N{VS18}' \ |
| || U'\U000E0102' != U'\N{VS19}' \ |
| || U'\U000E0103' != U'\N{VS20}' \ |
| || U'\U000E0104' != U'\N{VS21}' \ |
| || U'\U000E0105' != U'\N{VS22}' \ |
| || U'\U000E0106' != U'\N{VS23}' \ |
| || U'\U000E0107' != U'\N{VS24}' \ |
| || U'\U000E0108' != U'\N{VS25}' \ |
| || U'\U000E0109' != U'\N{VS26}' \ |
| || U'\U000E010A' != U'\N{VS27}' \ |
| || U'\U000E010B' != U'\N{VS28}' \ |
| || U'\U000E010C' != U'\N{VS29}' \ |
| || U'\U000E010D' != U'\N{VS30}' \ |
| || U'\U000E010E' != U'\N{VS31}' \ |
| || U'\U000E010F' != U'\N{VS32}' \ |
| || U'\U000E0110' != U'\N{VS33}' \ |
| || U'\U000E0111' != U'\N{VS34}' \ |
| || U'\U000E0112' != U'\N{VS35}' \ |
| || U'\U000E0113' != U'\N{VS36}' \ |
| || U'\U000E0114' != U'\N{VS37}' \ |
| || U'\U000E0115' != U'\N{VS38}' \ |
| || U'\U000E0116' != U'\N{VS39}' \ |
| || U'\U000E0117' != U'\N{VS40}' \ |
| || U'\U000E0118' != U'\N{VS41}' \ |
| || U'\U000E0119' != U'\N{VS42}' \ |
| || U'\U000E011A' != U'\N{VS43}' \ |
| || U'\U000E011B' != U'\N{VS44}' \ |
| || U'\U000E011C' != U'\N{VS45}' \ |
| || U'\U000E011D' != U'\N{VS46}' \ |
| || U'\U000E011E' != U'\N{VS47}' \ |
| || U'\U000E011F' != U'\N{VS48}' \ |
| || U'\U000E0120' != U'\N{VS49}' \ |
| || U'\U000E0121' != U'\N{VS50}' \ |
| || U'\U000E0122' != U'\N{VS51}' \ |
| || U'\U000E0123' != U'\N{VS52}' \ |
| || U'\U000E0124' != U'\N{VS53}' \ |
| || U'\U000E0125' != U'\N{VS54}' \ |
| || U'\U000E0126' != U'\N{VS55}' \ |
| || U'\U000E0127' != U'\N{VS56}' \ |
| || U'\U000E0128' != U'\N{VS57}' \ |
| || U'\U000E0129' != U'\N{VS58}' \ |
| || U'\U000E012A' != U'\N{VS59}' \ |
| || U'\U000E012B' != U'\N{VS60}' \ |
| || U'\U000E012C' != U'\N{VS61}' \ |
| || U'\U000E012D' != U'\N{VS62}' \ |
| || U'\U000E012E' != U'\N{VS63}' \ |
| || U'\U000E012F' != U'\N{VS64}' \ |
| || U'\U000E0130' != U'\N{VS65}' \ |
| || U'\U000E0131' != U'\N{VS66}' \ |
| || U'\U000E0132' != U'\N{VS67}' \ |
| || U'\U000E0133' != U'\N{VS68}' \ |
| || U'\U000E0134' != U'\N{VS69}' \ |
| || U'\U000E0135' != U'\N{VS70}' \ |
| || U'\U000E0136' != U'\N{VS71}' \ |
| || U'\U000E0137' != U'\N{VS72}' \ |
| || U'\U000E0138' != U'\N{VS73}' \ |
| || U'\U000E0139' != U'\N{VS74}' \ |
| || U'\U000E013A' != U'\N{VS75}' \ |
| || U'\U000E013B' != U'\N{VS76}' \ |
| || U'\U000E013C' != U'\N{VS77}' \ |
| || U'\U000E013D' != U'\N{VS78}' \ |
| || U'\U000E013E' != U'\N{VS79}' \ |
| || U'\U000E013F' != U'\N{VS80}' \ |
| || U'\U000E0140' != U'\N{VS81}' \ |
| || U'\U000E0141' != U'\N{VS82}' \ |
| || U'\U000E0142' != U'\N{VS83}' \ |
| || U'\U000E0143' != U'\N{VS84}' \ |
| || U'\U000E0144' != U'\N{VS85}' \ |
| || U'\U000E0145' != U'\N{VS86}' \ |
| || U'\U000E0146' != U'\N{VS87}' \ |
| || U'\U000E0147' != U'\N{VS88}' \ |
| || U'\U000E0148' != U'\N{VS89}' \ |
| || U'\U000E0149' != U'\N{VS90}' \ |
| || U'\U000E014A' != U'\N{VS91}' \ |
| || U'\U000E014B' != U'\N{VS92}' \ |
| || U'\U000E014C' != U'\N{VS93}' \ |
| || U'\U000E014D' != U'\N{VS94}' \ |
| || U'\U000E014E' != U'\N{VS95}' \ |
| || U'\U000E014F' != U'\N{VS96}' \ |
| || U'\U000E0150' != U'\N{VS97}' \ |
| || U'\U000E0151' != U'\N{VS98}' \ |
| || U'\U000E0152' != U'\N{VS99}' \ |
| || U'\U000E0153' != U'\N{VS100}' \ |
| || U'\U000E0154' != U'\N{VS101}' \ |
| || U'\U000E0155' != U'\N{VS102}' \ |
| || U'\U000E0156' != U'\N{VS103}' \ |
| || U'\U000E0157' != U'\N{VS104}' \ |
| || U'\U000E0158' != U'\N{VS105}' \ |
| || U'\U000E0159' != U'\N{VS106}' \ |
| || U'\U000E015A' != U'\N{VS107}' \ |
| || U'\U000E015B' != U'\N{VS108}' \ |
| || U'\U000E015C' != U'\N{VS109}' \ |
| || U'\U000E015D' != U'\N{VS110}' \ |
| || U'\U000E015E' != U'\N{VS111}' \ |
| || U'\U000E015F' != U'\N{VS112}' \ |
| || U'\U000E0160' != U'\N{VS113}' \ |
| || U'\U000E0161' != U'\N{VS114}' \ |
| || U'\U000E0162' != U'\N{VS115}' \ |
| || U'\U000E0163' != U'\N{VS116}' \ |
| || U'\U000E0164' != U'\N{VS117}' \ |
| || U'\U000E0165' != U'\N{VS118}' \ |
| || U'\U000E0166' != U'\N{VS119}' \ |
| || U'\U000E0167' != U'\N{VS120}' \ |
| || U'\U000E0168' != U'\N{VS121}' \ |
| || U'\U000E0169' != U'\N{VS122}' \ |
| || U'\U000E016A' != U'\N{VS123}' \ |
| || U'\U000E016B' != U'\N{VS124}' \ |
| || U'\U000E016C' != U'\N{VS125}' \ |
| || U'\U000E016D' != U'\N{VS126}' \ |
| || U'\U000E016E' != U'\N{VS127}' \ |
| || U'\U000E016F' != U'\N{VS128}' \ |
| || U'\U000E0170' != U'\N{VS129}' \ |
| || U'\U000E0171' != U'\N{VS130}' \ |
| || U'\U000E0172' != U'\N{VS131}' \ |
| || U'\U000E0173' != U'\N{VS132}' \ |
| || U'\U000E0174' != U'\N{VS133}' \ |
| || U'\U000E0175' != U'\N{VS134}' \ |
| || U'\U000E0176' != U'\N{VS135}' \ |
| || U'\U000E0177' != U'\N{VS136}' \ |
| || U'\U000E0178' != U'\N{VS137}' \ |
| || U'\U000E0179' != U'\N{VS138}' \ |
| || U'\U000E017A' != U'\N{VS139}' \ |
| || U'\U000E017B' != U'\N{VS140}' \ |
| || U'\U000E017C' != U'\N{VS141}' \ |
| || U'\U000E017D' != U'\N{VS142}' \ |
| || U'\U000E017E' != U'\N{VS143}' \ |
| || U'\U000E017F' != U'\N{VS144}' \ |
| || U'\U000E0180' != U'\N{VS145}' \ |
| || U'\U000E0181' != U'\N{VS146}' \ |
| || U'\U000E0182' != U'\N{VS147}' \ |
| || U'\U000E0183' != U'\N{VS148}' \ |
| || U'\U000E0184' != U'\N{VS149}' \ |
| || U'\U000E0185' != U'\N{VS150}' \ |
| || U'\U000E0186' != U'\N{VS151}' \ |
| || U'\U000E0187' != U'\N{VS152}' \ |
| || U'\U000E0188' != U'\N{VS153}' \ |
| || U'\U000E0189' != U'\N{VS154}' \ |
| || U'\U000E018A' != U'\N{VS155}' \ |
| || U'\U000E018B' != U'\N{VS156}' \ |
| || U'\U000E018C' != U'\N{VS157}' \ |
| || U'\U000E018D' != U'\N{VS158}' \ |
| || U'\U000E018E' != U'\N{VS159}' \ |
| || U'\U000E018F' != U'\N{VS160}' \ |
| || U'\U000E0190' != U'\N{VS161}' \ |
| || U'\U000E0191' != U'\N{VS162}' \ |
| || U'\U000E0192' != U'\N{VS163}' \ |
| || U'\U000E0193' != U'\N{VS164}' \ |
| || U'\U000E0194' != U'\N{VS165}' \ |
| || U'\U000E0195' != U'\N{VS166}' \ |
| || U'\U000E0196' != U'\N{VS167}' \ |
| || U'\U000E0197' != U'\N{VS168}' \ |
| || U'\U000E0198' != U'\N{VS169}' \ |
| || U'\U000E0199' != U'\N{VS170}' \ |
| || U'\U000E019A' != U'\N{VS171}' \ |
| || U'\U000E019B' != U'\N{VS172}' \ |
| || U'\U000E019C' != U'\N{VS173}' \ |
| || U'\U000E019D' != U'\N{VS174}' \ |
| || U'\U000E019E' != U'\N{VS175}' \ |
| || U'\U000E019F' != U'\N{VS176}' \ |
| || U'\U000E01A0' != U'\N{VS177}' \ |
| || U'\U000E01A1' != U'\N{VS178}' \ |
| || U'\U000E01A2' != U'\N{VS179}' \ |
| || U'\U000E01A3' != U'\N{VS180}' \ |
| || U'\U000E01A4' != U'\N{VS181}' \ |
| || U'\U000E01A5' != U'\N{VS182}' \ |
| || U'\U000E01A6' != U'\N{VS183}' \ |
| || U'\U000E01A7' != U'\N{VS184}' \ |
| || U'\U000E01A8' != U'\N{VS185}' \ |
| || U'\U000E01A9' != U'\N{VS186}' \ |
| || U'\U000E01AA' != U'\N{VS187}' \ |
| || U'\U000E01AB' != U'\N{VS188}' \ |
| || U'\U000E01AC' != U'\N{VS189}' \ |
| || U'\U000E01AD' != U'\N{VS190}' \ |
| || U'\U000E01AE' != U'\N{VS191}' \ |
| || U'\U000E01AF' != U'\N{VS192}' \ |
| || U'\U000E01B0' != U'\N{VS193}' \ |
| || U'\U000E01B1' != U'\N{VS194}' \ |
| || U'\U000E01B2' != U'\N{VS195}' \ |
| || U'\U000E01B3' != U'\N{VS196}' \ |
| || U'\U000E01B4' != U'\N{VS197}' \ |
| || U'\U000E01B5' != U'\N{VS198}' \ |
| || U'\U000E01B6' != U'\N{VS199}' \ |
| || U'\U000E01B7' != U'\N{VS200}' \ |
| || U'\U000E01B8' != U'\N{VS201}' \ |
| || U'\U000E01B9' != U'\N{VS202}' \ |
| || U'\U000E01BA' != U'\N{VS203}' \ |
| || U'\U000E01BB' != U'\N{VS204}' \ |
| || U'\U000E01BC' != U'\N{VS205}' \ |
| || U'\U000E01BD' != U'\N{VS206}' \ |
| || U'\U000E01BE' != U'\N{VS207}' \ |
| || U'\U000E01BF' != U'\N{VS208}' \ |
| || U'\U000E01C0' != U'\N{VS209}' \ |
| || U'\U000E01C1' != U'\N{VS210}' \ |
| || U'\U000E01C2' != U'\N{VS211}' \ |
| || U'\U000E01C3' != U'\N{VS212}' \ |
| || U'\U000E01C4' != U'\N{VS213}' \ |
| || U'\U000E01C5' != U'\N{VS214}' \ |
| || U'\U000E01C6' != U'\N{VS215}' \ |
| || U'\U000E01C7' != U'\N{VS216}' \ |
| || U'\U000E01C8' != U'\N{VS217}' \ |
| || U'\U000E01C9' != U'\N{VS218}' \ |
| || U'\U000E01CA' != U'\N{VS219}' \ |
| || U'\U000E01CB' != U'\N{VS220}' \ |
| || U'\U000E01CC' != U'\N{VS221}' \ |
| || U'\U000E01CD' != U'\N{VS222}' \ |
| || U'\U000E01CE' != U'\N{VS223}' \ |
| || U'\U000E01CF' != U'\N{VS224}' \ |
| || U'\U000E01D0' != U'\N{VS225}' \ |
| || U'\U000E01D1' != U'\N{VS226}' \ |
| || U'\U000E01D2' != U'\N{VS227}' \ |
| || U'\U000E01D3' != U'\N{VS228}' \ |
| || U'\U000E01D4' != U'\N{VS229}' \ |
| || U'\U000E01D5' != U'\N{VS230}' \ |
| || U'\U000E01D6' != U'\N{VS231}' \ |
| || U'\U000E01D7' != U'\N{VS232}' \ |
| || U'\U000E01D8' != U'\N{VS233}' \ |
| || U'\U000E01D9' != U'\N{VS234}' \ |
| || U'\U000E01DA' != U'\N{VS235}' \ |
| || U'\U000E01DB' != U'\N{VS236}' \ |
| || U'\U000E01DC' != U'\N{VS237}' \ |
| || U'\U000E01DD' != U'\N{VS238}' \ |
| || U'\U000E01DE' != U'\N{VS239}' \ |
| || U'\U000E01DF' != U'\N{VS240}' \ |
| || U'\U000E01E0' != U'\N{VS241}' \ |
| || U'\U000E01E1' != U'\N{VS242}' \ |
| || U'\U000E01E2' != U'\N{VS243}' \ |
| || U'\U000E01E3' != U'\N{VS244}' \ |
| || U'\U000E01E4' != U'\N{VS245}' \ |
| || U'\U000E01E5' != U'\N{VS246}' \ |
| || U'\U000E01E6' != U'\N{VS247}' \ |
| || U'\U000E01E7' != U'\N{VS248}' \ |
| || U'\U000E01E8' != U'\N{VS249}' \ |
| || U'\U000E01E9' != U'\N{VS250}' \ |
| || U'\U000E01EA' != U'\N{VS251}' \ |
| || U'\U000E01EB' != U'\N{VS252}' \ |
| || U'\U000E01EC' != U'\N{VS253}' \ |
| || U'\U000E01ED' != U'\N{VS254}' \ |
| || U'\U000E01EE' != U'\N{VS255}' \ |
| || U'\U000E01EF' != U'\N{VS256}' |
| #error Bad |
| #endif |
| #endif |
| |
| const char32_t *a = U"\N{PADDING CHARACTER}\N{HIGH OCTET PRESET}\N{SINGLE GRAPHIC CHARACTER INTRODUCER}"; |
| const char32_t *b = U"\N{BEL}\N{NL}\N{CGJ}\N{ZWNJ}\N{VS4}\N{ZWNBSP}\N{BOM}\N{VS46}\N{NUL}"; |
| |
| int |
| main () |
| { |
| if (a[0] != U'\u0080' || a[1] != U'\u0081' || a[2] != U'\u0099' || a[3] |
| || b[0] != U'\u0007' || b[1] != U'\u000A' || b[2] != U'\u034F' || b[3] != U'\u200C' |
| || b[4] != U'\uFE03' || b[5] != U'\uFEFF' || b[6] != U'\uFEFF' || b[7] != U'\U000E011D' |
| || b[8] || b[9]) |
| __builtin_abort (); |
| return 0; |
| } |