Browse Source

Disable early return from `check_proc_info`

gingerBill 3 years ago
parent
commit
f6a087775e
2 changed files with 8 additions and 7 deletions
  1. 7 6
      src/checker.cpp
  2. 1 1
      src/llvm_backend_proc.cpp

+ 7 - 6
src/checker.cpp

@@ -4855,12 +4855,13 @@ bool check_proc_info(Checker *c, ProcInfo *pi, UntypedExprInfoMap *untyped, Proc
 		return false;
 		return false;
 	}
 	}
 
 
-	if (pt->is_polymorphic && pt->is_poly_specialized) {
-		if ((e->flags & EntityFlag_Used) == 0) {
-			// NOTE(bill, 2019-08-31): It was never used, don't check
-			return false;
-		}
-	}
+	// NOTE(bill, 2022-01-25): Appears to be not needed any more
+	// if (pt->is_polymorphic && pt->is_poly_specialized) {
+	// 	if ((e->flags & EntityFlag_Used) == 0) {
+	// 		// NOTE(bill, 2019-08-31): It was never used, don't check
+	// 		return false;
+	// 	}
+	// }
 
 
 	bool bounds_check    = (pi->tags & ProcTag_bounds_check)    != 0;
 	bool bounds_check    = (pi->tags & ProcTag_bounds_check)    != 0;
 	bool no_bounds_check = (pi->tags & ProcTag_no_bounds_check) != 0;
 	bool no_bounds_check = (pi->tags & ProcTag_no_bounds_check) != 0;

+ 1 - 1
src/llvm_backend_proc.cpp

@@ -61,7 +61,7 @@ lbProcedure *lb_create_procedure(lbModule *m, Entity *entity, bool ignore_body)
 	GB_ASSERT(entity != nullptr);
 	GB_ASSERT(entity != nullptr);
 	GB_ASSERT(entity->kind == Entity_Procedure);
 	GB_ASSERT(entity->kind == Entity_Procedure);
 	if (!entity->Procedure.is_foreign) {
 	if (!entity->Procedure.is_foreign) {
-		GB_ASSERT(entity->flags & EntityFlag_ProcBodyChecked);
+		GB_ASSERT_MSG(entity->flags & EntityFlag_ProcBodyChecked, "%.*s :: %s", LIT(entity->token.string), type_to_string(entity->type));
 	}
 	}
 
 
 	String link_name = {};
 	String link_name = {};