Currently DefGen::emitDecl always emits forward declarations of storage classes even for user define ones, which makes it difficult to use template class directly in ODS. This patch changes DefGen not to emit forward decl when genStorageClass is false.
Original discussion: https://discourse.llvm.org/t/use-template-classes-as-user-defined-storage-classes/72015