is_open_array(def) or
is_array_of_const(def) or
is_array_constructor(def);
+ { Fix codegen problem for empty record by always passing by address a zero-sized record }
recorddef:
- result:=def.size>recsizelimit;
+ result:=(def.size>recsizelimit) or (def.size=0);
variantdef:
result:=false;
formaldef :
--- /dev/null
+
+type
+ TLazLoggerLogEnabled = record end;
+
+procedure Test(Log : TLazLoggerLogEnabled; const s : string);
+begin
+ writeln('Test: ',s);
+end;
+
+procedure Testv(var Log : TLazLoggerLogEnabled; const s : string);
+begin
+ writeln('Testv: ',s);
+end;
+
+procedure DebuglnStack(LogEnabled: TLazLoggerLogEnabled; const s: string);
+begin
+ Test(LogEnabled, s);
+ Testv(LogEnabled, s);
+end;
+
+var
+ LE : TLazLoggerLogEnabled;
+begin
+ DebuglnStack(LE,'Test string');
+end.