According to amccarth's suggestions in: https://reviews.llvm.org/D27234?id=79657#inline-234115 , I modify NumberOfCpuCores() to return unsigned.
The number of cpus is used to define the number of workers in:
Flags.workers = std::min(NumberOfCpuCores() / 2, Flags.jobs);
So, I decided to update the worker and jobs flags to be defined as unsigned. These are not strictly necessary changes, I could have casted the result of the division to int, as :
Flags.workers = std::min(int(NumberOfCpuCores() / 2), Flags.jobs);
But I decided it would be better to avoid that and properly use unsigned for workers and jobs.