Issue 150581
Summary [Clang] ICE with forward declares and modules
Labels clang
Assignees
Reporter kish1n
    Here is my best reduction to reproduce. This error has occurred for me on both 20.1.7 and 20.1.8. Interestingly, it does not reproduce on my self-built clang in either Debug or Optimized. Only occurs on the binary from arch repo, so not sure how to go about debugging this.

render_impl.cpp
```
module lotus:render.impl;

import std;
import :GameObject;
import :State;
import :render;
import :programs;

void BasicTriangleDrawer::draw(State *state) {
    std::vector<float> vertices;
 vertices.reserve(state->objs.size());
}
```

GameObject.ixx
```
export module lotus:GameObject;

export class GameObject {};
```

Render.ixx
```
export module lotus:render;

import std;
import :State;

export class BasicTriangleDrawer {
  public:
 void draw(State *state);
};
```

programs.ixx
```
export module lotus:programs;

export namespace zzz {}
```

_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to