Port Bug 1920718 - Flag all global constructor with runtime initialization with a specific attribute
Categories
(Thunderbird :: General, task)
Tracking
(thunderbird_esr128 unaffected, thunderbird133 unaffected)
| Tracking | Status | |
|---|---|---|
| thunderbird_esr128 | --- | unaffected |
| thunderbird133 | --- | unaffected |
People
(Reporter: benc, Assigned: benc)
References
(Depends on 6 open bugs)
Details
Attachments
(2 files, 1 obsolete file)
nsMailApp.cpp:154:1: error: Global variable has runtime initialisation, try to remove it, make it constexpr or MOZ_CONSTINIT if possible, or as a last resort flag it as MOZ_RUNINIT.
It's gBootstrap, so following m-c and adding MOZ_RUNINIT.
Possible there might be some more to track down.
Pushed by benc@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/8b1a8a4da370
Annotate gBootstrap with runtime initialization attributes. rs=bustage-fix
| Assignee | ||
Comment 2•1 year ago
|
||
The shutdown handler in comm/mailnews/base/src/FolderCompactor.cpp:582 also needs fixing. I suspect MOZ_RUNINIT is a bad idea and it shouldn't be a RefPtr<>...
And I bet there'll be some more lurking in there.
| Assignee | ||
Updated•1 year ago
|
Comment 3•1 year ago
|
||
If that can help: the ideal is to flag global variable as constexpr. If that doesn't make sense, MOZ_CONSTINIT (a backport of constinit) ensures there's no global constructor associated to that variable. Otherwise MOZ_RUNINIT which basically means there's a runtime initialization associated to that global variable (from a syntactic point of view).
| Assignee | ||
Comment 4•1 year ago
|
||
We need to get rid of the bulk of these, but this at least gets us back up and building.
| Assignee | ||
Comment 5•1 year ago
|
||
We need to get rid of the bulk of these, but this at least gets us back up and building.
Comment 8•1 year ago
|
||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Description
•