Using optimization flags with `CC` (PrgEnv-gnu)

Nob questions here:
I recall during my HPE training that Cray Compilers Wrappers automatically pass architecture-specific flags to the underlying (gcc, clang or intel) compilers.
But I came cross some examples with CMakeLists including -march=native or -mtune=native flags with CC (PrgEnv-gnu).
My questions are:

  • Is it allowed? (perhaps only for PrgEnv-gnu)
  • Is it effective? (perhaps is redundant)
  • or could it be an error? (and CMake or Cray Wrappers ignores this flags?)