We rely on -fno-exceptions to avoid creating runtime link dependencies on the C++ stdlib in our static library targets.
If GCC_ENABLE_CPP_EXCEPTIONS is set to "no" in an Xcode project, iPhoneSimulator.platform does pass -fno-exceptions to the compiler, but also passes -fexceptions, re-enabling the use of exceptions.
This is caused by broken compiler flag configurations in Xcode's iPhoneSimulator.platform compiler specs; the compiler specs refer to a legacy "GCC_ENABLE_EXCEPTIONS" flag that is no longer set by Xcode.
This bug has been reported to Apple as rdar://16620815. We'll need to apply the work-around locally until it has been fixed and we no longer support affected Xcode releases (as of this writing, Xcode 5.0 - 5.1).