Because everyone has a different computer, this seems like a difficult problem.
This is not true. Indeed, this kind of network is quite simple if you are not doing anything that is undefined by specification. IEEE-754 speaks very clearly about how floating point math should be done, how rounding should be done, etc., and it is implemented the same on all platforms.
The biggest thing you do not need to do is rely on the SIMD processor instructions in the code, which must be deterministic (note: this is physics, AI, etc .: game state. Not graphics where you need SIMD). These instructions are played quickly and freely using floating point rules. Thus, there is no SIMD in the game code; only in the "client" code (graphics, sound, etc.).
In addition, you need to make sure that your playing state is independent of things like time; Each game state clock gadget should be a fixed time interval, not based on a PC clock or the like.
Obviously, you should avoid any random function in which you have no code. But then again, only for your main game loop; graphic material may be specific to the client, as it simply visualizes and does not matter.
This is pretty much the case if you keep two game states in sync. The compiler you use will not be a big problem for you.
Please note that StarCraft and StarCraft II use this as the basis of their network model. They both work on Macs and PCs, and both can play against each other. So it is very possible and does not require Clang.
Although, if you like Klang, you should use it. But it should be because you like it, not for networks.