105 lines · c
1// RUN: %clang_cc1 -std=c23 %s -fsyntax-only --embed-dir=%S/Inputs -verify2// expected-no-diagnostics3 4const char data[] = {5#embed <media/art.txt>6};7const char data2[] = {8#embed <media/art.txt>9, 010};11const char data3[] = {12#embed <media/art.txt> suffix(, 0)13};14const char data4[] = {15#embed <media/art.txt> suffix(,)16017};18static_assert(sizeof(data) == 274);19static_assert(' ' == data[0]);20static_assert('_' == data[11]);21static_assert('\n' == data[273]);22static_assert(sizeof(data2) == 275);23static_assert(' ' == data2[0]);24static_assert('_' == data2[11]);25static_assert('\n' == data2[273]);26static_assert('\0' == data2[274]);27static_assert(sizeof(data3) == 275);28static_assert(' ' == data3[0]);29static_assert('_' == data3[11]);30static_assert('\n' == data3[273]);31static_assert('\0' == data3[274]);32static_assert(sizeof(data4) == 275);33static_assert(' ' == data4[0]);34static_assert('_' == data4[11]);35static_assert('\n' == data4[273]);36static_assert('\0' == data4[274]);37 38const signed char data5[] = {39#embed <media/art.txt>40};41const signed char data6[] = {42#embed <media/art.txt>43, 044};45const signed char data7[] = {46#embed <media/art.txt> suffix(, 0)47};48const signed char data8[] = {49#embed <media/art.txt> suffix(,)50051};52static_assert(sizeof(data5) == 274);53static_assert(' ' == data5[0]);54static_assert('_' == data5[11]);55static_assert('\n' == data5[273]);56static_assert(sizeof(data6) == 275);57static_assert(' ' == data6[0]);58static_assert('_' == data6[11]);59static_assert('\n' == data6[273]);60static_assert('\0' == data6[274]);61static_assert(sizeof(data7) == 275);62static_assert(' ' == data7[0]);63static_assert('_' == data7[11]);64static_assert('\n' == data7[273]);65static_assert('\0' == data7[274]);66static_assert(sizeof(data8) == 275);67static_assert(' ' == data8[0]);68static_assert('_' == data8[11]);69static_assert('\n' == data8[273]);70static_assert('\0' == data8[274]);71 72const unsigned char data9[] = {73#embed <media/art.txt>74};75const unsigned char data10[] = {760,77#embed <media/art.txt>78};79const unsigned char data11[] = {80#embed <media/art.txt> prefix(0,)81};82const unsigned char data12[] = {83084#embed <media/art.txt> prefix(,)85};86static_assert(sizeof(data9) == 274);87static_assert(' ' == data9[0]);88static_assert('_' == data9[11]);89static_assert('\n' == data9[273]);90static_assert(sizeof(data10) == 275);91static_assert(' ' == data10[1]);92static_assert('_' == data10[12]);93static_assert('\n' == data10[274]);94static_assert('\0' == data10[0]);95static_assert(sizeof(data11) == 275);96static_assert(' ' == data11[1]);97static_assert('_' == data11[12]);98static_assert('\n' == data11[274]);99static_assert('\0' == data11[0]);100static_assert(sizeof(data12) == 275);101static_assert(' ' == data12[1]);102static_assert('_' == data12[12]);103static_assert('\n' == data12[274]);104static_assert('\0' == data12[0]);105