On Fri, May 9, 2008 at 7:09 PM, David Daney <ddaney@xxxxxxxxxx> wrote: > David Daney wrote: >> >> Omar wrote: >>> >>> Ok, so after weeks of reading and looking at multiple .md files, I >>> felt ready to give it a try and decided to create some define_split's >>> on my own. >>> I created a define_split RTL pattern which included this condition: >>> "reload_completed >>> && GET_CODE (operands[1]) == MEM >>> && GET_CODE (XEXP (operands[1], 0)) == PLUS" >>> >>> When I try to compile it I get: >>> ../../gcc/config/c816/c816.md:36 error: missing terminating " character >>> ../../gcc/config/c816/c816.md:37: error: stray '\' in program >>> ... >>> >>> If instead, I place the condition all in a single line: >>> "reload_completed && GET_CODE (operands[1]) == MEM && GET_CODE (XEXP >>> (operands[1], 0)) == PLUS" >>> then gcc is happy. >>> >>> I have been searching the web for hours now, but I have not been able >>> to find what is causing this. >>> Does anyone have a suggestion on what might be causing this issue? >>> >> >> It has to be a valid C string. You get that error for the same reason >> that you get it from this program: > > Well that must not be correct, please disregard it. There are multi line > conditions all over the place. > > Sorry for this mis-information. > > David Daney > Yes, I followed the convention used on other ports... That's why I am puzzled with this. I do not think there is an issue with specific piece of code, I am thinking that it might be related with me using an outdated tool (gcc?) or script interpreter (sh?). I might be completly out of touch but that is my best guess at this moment. -Omar