Issue 63843
Summary Error when compiling with GCC 7
Labels new issue
Assignees
Reporter Diana-Dubov
    According to llvm documentation it shall [support GCC 7] (https://llvm.org/docs/GettingStarted.html#host-c-toolchain-both-compiler-and-standard-library).
[This commit: [ADT] Add deduction guide for iterator_range](https://reviews.llvm.org/D152891) breaks it.
Getting this error when compiling with GCC7.4:
**external/llvm-project/llvm/include/llvm/ADT/iterator_range.h:33:26: error: no matching function for call to 'mlir::ValueTypeIterator<llvm::detail::indexed_accessor_range_base<mlir::ResultRange, mlir::detail::OpResultImpl*, mlir::OpResult, mlir::OpResult, mlir::OpResult>::iterator>::ValueTypeIterator(llvm::detail::indexed_accessor_range_base<mlir::TypeRange, llvm::PointerUnion<const mlir::Value*, const mlir::Type*, mlir::OpOperand*, mlir::detail::OpResultImpl*>, mlir::Type, mlir::Type, mlir::Type>::iterator)'
     std::void_t<decltype(static_cast<To>(
 ^~~~~~~~~~~~~~~~
 std::declval<std::add_rvalue_reference_t<From>>()))>> : std::true_type {
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from external/llvm-project/mlir/include/mlir/Support/TypeID.h:20:0,
 from external/llvm-project/mlir/include/mlir/IR/MLIRContext.h:13,
 from external/llvm-project/mlir/include/mlir/IR/DialectRegistry.h:16,
 from external/llvm-project/mlir/include/mlir/IR/Dialect.h:16,
 from external/llvm-project/mlir/include/mlir/IR/OpDefinition.h:22,
 from external/llvm-project/mlir/include/mlir/IR/Builders.h:12,
 from external/llvm-project/mlir/include/mlir/IR/PatternMatch.h:12,
 from external/llvm-project/mlir/lib/IR/PatternMatch.cpp:9:
external/llvm-project/llvm/include/llvm/ADT/STLExtras.h:399:3: note: candidate: llvm::mapped_iterator_base<DerivedT, ItTy, ReferenceTy>::mapped_iterator_base(ItTy) [with DerivedT = mlir::ValueTypeIterator<llvm::detail::indexed_accessor_range_base<mlir::ResultRange, mlir::detail::OpResultImpl*, mlir::OpResult, mlir::OpResult, mlir::OpResult>::iterator>; ItTy = llvm::detail::indexed_accessor_range_base<mlir::ResultRange, mlir::detail::OpResultImpl*, mlir::OpResult, mlir::OpResult, mlir::OpResult>::iterator; ReferenceTy = mlir::Type]
 mapped_iterator_base(ItTy U)**

It is fixed in GCC8 and later, but the issue at GCC7 exists and breaks the promise to support this version.

Thank you
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to