Regretfully, this is a GCC problem, nothing that System Workbench for TM32 can correct by itself. I don’t know why this is only supported on v7-M, but th eM0/M0+ cores are v6M compliant, not v7-M, and thus may miss some features that are needed for -mslow-flash-data to work correctly...
If you really need this, you must probably go to either the GCC mailing list or, better, the Linaro forums or mailing lists as we just use the Linaro GCC bare-metal port.
Anyway, I’m afraid that -mslow-flash-data, even if it worked, would not solve your problem, as it just instruct the compiler to minimize flash data acces, not to suppress them completely, what sould be needed for PCROP. So if what you want it using PCROP, there is a simpler way to go: you must manually edit the link editor script file to place all read-only data (.rodata) and initialization values for initialized data in an area of the flash not protected against reading by the embeded code. Then you will get protection of the pure code contained in PCROP protected area and access to the litteral pools and initialized data initial values.
You may also look at using RDP instead of PCROP: th ecode will then be able to read the litteral pool, but only your code could be executed as the memory will be protected (it must be fully erased to be able to be reprogrammed, thus protecting your code).
Hope this helps,