[sigc] Warning compiling 2.0.3 on Tru64 UNIX 5.1



I received the following error while building libsigc++-2.0.3 on Tru64
UNIX 5.1 with the Compaq C++ compiler:
  ...
  cxx  -I. -I. -I.. -I.. -I..    -O2 -readonly_strings -timplicit_local -D__USE_STD_IOSTREAM -c -o test_retype_return.o `test -f 'test_retype_return.cc' || echo './'`test_retype_return.cc
  cxx: Warning: test_retype_return.cc, line 14: missing return statement at end
            of non-void function "foo::operator()(int)"
      {std::cout << "foo(int "<<i<<")"<<std::endl;}
  ------------------------------------------------^

Looking in tests/test_retype_return.cc, I see:
  struct foo : public sigc::functor_base
  {
    typedef float result_type;
    float operator()(int i) 
      {std::cout << "foo(int "<<i<<")"<<std::endl;}
    float operator()(float i) 
      {std::cout << "foo(float "<<i<<")"<<std::endl; return i*5;}
  };

So, it looks like the warning is correct.

-- 
albert chin (china thewrittenword com)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]