[cfe-dev] [Release-testers] [10.0.0 Release] Release Candidate 1 is here

Anil Mahmud via cfe-dev cfe-dev at lists.llvm.org
Wed Feb 5 12:00:18 PST 2020


Hello,

When running test-release.sh using GCC 5.4.0 we encountered this error :

/home/anil/llvm1000_rc1_binary_upload/rc1/llvm-project/clang-tools-extra/clangd/Hover.cpp:
In function ‘llvm::StringLiteral
clang::clangd::{anonymous}::getNameForExpr(const clang::Expr*)’:
/home/anil/llvm1000_rc1_binary_upload/rc1/llvm-project/clang-tools-extra/clangd/Hover.cpp:450:10:
error: could not convert ‘(const char*)"expression"’ from ‘const char*’ to
‘llvm::StringLiteral’
   return "expression";
          ^

This was fixed by the  commit  40514a7d

commit 40514a7d7a3b745ba43c2d014e54a0d78d65d957
Author: Michael Liao <michael.hliao at gmail.com>
Date:   Thu Jan 16 16:02:47 2020 -0500

    [clangd] Add workaround for GCC5 host compilers. NFC.

diff --git a/clang-tools-extra/clangd/Hover.cpp
b/clang-tools-extra/clangd/Hover.cpp
index cfa5e3b..ad715db 100644
--- a/clang-tools-extra/clangd/Hover.cpp
+++ b/clang-tools-extra/clangd/Hover.cpp
@@ -439,7 +439,13 @@ bool isLiteral(const Expr *E) {

 llvm::StringLiteral getNameForExpr(const Expr *E) {
   // FIXME: Come up with names for `special` expressions.
-  return "expression";
+  //
+  // It's an known issue for GCC5, https://godbolt.org/z/Z_tbgi. Work
around
+  // that by using explicit conversion constructor.
+  //
+  // TODO: Once GCC5 is fully retired and not the minimal requirement as
stated
+  // in `GettingStarted`, please remove the explicit conversion
constructor.
+  return llvm::StringLiteral("expression");
 }

Can this be backported to RC1 10.0.0 ?

Thanks,
Anil Mahmud



On Tue, Feb 4, 2020 at 6:07 AM Dimitry Andric via Release-testers <
release-testers at lists.llvm.org> wrote:

> On 30 Jan 2020, at 20:38, Hans Wennborg via Release-testers <
> release-testers at lists.llvm.org> wrote:
> >
> > It took a bit longer than planned due to master being a somewhat
> > unstable at the branch point, but Release Candidate 1 has now been
> > tagged as llvmorg-10.0.0-rc1.
>
> I tried building rc1 for 32-bit FreeBSD, but ran into a compile error in
> mlir:
>
> /home/dim/llvm/10.0.0/rc1/llvm-project/mlir/lib/Transforms/DialectConversion.cpp:787:67:
> error: non-constant-expression cannot be narrowed from type 'unsigned int'
> to 'Region::iterator::difference_type' (aka 'int') in initializer list
> [-Wc++11-narrowing]
>     blockActions.push_back(BlockAction::getMove(&block, {&region,
> position}));
>                                                                   ^~~~~~~~
> /home/dim/llvm/10.0.0/rc1/llvm-project/mlir/lib/Transforms/DialectConversion.cpp:787:67:
> note: insert an explicit cast to silence this issue
>     blockActions.push_back(BlockAction::getMove(&block, {&region,
> position}));
>                                                                   ^~~~~~~~
>
> static_cast<difference_type>( )
> 1 error generated.
>
> I submitted https://bugs.llvm.org/show_bug.cgi?id=44767 for this.
>
> -Dimitry
>
> _______________________________________________
> Release-testers mailing list
> Release-testers at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/release-testers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20200205/f6b7fa38/attachment-0001.html>


More information about the cfe-dev mailing list