1f08c3bdfSopenharmony_ciextern char string[]; 2f08c3bdfSopenharmony_ciextern int *var; 3f08c3bdfSopenharmony_ci 4f08c3bdfSopenharmony_cistatic void templ(void) 5f08c3bdfSopenharmony_ci{ 6f08c3bdfSopenharmony_ci asm(string); 7f08c3bdfSopenharmony_ci} 8f08c3bdfSopenharmony_ci 9f08c3bdfSopenharmony_cistatic void ocons(void) 10f08c3bdfSopenharmony_ci{ 11f08c3bdfSopenharmony_ci asm("template" : [out] string (var) : [in] "r" (0)); 12f08c3bdfSopenharmony_ci} 13f08c3bdfSopenharmony_ci 14f08c3bdfSopenharmony_cistatic void icons(void) 15f08c3bdfSopenharmony_ci{ 16f08c3bdfSopenharmony_ci asm("template" : [out] "=r" (var): [in] string (0)); 17f08c3bdfSopenharmony_ci} 18f08c3bdfSopenharmony_ci 19f08c3bdfSopenharmony_cistatic void oexpr(void) 20f08c3bdfSopenharmony_ci{ 21f08c3bdfSopenharmony_ci asm("template" : [out] "=" (var[) : [in] "r" (0)); 22f08c3bdfSopenharmony_ci} 23f08c3bdfSopenharmony_ci 24f08c3bdfSopenharmony_cistatic void iexpr(void) 25f08c3bdfSopenharmony_ci{ 26f08c3bdfSopenharmony_ci asm("template" : [out] "=r" (var) : [in] "r" (var[)); 27f08c3bdfSopenharmony_ci} 28f08c3bdfSopenharmony_ci 29f08c3bdfSopenharmony_ci/* 30f08c3bdfSopenharmony_ci * check-name: asm-bad0 31f08c3bdfSopenharmony_ci * 32f08c3bdfSopenharmony_ci * check-error-start 33f08c3bdfSopenharmony_ciasm-bad0.c:6:13: error: string literal expected for inline asm 34f08c3bdfSopenharmony_ciasm-bad0.c:11:32: error: string literal expected for asm constraint 35f08c3bdfSopenharmony_ciasm-bad0.c:16:49: error: string literal expected for asm constraint 36f08c3bdfSopenharmony_ciasm-bad0.c:21:41: error: Expected ] at end of array dereference 37f08c3bdfSopenharmony_ciasm-bad0.c:21:41: error: got ) 38f08c3bdfSopenharmony_ciasm-bad0.c:26:59: error: Expected ] at end of array dereference 39f08c3bdfSopenharmony_ciasm-bad0.c:26:59: error: got ) 40f08c3bdfSopenharmony_ci * check-error-end 41f08c3bdfSopenharmony_ci */ 42