Re: how multi-line strings handled in gcc-4.0.0?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



cyclops <cyclops64@xxxxxxxxx> writes:

> I found that some files like cpplex.c disappeared from 4.0.0. (Maybe
> in earlier version, i do not know)

It moved to libcpp/lex.c, although I don't know why it matters.

> The thing is in 3.2.3, when compile code like
> 
>  __asm__ ("
>            .set  noat
>            mov   r5,%0
>            mov   r8,%1
>            mov   r9,%2
>            mov   r10,%3
>            svc
>            .set  at"
>            :
>            : "r"(SVC_LSEEK), "r"(file), "r"(ptr), "r"(dir)
>            : "r5", "r8", "r9", "r10"
>            );
> 
> 
> It only gives an warning:  "warning: multi-line string literals are
> deprecated". The code is still generated correctly.
> 
> However, in gcc-4.0.0, it treats the same piece code as error:
> 
> "error: missing terminating " character"
> 
> I know this problem can be solved by add "\" at the end of each line. 
> However, we have a lot of code written in that way, we may not want to
> change them all.  Is there a way to make gcc-4.0.0 to treat those
> multi-line strings as gcc-3.2.3 did?

No.  Sorry.

The easiest fix is to use string concatenation, or to simply put a
backslash (or perhaps "\n\") at the end of each line.

Ian

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux