Browse Source

Extra sanity check around `static`

gingerBill 4 years ago
parent
commit
3c443babb2
1 changed files with 11 additions and 4 deletions
  1. 11 4
      src/llvm_backend_stmt.cpp

+ 11 - 4
src/llvm_backend_stmt.cpp

@@ -2083,10 +2083,17 @@ void lb_build_stmt(lbProcedure *p, Ast *node) {
 
 		bool is_static = false;
 		if (vd->names.count > 0) {
-			Entity *e = entity_of_node(vd->names[0]);
-			if (e->flags & EntityFlag_Static) {
-				// NOTE(bill): If one of the entities is static, they all are
-				is_static = true;
+			for_array(i, vd->names) {
+				Ast *name = vd->names[i];
+				if (!is_blank_ident(name)) {
+					Entity *e = entity_of_node(name);
+					GB_ASSERT(e != nullptr);
+					if (e->flags & EntityFlag_Static) {
+						// NOTE(bill): If one of the entities is static, they all are
+						is_static = true;
+						break;
+					}
+				}
 			}
 		}