diff --git a/artiq/compiler/transforms/llvm_ir_generator.py b/artiq/compiler/transforms/llvm_ir_generator.py index 140a0351a..5fe65363b 100644 --- a/artiq/compiler/transforms/llvm_ir_generator.py +++ b/artiq/compiler/transforms/llvm_ir_generator.py @@ -270,6 +270,9 @@ class LLVMIRGenerator: llty = self.llcontext.get_identified_type(name) if llty.elements is None: + # First setting elements to [] will allow us to handle + # self-referential types. + llty.elements = [] llty.elements = [self.llty_of_type(attrtyp) for attrtyp in typ.attributes.values()]