Currently, there're multiple float types that can be represented by __attribute__((mode(xx))). It's parsed, and then a corresponding type is created if available.
This refactor moves the enum for mode into a global enum class visible to ASTContext, as discussed in D109950.
This bit looks like it's not an NFC change -- we never used to set this value before. However, it is an NFC change because the caller always sets ExplicitType to NoFloat, so this is more for safety when adding new callers, which is fine by me.