>>...In case this legacy complier supports OpenMP programs then the library could be used somehow...

For example, Borland C++ compiler version 5.5.1 is more than 15-year-old and it doesn't support any OpenMP #pragma directives. That's the main problem and there is No any way OpenMP support could be added directly since the compiler is Not supported for many years. I am thinking about the following:

The same situation is applicable to MinGW C++ compiler version 3.4.2 ( it is more than 7-year-old ) and it also doesn't support OpenMP. I understand that OpenMP programming is heavily based on #pragma directives and it looks like almost impossible to add OpenMP support to these legacy C++ compilers.

Well, everything is possible - this is just matter of time and resources:)

You can implement the code that is covered by pragmas in current compilers and call library functions from your code. This, probably, could work.

But Return-of-Investment is not clear is this case because this will not satisfy openmp specification. The solution on the table is to take the latest and greatest compiler that supports OpenMP or invest in current open source compilers.