Make it more similar to FreeBSD one to reduce differences.
In preparations for later submissions.
While there, add more handling of flags (including OpenMP https://reviews.llvm.org/D35129).
Can't crt1 be non-null only if !Args.hasArg(options::OPT_shared here? i.e. is there a reason to do it like this instead of just pushing it inside the above if?
This default will never be used.
Inconsistency here: above you used helper variable, here you duplicate the whole line.
The crt1 can only be used if !Args.hasArg(options::OPT_shared, both declaration and CmdArgs.push_back could be moved inside. The only reason for this adjustment is to reduce stylistic differences against lib/Driver/ToolChains/FreeBSD.cpp driver layout.
Correct. Could be changed in both FreeBSD.cpp and DragonFly.cpp.
Same as two previous. Only to match lib/Driver/ToolChains/FreeBSD.cpp layout.