-ansi is documented as being the "same as -std=c89", but there are differences when passing it to a link:
clang -c test.c -o test.o clang test.o -o test -std=c89 # Works, no problem clang test.o -o test -ansi # Warning about unused -ansi option
-std= is claimed in this case in clang/lib/Driver/Driver.cpp at the end of handleArguments() via Args.ClaimAllArgs(options::OPT_CompileOnly_Group). This does not include -ansi right now however, since it does not belong to the CompileOnly group.
Adding -ansi to said group makes sense since it's supposed to be an alias for -std=c89 and resolves this inconsistency.