About the new (2.1) build setting GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS...
Am I misconceiving the use of this setting? I had thought that two targets could share a precompiled header, and then one could add a preprocessor definition using this setting, and the change would be "downstream" from the reading of the PCH. So Target A and Target B could both use TargetA.pch, and Target B could additionally specify as ...NOT_USED_IN_PRECOMPS, say, DEBUG=1, and not spoil the precompilation
If I try this (and as the compiler suggested, turn on -Winvalid-pch), I get:
========
cc1obj: warning: /Library/Caches/com.apple.Xcode.503/SharedPrecompiledHeaders/Linear_Prefix-apkchnlmwdltyrczcnulutdqxqdh/Linear_Prefix.pch.gch: not used because `DEBUG' is defined
cc1obj: error: /Library/Caches/com.apple.Xcode.503/SharedPrecompiledHeaders/Linear_Prefix-apkchnlmwdltyrczcnulutdqxqdh/Linear_Prefix.pch: No such file or directory
cc1obj: error: one or more PCH files were found, but they were invalid
========
... which seems to be saying that the presence of a not-in-precomps symbol, so far from permitting the sharing of PCHes, actually prevents it.
Am I missing something, or should I report a bug?