Hi! The context sensitive macros are inherently C/C++ specific, so trying to expand them into anything when preprocessing assembler doesn't make any sense to me.
Ok for trunk? 2015-04-01 Jakub Jelinek <ja...@redhat.com> PR preprocessor/61977 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't predefine __vector/__bool/__pixel macros nor context sensitive macros for CLK_ASM. * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly. --- gcc/config/rs6000/rs6000-c.c.jj 2015-01-09 22:00:06.000000000 +0100 +++ gcc/config/rs6000/rs6000-c.c 2015-04-01 10:31:19.127603956 +0200 @@ -420,7 +420,7 @@ rs6000_cpu_cpp_builtins (cpp_reader *pfi if (TARGET_FRSQRTES) builtin_define ("__RSQRTEF__"); - if (TARGET_EXTRA_BUILTINS) + if (TARGET_EXTRA_BUILTINS && cpp_get_options (pfile)->lang != CLK_ASM) { /* Define the AltiVec syntactic elements. */ builtin_define ("__vector=__attribute__((altivec(vector__)))"); --- gcc/config/spu/spu-c.c.jj 2015-01-09 22:00:01.000000000 +0100 +++ gcc/config/spu/spu-c.c 2015-04-01 10:33:20.473610886 +0200 @@ -203,7 +203,8 @@ spu_cpu_cpp_builtins (struct cpp_reader cpp_assert (pfile, "machine=spu"); if (spu_arch == PROCESSOR_CELLEDP) cpp_define (pfile, "__SPU_EDP__"); - cpp_define (pfile, "__vector=__attribute__((__spu_vector__))"); + if (cpp_get_options (pfile)->lang != CLK_ASM) + cpp_define (pfile, "__vector=__attribute__((__spu_vector__))"); switch (spu_ea_model) { case 32: @@ -216,7 +217,7 @@ spu_cpu_cpp_builtins (struct cpp_reader gcc_unreachable (); } - if (!flag_iso) + if (!flag_iso && cpp_get_options (pfile)->lang != CLK_ASM) { /* Define this when supporting context-sensitive keywords. */ cpp_define (pfile, "__VECTOR_KEYWORD_SUPPORTED__"); Jakub