diff -ur Ice-3.3b/cpp/src/Slice/Parser.cpp Ice-3.3b.mef/cpp/src/Slice/Parser.cpp --- Ice-3.3b/cpp/src/Slice/Parser.cpp 2008-03-27 15:54:38.000000000 +0000 +++ Ice-3.3b.mef/cpp/src/Slice/Parser.cpp 2008-04-17 14:02:53.000000000 +0100 @@ -23,6 +23,8 @@ # include #endif +#include + using namespace std; using namespace Slice; @@ -5095,7 +5097,11 @@ if(_currentLine == 0) { - if(currentFile != _topLevelFile) + struct stat curFileStat; + struct stat topLevelFileStat; + stat(currentFile.c_str(), &curFileStat); + stat(_topLevelFile.c_str(), &topLevelFileStat); + if(curFileStat.st_ino != topLevelFileStat.st_ino) { type = Push; line.erase(idx);