[lld] r273426 - [ELF] - Show explicit error if extern keyword is used in version script.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 22 19:25:58 PDT 2016


Also, when you find an error, you want to return after setError because
setError is not a _Noreturn function.

On Thu, Jun 23, 2016 at 1:35 AM, Rafael EspĂ­ndola <
llvm-commits at lists.llvm.org> wrote:

> Move the check past
>
> StringRef Cur = peek();
>
> and you can reuse Cur.
>
> Cheers,
> Rafael
>
>
> On 22 June 2016 at 11:02, George Rimar via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
> > Author: grimar
> > Date: Wed Jun 22 10:02:57 2016
> > New Revision: 273426
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=273426&view=rev
> > Log:
> > [ELF] - Show explicit error if extern keyword is used in version script.
> >
> > Since we do not have plans to support it in closest future,
> > it is better than common script parsing error.
> >
> > Modified:
> >     lld/trunk/ELF/SymbolListFile.cpp
> >     lld/trunk/test/ELF/version-script-err.s
> >
> > Modified: lld/trunk/ELF/SymbolListFile.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolListFile.cpp?rev=273426&r1=273425&r2=273426&view=diff
> >
> ==============================================================================
> > --- lld/trunk/ELF/SymbolListFile.cpp (original)
> > +++ lld/trunk/ELF/SymbolListFile.cpp Wed Jun 22 10:02:57 2016
> > @@ -116,6 +116,8 @@ void VersionScriptParser::parseVersionSy
> >    }
> >
> >    for (;;) {
> > +    if (peek() == "extern")
> > +      setError("extern keyword is not supported");
> >      StringRef Cur = peek();
> >      if (Cur == "}" || Cur == "local:" || Error)
> >        return;
> >
> > Modified: lld/trunk/test/ELF/version-script-err.s
> > URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/version-script-err.s?rev=273426&r1=273425&r2=273426&view=diff
> >
> ==============================================================================
> > --- lld/trunk/test/ELF/version-script-err.s (original)
> > +++ lld/trunk/test/ELF/version-script-err.s Wed Jun 22 10:02:57 2016
> > @@ -8,3 +8,8 @@
> >  // RUN: not ld.lld --version-script %terr1.script -shared %t.o -o %t.so
> 2>&1 | \
> >  // RUN:   FileCheck -check-prefix=ERR1 %s
> >  // ERR1: unclosed quote
> > +
> > +// RUN: echo "VERSION { extern "C++" {}; }; " > %terr2.script
> > +// RUN: not ld.lld --version-script %terr2.script -shared %t.o -o %t.so
> 2>&1 | \
> > +// RUN:   FileCheck -check-prefix=ERR2 %s
> > +// ERR2: extern keyword is not supported
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160623/a09de0f0/attachment.html>


More information about the llvm-commits mailing list