+fourteen:
+ #
+ # llvm : a14.c b14.c
+ #
+ # echo "verify an used hidden symbol is removed from a dylib"
+ ${CC} ${CXXFLAGS} -O4 -dynamiclib a14.c b14.c -o ab14.dylib
+ ${FAIL_IF_BAD_MACHO} ab14.dylib
+ nm -m ab14.dylib | grep _X | ${PASS_IFF_EMPTY}
+
+fifteen:
+ # echo "verify -dead_strip works with hidden symbols"
+ ${CC} ${CXXFLAGS} -O4 -Wl,-dead_strip a15.c c15.c -o main15.exe
+ ${CC} ${CXXFLAGS} -O4 a15.c c15.c -o main15.exe
+ ${FAIL_IF_BAD_MACHO} main15.exe
+ ${CC} ${CXXFLAGS} -O4 -Wl,-dead_strip -dynamiclib a15.c b15.c -o a15.dylib
+ ${CC} ${CXXFLAGS} -O4 a15.c b15.c -dynamiclib -o a15.dylib
+ ${FAIL_IF_BAD_MACHO} a15.dylib
+
+sixteen:
+ # echo "verify -save-temps"
+ ${CC} ${CCFLAGS} -flto main16.c -c -o main16.o
+ ${CC} ${CCFLAGS} main16.o -o main16.exe -Wl,-save-temps
+ ${PASS_IFF} test -e main16.exe.lto.bc
+ ${PASS_IFF} test -e main16.exe.lto.o
+
+seventeen:
+ # echo "verify ld -r of all bitcode files produces a bitcode file"
+ ${CC} ${CCFLAGS} -flto a17.c -c -o a17.o
+ ${CC} ${CCFLAGS} -flto b17.c -c -o b17.o
+ ${LD} -arch ${ARCH} -r a17.o b17.o -o ab17.o
+ file ab17.o | grep "Mach-O" | ${PASS_IFF_EMPTY}
+ # echo "verify ld -r of bitcode and mach-o produces mach-o"
+ ${CC} ${CCFLAGS} b17.c -c -o b17m.o
+ ${LD} -arch ${ARCH} -r a17.o b17m.o -o ab17m.o
+ file ab17m.o | grep "Mach-O" | ${PASS_IFF_STDIN}
+
+eighteen:
+ #echo verify ld -r -keep_private_externs works
+ ${CC} ${CCFLAGS} -flto a18.c -c -o a18.o
+ ${LD} -arch ${ARCH} -r -keep_private_externs a18.o -o a18-rkpe.o
+ nm -nm a18-rkpe.o | grep _common_hidden1 | grep "private external" | ${FAIL_IF_EMPTY}
+ nm -nm a18-rkpe.o | grep _func_hidden2 | grep "private external" | ${FAIL_IF_EMPTY}
+ #echo verify ld -r makes hidden symbols internal (except for commons)
+ ${LD} -arch ${ARCH} -r a18.o -o a18-r.o
+ #ObjectDump -nm a18-r.o | grep _common_hidden1 | grep " hidden" | ${FAIL_IF_EMPTY}
+ #ObjectDump -nm a18-r.o | grep _func_hidden2 | grep " internal" | ${FAIL_IF_EMPTY}
+
+nineteen:
+ #echo verify missing symbol error
+ ${CC} ${CCFLAGS} -flto main19.c -c -o main19.o
+ ${FAIL_IF_SUCCESS} ${CC} ${CCFLAGS} main19.o -o main19.exe 2>fail.log
+ grep _foo fail.log | ${PASS_IFF_STDIN}
+
+twenty:
+ #echo verify bitcode files in archives works
+ #${CC} ${CCFLAGS} -flto a20.c -c -o a20.o
+ #${CC} ${CCFLAGS} -flto b20.c -c -o b20.o
+ #libtool -static a20.o b20.o -o lib20.a
+ #${CC} ${CCFLAGS} main20.c lib20.a -all_load -o main20.exe
+ #nm main20.exe | grep _foo | ${PASS_IFF_STDIN}
+
+
+
+