summaryrefslogtreecommitdiff
path: root/rts/sm/Scav.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/sm/Scav.c')
-rw-r--r--rts/sm/Scav.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c
index 79adcaa826..5db0acbbee 100644
--- a/rts/sm/Scav.c
+++ b/rts/sm/Scav.c
@@ -1722,7 +1722,9 @@ scavenge_static(void)
case FUN_STATIC:
scavenge_fun_srt(info);
- break;
+ // fallthrough: a FUN_STATIC can also be an SRT, so it may have pointer
+ // fields. See Note [SRTs] in CmmBuildInfoTables, specifically the [FUN]
+ // optimisation.
case CONSTR:
case CONSTR_NOCAF: