From 4314854e68a076682a02ecade8260a4c18c6c950 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Sun, 6 Mar 2022 13:26:28 -0600
Subject: [PATCH] Error on tagged names in calls

---
 loopy/symbolic.py         | 1 +
 loopy/translation_unit.py | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/loopy/symbolic.py b/loopy/symbolic.py
index 36880b5ac..a462c8ca8 100644
--- a/loopy/symbolic.py
+++ b/loopy/symbolic.py
@@ -1835,6 +1835,7 @@ class PwAffEvaluationMapper(EvaluationMapperBase, IdentityMapperMixin):
                 "for as-pwaff evaluation" % expr)
 
     def map_call(self, expr):
+        # FIXME: There are some things here that we could handle, e.g. "abs".
         raise TypeError(f"call in '{expr}' not supported "
                 "for as-pwaff evaluation")
 
diff --git a/loopy/translation_unit.py b/loopy/translation_unit.py
index fb9b8fc18..9b40eb532 100644
--- a/loopy/translation_unit.py
+++ b/loopy/translation_unit.py
@@ -91,7 +91,12 @@ class CallableResolver(RuleAwareIdentityMapper):
         from loopy.symbolic import parse_tagged_name
 
         if not _is_a_reduction_op(expr.function):
+            # FIXME: We should have never used parse_tagged_name here.
             name, tag = parse_tagged_name(expr.function)
+
+            if tag:
+                raise LoopyError(f"tagged name in call: {expr.function}")
+
         else:
             if isinstance(expr.function, ResolvedFunction):
                 name = expr.function.function
-- 
GitLab