Welcome to the fight! Awhile ago I asked the same question on the forum C++20 Support. @extrowerk posted some information there that may help as well.
About the “poisoned variable” mentioned in that thread, from what I was able to figure out, the variable in question has been deprecated and it should be safe to remove it completely.
Using the GCC 8 patch as a base-line, most of the changes were adding conditions for Haiku in the various
configure and other build scripts. However, the patch did modify some line numbers in generated code, it looked harmless but probably should be corrected. Also some C++ files are added by the patch.
My first attempt failed because my drive/partition was only 2G. Dedicating a 4G drive to Haiku for porting GCC does not leave much free space available. I would recommend 8G or more when porting GCC. My second attempt failed due to header file issues: not existing or not finding or using the wrong one. Don’t remember exactly. Then I ran out of free time.
I wish you the best in porting GCC, I too would like to port some C++20 code to Haiku.