[build2] [build2 0.7-a.0] error: unterminated string literal (due to asm statements)

Boris Kolpackov boris at codesynthesis.com
Mon Feb 26 11:12:35 UTC 2018


Mueller Tobias (DC-MH/EMF1) <tobias.mueller2 at boschrexroth.de> writes:

> Simple Example (see also attached foo.c):
>   asm volatile("e_li   %r0, 0 \n\
>                 e_li   %r0, 0");

Thanks for the test case (though in the future please don't send the
same report multiple times).

I was able to reproduce this and it appears to be a bug in GCC. I
will report it shortly and will provide the link to the bug report.

There is also a way to work around it in the latest staged version.
You can either configure your project with config.cc.reprocess=true
or you can force some/all object files to be reprocessed by adding
this to your buildfile:

obj{*}: cc.reprocess = true

Note that there will be a slight build performance penalty for
reprocessing source code (and, in the future, such translation
units won't be eligible for distributed compilation) so you may
want to limit this only to object files that are affected, for
example:

obj{foo bar}: cc.reprocess = true

Boris



More information about the users mailing list