https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103620

            Bug ID: 103620
           Summary: 'internal compiler error: in tsubst_copy_and_build, at
                    cp/pt.c:20479' when calling concept
           Product: gcc
           Version: og11 (devel/omp/gcc-11)
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: maik.urbannek at cattatech dot de
  Target Milestone: ---

```cpp
#include <concepts>

template<typename T>
concept Concept = std::same_as<T,int>;

template <class T>
bool foo( )
{
    const T t ={};
    const auto serial = Concept<T>(t);
    return true;
}

int main() {
    return foo<int>();
}

```

`gcc -o error error.cpp -std=c++20`

produces:
```
error.cpp: In instantiation of ‘bool foo() [with T = int]’:
error.cpp:15:20:   required from here
error.cpp:10:35: internal compiler error: in tsubst_copy_and_build, at
cp/pt.c:20479
   10 |     const auto serial = Concept<T>(t);
      |                         ~~~~~~~~~~^~~
0x71822c tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../src/gcc/cp/pt.c:20479
0x116be57 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.c:19159
0x1229514 tsubst_init
        ../../src/gcc/cp/pt.c:16531
0x116c19d tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.c:18368
0x116bf43 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.c:18199
0x116beb5 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.c:18550
0x1228bd0 instantiate_body
        ../../src/gcc/cp/pt.c:25876
0x1227ffa instantiate_decl(tree_node*, bool, bool)
        ../../src/gcc/cp/pt.c:26170
0xfa5f60 instantiate_pending_templates(int)
        ../../src/gcc/cp/pt.c:26249
0xfa20c3 c_parse_final_cleanups()
        ../../src/gcc/cp/decl2.c:4962
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-11/README.Bugs> for instructions.

``` 

expected:

```
error.cpp: In function ‘bool foo()’:
error.cpp:10:35: error: expression cannot be used as a function
   10 |     const auto serial = Concept<T>();
      | 
```
  • [Bug c++/103620] New: 'inte... maik.urbannek at cattatech dot de via Gcc-bugs

Reply via email to