I apologize if this is not strictly on-topic, but I couldn't find an appropriate forum here for CMSIS-related questions, and the ARM top-level web site doesn't have any obvious place to report bugs.
I believe the core_cmX.h headers in version 3.30 (February 2014) arrange their 'extern "C"' declarations in a way which is problematic. Specifically, the closing
#ifdef __cplusplus } #endif
stanza is located between the guards for __CORE_CM0_H_DEPENDANT (sic) and __CMSIS_GENERIC. This means that whenever the file is included a second time and __CMSIS_GENERIC is not defined, a mismatched closing brace will be emitted. This happened to me yesterday and it took me a full day to figure out what was happening.
Regards,
Mark