This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: how multi-line strings handled in gcc-4.0.0?
Ian,
Thanks for your quick answer.
I just did what you said on our newlib-1.10.0, and I got the newlib
built succesfully (at least no error reported).
Then, I tried to build a very simple small program, however, I got error as:
/home/zeal/z64/local/bin/../lib/gcc/z6464-linux-elf/4.0.0/libgcc.a(__main.o):
In function `__do_global_dtors':
/home/zeal/z64/src/gcc-4.0.0/gcc/libgcc2.c:1951: undefined reference
to `__EH_FRAME_BEGIN__'
/home/zeal/z64/src/gcc-4.0.0/gcc/libgcc2.c:1951: undefined reference
to `__EH_FRAME_BEGIN__'
/home/zeal/z64/local/bin/../lib/gcc/z6464-linux-elf/4.0.0/libgcc.a(__main.o):
In function `__do_global_ctors':
/home/zeal/z64/src/gcc-4.0.0/gcc/libgcc2.c:1967: undefined reference
to `__EH_FRAME_BEGIN__'
/home/zeal/z64/src/gcc-4.0.0/gcc/libgcc2.c:1967: undefined reference
to `__EH_FRAME_BEGIN__'
I checked the bugzilla of gcc, it seems somebody report this two month
ago. (It's an unconfirmed bug)
A comment says "This more looks like a missing define rather than
missing symbol."
Any suggestion for solving this?
Thanks for all your kind help.
On 25 May 2005 22:16:35 -0400, Ian Lance Taylor <ian@airs.com> wrote:
> cyclops <cyclops64@gmail.com> 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
>