The patch at https://bitbucket.org/benoitsteiner/eigen-patches/commits/66baff25a3352309c8966163f532db85603d84d5#chg-blas_check (courtesy of Sameer Agarwal) improves the error checking in complex level3 blas routines:
* zsyrk, csyrk, zsyr2k, csyr2k were incorrectly handling Adjoint as a valid operation. This is because the OP macro that interprets operations does not differentiate between operations that support the adjoint and the ones that don't. To fix this a new macro REALOP was introduced.
* zher2k and cher2k implementation had a typo where LDB was referred to as LDA.
Patch looks generally good.
Maybe it would be better to define OP depending on IS_COMPLEX, instead of defining REAL_OP?
I don't know about the standard BLAS interface, but wouldn't it be ok to interpret adjoint as equivalent to transpose for non-complex types?
Btw: Instead of linking to a commit where you add a patch to your repository, you could simplify things a lot for us, if you either make a pull-request from a commit of the changes to your repository, or by attaching the actual patch. See here about patches: