id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 3681,"Comeau throws ""no operator=="" and ""no suitable conversion"" errors",Mateusz Loskot (mloskot) ,Beman Dawes,"Building Boost.Filesystem library using Comeau C/C++ frontend with GCC 4.3.3 on Linux 32-bit (Ubuntu 9.03) compilation of ''filesystem/src/operations.cpp'' reports missing equal-to operators for some POSIX-related types: {{{ como-linux.compile.c++ ../../../bin.v2/libs/filesystem/build/como-linux/debug/link-static/operations.o Comeau C/C++ 4.3.10.1 (May 7 2008 12:23:21) for LINUX_INTEL_ELF_Beta Copyright 1988-2008 Comeau Computing. All rights reserved. MODE:non-strict warnings C++ noC++0x_extensions ""../../../libs/filesystem/src/operations.cpp"", line 1027: error: no operator ""=="" matches these operands operand types are: __off64_t == int : path_stat.st_size == 0 ); ^ ""../../../libs/filesystem/src/operations.cpp"", line 1041: error: no operator ""=="" matches these operands operand types are: __dev_t == __dev_t s1.st_dev == s2.st_dev ^ ""../../../libs/filesystem/src/operations.cpp"", line 1042: error: no operator ""=="" matches these operands operand types are: __ino64_t == __ino64_t && s1.st_ino == s2.st_ino ^ ""../../../libs/filesystem/src/operations.cpp"", line 1046: error: no operator ""=="" matches these operands operand types are: __off64_t == __off64_t && s1.st_size == s2.st_size ^ }}} Also, ''no suitable conversion'' errors are thrown for the same source code: {{{ ""../../../libs/filesystem/src/operations.cpp"", line 1059: error: no suitable conversion function from ""__off64_t"" to ""boost::uintmax_t"" exists static_cast(path_stat.st_size) ); ^ ""../../../libs/filesystem/src/operations.cpp"", line 1077: error: no suitable conversion function from ""__fsblkcnt64_t"" to ""boost::uintmax_t"" exists = static_cast(vfs.f_blocks) * BOOST_STATVFS_F_FRSIZE; ^ ""../../../libs/filesystem/src/operations.cpp"", line 1079: error: no suitable conversion function from ""__fsblkcnt64_t"" to ""boost::uintmax_t"" exists = static_cast(vfs.f_bfree) * BOOST_STATVFS_F_FRSIZE; ^ ""../../../libs/filesystem/src/operations.cpp"", line 1081: error: no suitable conversion function from ""__fsblkcnt64_t"" to ""boost::uintmax_t"" exists = static_cast(vfs.f_bavail) * BOOST_STATVFS_F_FRSIZE; ^ ""../../../libs/filesystem/src/operations.cpp"", line 1317: error: argument of type ""dirent *"" is incompatible with parameter of type ""dirent64 *"" { return ::readdir_r( dirp, entry, result ); } ^ ""../../../libs/filesystem/src/operations.cpp"", line 1317: error: argument of type ""dirent **"" is incompatible with parameter of type ""dirent64 **"" { return ::readdir_r( dirp, entry, result ); } ^ ""../../../libs/filesystem/src/operations.cpp"", line 1322: error: a value of type ""dirent64 *"" cannot be assigned to an entity of type ""dirent *"" if ( (p = ::readdir( dirp )) == 0 ) ^ }}} Here is complete ''como'' command: {{{ como -tused -c --long_long -DBOOST_ALL_NO_LIB=1 -DBOOST_All_STATIC_LINK=1 -DBOOST_SYSTEM_STATIC_LINK=1 -D_GNU_SOURCE=1 --no_inlining -O0 -g --exceptions -I""../../.."" -o ""../../../bin.v2/libs/filesystem/build/como-linux/debug/link-static/operations.o"" ""../../../libs/filesystem/src/operations.cpp"" }}}",Bugs,closed,Boost 1.42.0,filesystem,Boost Development Trunk,Problem,wontfix,"como,comeau",