MSVC 2019 - Compilation error in clang/AST/ExprCXX.h

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

MSVC 2019 - Compilation error in clang/AST/ExprCXX.h

David Blaikie via cfe-dev
Hello,

I see the following compile-time error while building my tool that uses libtooling APIs.

C:\path\to\source\repos\llvm-project\clang\include\clang/AST/ExprCXX.h(4867,31): error C2990: 'llvm::TrailingObjects': non-class template has already been declared as a class template

Compiler used:
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29334 for x64

I see no such error in Linux builds of the same sources built using gcc installed on Ubuntu 20.4 and Ubuntu 18.04 .

Can someone knowledgeable please point me to a solution that addresses this build failure on Windows 10?

Tip of llvm-project repo in use:

commit adf9f64a02838a16d0c6cadfbd089254b126bd22 (HEAD -> master, origin/master, origin/HEAD)
Author: ergawy <[hidden email]>
Date:   Wed Nov 18 12:43:06 2020 -0500

    [MLIR][SPIRV] Rename `spv._reference_of` to `spv.mlir.referenceof`

    This commit does the renaming mentioned in the title in order to bring
    'spv' dialect closer to the MLIR naming conventions.

    Reviewed By: antiagainst

    Differential Revision: https://reviews.llvm.org/D91715

Thanks!


_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: MSVC 2019 - Compilation error in clang/AST/ExprCXX.h

David Blaikie via cfe-dev
I built clang with that version of MSVC, but I wasn't able to observe the error. I didn't go back to the linked revision, though, so perhaps it was fixed in the meantime. In any case, this line, `friend class TrailingObjects;`, is incorrect, it shouldn't use `class`. I removed it in https://github.com/llvm/llvm-project/commit/09ba2063dc9339957b999c.

On Fri, Nov 20, 2020 at 12:57 PM Open Sorcerer via cfe-dev <[hidden email]> wrote:
Hello,

I see the following compile-time error while building my tool that uses libtooling APIs.

C:\path\to\source\repos\llvm-project\clang\include\clang/AST/ExprCXX.h(4867,31): error C2990: 'llvm::TrailingObjects': non-class template has already been declared as a class template

Compiler used:
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29334 for x64

I see no such error in Linux builds of the same sources built using gcc installed on Ubuntu 20.4 and Ubuntu 18.04 .

Can someone knowledgeable please point me to a solution that addresses this build failure on Windows 10?

Tip of llvm-project repo in use:

commit adf9f64a02838a16d0c6cadfbd089254b126bd22 (HEAD -> master, origin/master, origin/HEAD)
Author: ergawy <[hidden email]>
Date:   Wed Nov 18 12:43:06 2020 -0500

    [MLIR][SPIRV] Rename `spv._reference_of` to `spv.mlir.referenceof`

    This commit does the renaming mentioned in the title in order to bring
    'spv' dialect closer to the MLIR naming conventions.

    Reviewed By: antiagainst

    Differential Revision: https://reviews.llvm.org/D91715

Thanks!

_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: MSVC 2019 - Compilation error in clang/AST/ExprCXX.h

David Blaikie via cfe-dev
That change helped.

Thank you very much!


On Tue, Nov 24, 2020 at 8:35 PM Reid Kleckner <[hidden email]> wrote:
I built clang with that version of MSVC, but I wasn't able to observe the error. I didn't go back to the linked revision, though, so perhaps it was fixed in the meantime. In any case, this line, `friend class TrailingObjects;`, is incorrect, it shouldn't use `class`. I removed it in https://github.com/llvm/llvm-project/commit/09ba2063dc9339957b999c.

On Fri, Nov 20, 2020 at 12:57 PM Open Sorcerer via cfe-dev <[hidden email]> wrote:
Hello,

I see the following compile-time error while building my tool that uses libtooling APIs.

C:\path\to\source\repos\llvm-project\clang\include\clang/AST/ExprCXX.h(4867,31): error C2990: 'llvm::TrailingObjects': non-class template has already been declared as a class template

Compiler used:
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29334 for x64

I see no such error in Linux builds of the same sources built using gcc installed on Ubuntu 20.4 and Ubuntu 18.04 .

Can someone knowledgeable please point me to a solution that addresses this build failure on Windows 10?

Tip of llvm-project repo in use:

commit adf9f64a02838a16d0c6cadfbd089254b126bd22 (HEAD -> master, origin/master, origin/HEAD)
Author: ergawy <[hidden email]>
Date:   Wed Nov 18 12:43:06 2020 -0500

    [MLIR][SPIRV] Rename `spv._reference_of` to `spv.mlir.referenceof`

    This commit does the renaming mentioned in the title in order to bring
    'spv' dialect closer to the MLIR naming conventions.

    Reviewed By: antiagainst

    Differential Revision: https://reviews.llvm.org/D91715

Thanks!

_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev