gingerBill 3 years ago
parent
commit
530401e5ee
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/check_type.cpp

+ 2 - 2
src/check_type.cpp

@@ -1338,14 +1338,14 @@ ParameterValue handle_parameter_value(CheckerContext *ctx, Type *in_type, Type *
 							}
 							}
 						}
 						}
 					}
 					}
-				} else if (allow_caller_location && o.mode == Addressing_Context) {
+				} else if (allow_caller_location && (o.mode == Addressing_Context || are_types_identical(o.type, t_source_code_location))) {
 					param_value.kind = ParameterValue_Value;
 					param_value.kind = ParameterValue_Value;
 					param_value.ast_value = expr;
 					param_value.ast_value = expr;
 				} else if (o.value.kind != ExactValue_Invalid) {
 				} else if (o.value.kind != ExactValue_Invalid) {
 					param_value.kind = ParameterValue_Constant;
 					param_value.kind = ParameterValue_Constant;
 					param_value.value = o.value;
 					param_value.value = o.value;
 				} else {
 				} else {
-					error(expr, "Default parameter must be a constant, %d", o.mode);
+					error(expr, "Default parameter must be a constant");
 				}
 				}
 			}
 			}
 		} else {
 		} else {