diff --git a/src/Val.cc b/src/Val.cc index 758461382c..11bad1187a 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -2762,7 +2762,7 @@ void RecordVal::ResizeParseTimeRecords(RecordType* rt) vs->resize(required_length); for ( auto i = current_length; i < required_length; ++i ) - vs->replace(i, nullptr); + vs->replace(i, rt->FieldDefault(i)); } } } diff --git a/testing/btest/Baseline/language.record-redef-after-init/output b/testing/btest/Baseline/language.record-redef-after-init/output index 9c422442a5..41dc9cde3f 100644 --- a/testing/btest/Baseline/language.record-redef-after-init/output +++ b/testing/btest/Baseline/language.record-redef-after-init/output @@ -1,10 +1,11 @@ -[a=redef, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=, q=] +[a=redef, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=, q=OPTQ] [a=runtime, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=, q=OPTQ] [a=local, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=, q=OPTQ] -[a=redef, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=, q=] -[a=redef, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=, q=] +[a=redef, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=, q=OPTQ] +[a=redef, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=, q=OPTQ] +OPTQ newp -[a=redef, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=newp, q=] +[a=redef, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=newp, q=OPTQ] OPTQ our value [a=redef, d=, e=, f=, g=, h=, i=, j=, k=, l=, m=, n=, o=, p=newp, q=our value] diff --git a/testing/btest/Baseline/language.table-record-idx-redef/out b/testing/btest/Baseline/language.table-record-idx-redef/out index 3f935f9fd8..fb87a0018f 100644 --- a/testing/btest/Baseline/language.table-record-idx-redef/out +++ b/testing/btest/Baseline/language.table-record-idx-redef/out @@ -1,5 +1,5 @@ F, T, F { -[[r=[rr=101, rrr=], a=37, b=]] = 1, -[[r=[rr=101, rrr=blue pill], a=13, b=28]] = 42 +[[r=[rr=101, rrr=blue pill], a=13, b=28]] = 42, +[[r=[rr=101, rrr=blue pill], a=37, b=28]] = 1 }