Well yes.... But not explicit, so not sure if future proof
-gt can have between 1 and 4 "t". And chooses one of 4 values for the trashing.
One of those values is zero. So trashing with 0 will have the effect you want...
-gt can build up. I.e. "-gtt" or "-gt -gt" both means 2 "t". You could just give -gtttt, but if somehow there is another -gt before then you don't get zero (because you effectively have 5 "t" mod 4 means 1 "t")
-gt- seems to clear the "t" completely.
Of course, if after your "-gt -gtttt" is any other -gt, then it breaks again.
And also, whilst I do recall having seen the 4 trash values somewhere, I do not know if that was in any official doc, and if they will forever be the same as they are now.
Trashing with 0 makes sense, if you check for uninitialized booleans. That way you trash them to false.
Testing your up with -gt and then -gtttt means you did trash the boolean once to true, and once to false. Improving chances to catch the uninitialized.
Mind, that I have also seen managed vars of type ansistring being affected by trashing.
I.e. an uninitialized ansistring (at least result) is no longer empty.
I do not know, if that happens with -gtttt
Nor which versions of fpc do that.