diff -r -c -N ../Ice-3.3.1-old/cpp/include/Slice/Preprocessor.h ./cpp/include/Slice/Preprocessor.h
*** ../Ice-3.3.1-old/cpp/include/Slice/Preprocessor.h	2009-03-20 15:22:13.000000000 -0230
--- ./cpp/include/Slice/Preprocessor.h	2009-10-08 09:26:58.000000000 -0230
***************
*** 53,58 ****
--- 53,59 ----
  
      const std::string _path;
      const std::string _fileName;
+     const std::string _shortFileName;
      const std::vector<std::string> _args;
  #ifdef _WIN32
      std::wstring _cppFile;
diff -r -c -N ../Ice-3.3.1-old/cpp/src/Slice/Preprocessor.cpp ./cpp/src/Slice/Preprocessor.cpp
*** ../Ice-3.3.1-old/cpp/src/Slice/Preprocessor.cpp	2009-03-20 15:22:14.000000000 -0230
--- ./cpp/src/Slice/Preprocessor.cpp	2009-10-08 09:26:20.000000000 -0230
***************
*** 46,52 ****
  
  Slice::Preprocessor::Preprocessor(const string& path, const string& fileName, const vector<string>& args) :
      _path(path),
!     _fileName(fileName),
      _args(args),
      _cppHandle(0)
  {
--- 46,53 ----
  
  Slice::Preprocessor::Preprocessor(const string& path, const string& fileName, const vector<string>& args) :
      _path(path),
!     _fileName(fullPath(fileName)),
!     _shortFileName(fileName),
      _args(args),
      _cppHandle(0)
  {
***************
*** 316,322 ****
      {
          fullIncludePaths.push_back(fullPath(*p));
      }
-     string absoluteFileName = fullPath(_fileName);
  
      //
      // Process each dependency.
--- 317,322 ----
***************
*** 328,336 ****
          string file = IceUtilInternal::trim(unprocessed.substr(pos, end - pos));
          if(IceUtilInternal::isAbsolutePath(file))
          {
!             if(file == absoluteFileName)
              {
!                 file = _fileName;
              }
              else
              {
--- 328,336 ----
          string file = IceUtilInternal::trim(unprocessed.substr(pos, end - pos));
          if(IceUtilInternal::isAbsolutePath(file))
          {
!             if(file == _fileName)
              {
!                 file = _shortFileName;
              }
              else
              {
