Ninja: Do not force response files when no sysconf(3) limit is used

Commit v3.6.0-rc1~174^2~1 (cmGlobalNinjaGenerator: Clarify logic for
forcing use of response files, 2016-04-06) started using negative
command line length values to represent forced use of response files but
forgot to update `calculateCommandLineLengthLimit()` accordingly.  Teach
it to return `0` instead of `-1` when no limit is computed from the
system to avoid forcing response files.

Reported-by: Raphael Kubo da Costa <rakuco@FreeBSD.org>
This commit is contained in:
Brad King 2016-07-15 09:37:03 -04:00
parent e31084e657
commit 86dd2427bc
1 changed files with 1 additions and 1 deletions

View File

@ -354,7 +354,7 @@ static int calculateCommandLineLengthLimit(int linkRuleLength)
size_t const arrSz = cmArraySize(limits); size_t const arrSz = cmArraySize(limits);
int const sz = *std::min_element(limits, limits + arrSz); int const sz = *std::min_element(limits, limits + arrSz);
if (sz == std::numeric_limits<int>::max()) { if (sz == std::numeric_limits<int>::max()) {
return -1; return 0;
} }
return sz - linkRuleLength; return sz - linkRuleLength;