string tag_for_std = (tag=="OBJC" ? "CC" : tag);
if(binfo.standards.count(tag_for_std))
- argv.push_back("-std="+get_item(binfo.standards, tag_for_std));
+ argv.push_back("-std="+get_item(binfo.standards, tag_for_std).str());
if(tag=="OBJC" && binfo.standards.count(tag))
- argv.push_back("-fobjc-std="+get_item(binfo.standards, tag));
+ argv.push_back("-fobjc-std="+get_item(binfo.standards, tag).str());
if(binfo.warning_level>=1)
{
{
if(architecture->get_type()=="x86")
{
- argv.push_back("-mfpmath="+architecture->get_fpu());
+ if(architecture->get_fpu()=="387")
+ argv.push_back("-mfpmath=387");
+ else if(!architecture->get_fpu().compare(0, 3, "sse"))
+ argv.push_back("-mfpmath=sse");
+
if(architecture->get_fpu()=="sse")
argv.push_back("-msse2");
+ else if(architecture->get_fpu()=="sse3")
+ argv.push_back("-msse3");
+ else if(architecture->get_fpu()=="sse4.1")
+ argv.push_back("-msse4.1");
}
else if(architecture->get_type()=="arm")
{