https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118390

            Bug ID: 118390
           Summary: #embed vs
                    std::to_array<char>/std::initializer_list<char>
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---

Created attachment 60086
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60086&action=edit
testcase: -std=gnu++20

With the attached testcase, GCC outputs:
```
<source>: In function 'int main()':
<source>:12:67: error: too many initializers for 'char [4]'
   12 |      static constexpr auto std_to_char_array = std::to_array<char>({
      |                                                ~~~~~~~~~~~~~~~~~~~^~
   13 |          #embed __FILE__
      |          ~~~~~~~~~~~~~~~                                           
   14 |          , '\0'
      |          ~~~~~~                                                    
   15 |     });
      |     ~~                                                             
<source>:19:5: error: narrowing conversion of ''raw_data_cst' not supported by
dump_expr<expression error>' from 'int' to 'char' [-Wnarrowing]
   19 |     };
      |     ^
```

Forwarded from reddit
(https://www.reddit.com/r/cpp/comments/1hxdv17/experimenting_with_embed/) .

Reply via email to