brintos

brintos / llvm-project-archived public Read only

0
0
Text · 877 B · 70f1bc6 Raw
25 lines · c
1// RUN: %clang_cc1 -std=c23 %s --embed-dir=%S/Inputs -fsyntax-only -verify2 3const char data[] = {4#embed <media/empty> if_empty(123, 124, 125)5};6const char non_empty_data[] = {7#embed <jk.txt> if_empty(123, 124, 125)8};9static_assert(sizeof(data) == 3);10static_assert(123 == data[0]);11static_assert(124 == data[1]);12static_assert(125 == data[2]);13static_assert(sizeof(non_empty_data) == 2);14static_assert('j' == non_empty_data[0]);15static_assert('k' == non_empty_data[1]);16 17// Ensure we diagnose duplicate parameters even if they're the same value.18const unsigned char a[] = {19#embed <jk.txt> if_empty(1) prefix() if_empty(2)20// expected-error@-1 {{cannot specify parameter 'if_empty' twice in the same '#embed' directive}}21,22#embed <jk.txt> if_empty(1) suffix() if_empty(2)23// expected-error@-1 {{cannot specify parameter 'if_empty' twice in the same '#embed' directive}}24};25