From e9988f9d3b0abbe391b4513e801aeee709fbcb4a Mon Sep 17 00:00:00 2001 From: pca006132 Date: Thu, 8 Oct 2020 19:14:05 +0800 Subject: [PATCH] compiler: error message for custom operations Emit error messages for custom comparison and inclusion test, instead of compiler crashing. --- artiq/compiler/transforms/artiq_ir_generator.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/artiq/compiler/transforms/artiq_ir_generator.py b/artiq/compiler/transforms/artiq_ir_generator.py index 1ce7c4005..f5d66aa24 100644 --- a/artiq/compiler/transforms/artiq_ir_generator.py +++ b/artiq/compiler/transforms/artiq_ir_generator.py @@ -1914,7 +1914,13 @@ class ARTIQIRGenerator(algorithm.Visitor): return result else: - assert False + loc = lhs.loc + loc.end = rhs.loc.end + diag = diagnostic.Diagnostic("error", + "Custom object comparison is not supported", + {}, + loc) + self.engine.process(diag) def polymorphic_compare_pair_inclusion(self, needle, haystack): if builtins.is_range(haystack.type): @@ -1958,7 +1964,13 @@ class ARTIQIRGenerator(algorithm.Visitor): result = phi else: - assert False + loc = needle.loc + loc.end = haystack.loc.end + diag = diagnostic.Diagnostic("error", + "Custom object inclusion test is not supported", + {}, + loc) + self.engine.process(diag) return result