summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
4577986)
This gives errors for nonsensical stuff like linux-windows-32-64-gnu-msvc,
which was previously accepted.
for(unsigned j=0; (!ok && systems[j]); ++j)
if(p==systems[j])
{
for(unsigned j=0; (!ok && systems[j]); ++j)
if(p==systems[j])
{
+ if(!system.empty() && p!=system)
+ throw invalid_argument("Conflicting system specification");
for(unsigned j=0; (!ok && toolchains[j]); ++j)
if(p==toolchains[j])
{
for(unsigned j=0; (!ok && toolchains[j]); ++j)
if(p==toolchains[j])
{
+ if(!toolchain.empty() && p!=toolchain)
+ throw invalid_argument("Conflicting toolchain specification");
toolchain = p;
ok = true;
}
if(!ok && (p=="32" || p=="64"))
{
toolchain = p;
ok = true;
}
if(!ok && (p=="32" || p=="64"))
{
- bits = lexical_cast<unsigned>(p);
+ unsigned b = lexical_cast<unsigned>(p);
+ if(bits && b!=bits)
+ throw invalid_argument("Conflicting bits specification");
+ bits = b;