]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - ir.cpp
Just mark LOCAL_RETURN noref instead of checking for '#' in the name
[xonotic/gmqcc.git] / ir.cpp
diff --git a/ir.cpp b/ir.cpp
index c71cad8624e7e055d2a3b7e6203b9061b2656fbb..f5bc4520147f3765be59b31738056d308ec91535 100644 (file)
--- a/ir.cpp
+++ b/ir.cpp
@@ -633,7 +633,7 @@ bool ir_function_finalize(ir_function *self)
 
     for (auto& lp : self->m_locals) {
         ir_value *v = lp.get();
-        if (v->m_reads.empty() && v->m_writes.size()) {
+        if (v->m_reads.empty() && v->m_writes.size() && !(v->m_flags & IR_FLAG_NOREF)) {
             // if it's a vector check to ensure all it's members are unused before
             // claiming it's unused, otherwise skip the vector entierly
             if (v->m_vtype == TYPE_VECTOR)
@@ -656,8 +656,7 @@ bool ir_function_finalize(ir_function *self)
                             return false;
             }
             // just a standard variable
-            else if (v->m_name[0] != '#'
-                && irwarning(v->m_context, WARN_UNUSED_VARIABLE,
+            else if (irwarning(v->m_context, WARN_UNUSED_VARIABLE,
                     "unused variable: `%s`", v->m_name.c_str())) return false;
         }
     }