gem5: codebase patched to compile with ag++
This changes allows us to compile the gem5 simulator with ag++. It was tested with ag++ v0.8, built Apr 18 2013. Most of the changes are preprocessor directives like #ifndef __puma which have been inserted into the gem5 code. Unfortunately, a python script and a SWIG input file have been patched, too. Additionally, the CMake file has been updated. A single call to "make" now invokes the ag++ (instead of the g++) compiler front end. The new CMake target "gem5-allclean" should be used to clean the current project when building FailGem5. In addition to cleaning the Fail build directory, it also invokes "scons -c" in the gem5 build directory; that is, gem5 is cleaned as well. Change-Id: I20a92f025f34f626b81e30f2c873baeba189f83b
This commit is contained in:
@ -41,8 +41,9 @@ ConfigFile::ConfigFile( string filename, string delimiter,
|
||||
std::ifstream in( filename.c_str() );
|
||||
|
||||
if( !in ) throw file_not_found( filename );
|
||||
|
||||
#ifndef __puma
|
||||
in >> (*this);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -103,7 +103,9 @@ T OrionConfig::get(const string& key_) const
|
||||
it = m_params_map.find(key_);
|
||||
if (it == m_params_map.end())
|
||||
{
|
||||
#ifndef __puma // error: invalid operand to binary `<<'
|
||||
std::cerr << key_ << " NOT FOUND!" << std::endl;
|
||||
#endif
|
||||
throw key_not_found(key_);
|
||||
}
|
||||
return string_as_T<T>(it->second);
|
||||
@ -138,8 +140,10 @@ inline bool OrionConfig::string_as_T<bool>(const string& str_)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifndef __puma
|
||||
std::cerr << "Invalid bool value: '" << str_ <<
|
||||
"'. Treated as FALSE." << std::endl;
|
||||
#endif
|
||||
ret = false;
|
||||
}
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user