Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-447

[gcc] warning: inlining failed on std::pow (std::complex, std::complex)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 4.1.3
    • 4.2.0
    • 26. Numerics
    • None
    • gcc 4.1.1

    Description

      The warnings below suggest that the std::pow() overfload for complex might be too big to be successfully inlined...

      gcc -c -I$(TOPDIR)/include/ansi -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -pedantic -nostdinc++ -O2 -m32 -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align $(TOPDIR)/tests/numerics/26_complex.cpp
      $(TOPDIR)/include/complex: In member function 'void RWQEComplexTest<T>::testPow() [with T = double]':
      $(TOPDIR)/include/complex:814: warning: inlining failed in call to 'std::complex<_TypeT> std::pow(const std::complex<_TypeT>&, const std::complex<_TypeT>&) [with _TypeT = double]': --param large-function-growth limit reached
      $(TOPDIR)/include/complex:759: warning: called from here
      $(TOPDIR)/include/complex:814: warning: inlining failed in call to 'std::complex<_TypeT> std::pow(const std::complex<_TypeT>&, const std::complex<_TypeT>&) [with _TypeT = double]': --param large-function-growth limit reached
      $(TOPDIR)/include/complex:759: warning: called from here
      $(TOPDIR)/include/complex:814: warning: inlining failed in call to 'std::complex<_TypeT> std::pow(const std::complex<_TypeT>&, const std::complex<_TypeT>&) [with _TypeT = double]': --param large-function-growth limit reached
      $(TOPDIR)/include/complex:759: warning: called from here
      $(TOPDIR)/include/complex: In member function 'void RWQEComplexTest<T>::testPow() [with T = long double]':
      $(TOPDIR)/include/complex:814: warning: inlining failed in call to 'std::complex<_TypeT> std::pow(const std::complex<_TypeT>&, const std::complex<_TypeT>&) [with _TypeT = long double]': --param large-function-growth limit reached
      $(TOPDIR)/include/complex:759: warning: called from here
      $(TOPDIR)/include/complex:814: warning: inlining failed in call to 'std::complex<_TypeT> std::pow(const std::complex<_TypeT>&, const std::complex<_TypeT>&) [with _TypeT = long double]': --param large-function-growth limit reached
      $(TOPDIR)/include/complex:759: warning: called from here
      $(TOPDIR)/include/complex:814: warning: inlining failed in call to 'std::complex<_TypeT> std::pow(const std::complex<_TypeT>&, const std::complex<_TypeT>&) [with _TypeT = long double]': --param large-function-growth limit reached
      $(TOPDIR)/include/complex:759: warning: called from here
      $(TOPDIR)/include/complex:814: warning: inlining failed in call to 'std::complex<_TypeT> std::pow(const std::complex<_TypeT>&, const std::complex<_TypeT>&) [with _TypeT = long double]': --param large-function-growth limit reached
      $(TOPDIR)/include/complex:799: warning: called from here
      $(TOPDIR)/include/complex:814: warning: inlining failed in call to 'std::complex<_TypeT> std::pow(const std::complex<_TypeT>&, const std::complex<_TypeT>&) [with _TypeT = long double]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:810: warning: called from here
      $(TOPDIR)/include/complex:814: warning: inlining failed in call to 'std::complex<_TypeT> std::pow(const std::complex<_TypeT>&, const std::complex<_TypeT>&) [with _TypeT = long double]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:818: warning: called from here
      $(TOPDIR)/include/iosfwd: In member function 'void RWQEComplexTest<T>::testStreamOperator() [with T = long double]':
      $(TOPDIR)/include/iosfwd:162: warning: inlining failed in call to 'virtual std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/complex:892: warning: inlining failed in call to 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_TypeT>&) [with _TypeT = long double, _CharT = char, _Traits = std::char_traits<char>]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:508: warning: called from here
      $(TOPDIR)/include/complex:892: warning: inlining failed in call to 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_TypeT>&) [with _TypeT = long double, _CharT = char, _Traits = std::char_traits<char>]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:515: warning: called from here
      $(TOPDIR)/include/complex:892: warning: inlining failed in call to 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_TypeT>&) [with _TypeT = long double, _CharT = char, _Traits = std::char_traits<char>]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:522: warning: called from here
      $(TOPDIR)/include/iosfwd:162: warning: inlining failed in call to 'virtual std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:162: warning: inlining failed in call to 'virtual std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:165: warning: inlining failed in call to 'virtual std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:165: warning: inlining failed in call to 'virtual std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:165: warning: inlining failed in call to 'virtual std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd: In member function 'void RWQEComplexTest<T>::testStreamOperator() [with T = float]':
      $(TOPDIR)/include/iosfwd:162: warning: inlining failed in call to 'virtual std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/complex:892: warning: inlining failed in call to 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_TypeT>&) [with _TypeT = float, _CharT = char, _Traits = std::char_traits<char>]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:508: warning: called from here
      $(TOPDIR)/include/complex:892: warning: inlining failed in call to 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_TypeT>&) [with _TypeT = float, _CharT = char, _Traits = std::char_traits<char>]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:515: warning: called from here
      $(TOPDIR)/include/complex:892: warning: inlining failed in call to 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_TypeT>&) [with _TypeT = float, _CharT = char, _Traits = std::char_traits<char>]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:522: warning: called from here
      $(TOPDIR)/include/iosfwd:162: warning: inlining failed in call to 'virtual std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:162: warning: inlining failed in call to 'virtual std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:165: warning: inlining failed in call to 'virtual std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:165: warning: inlining failed in call to 'virtual std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:165: warning: inlining failed in call to 'virtual std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd: In member function 'void RWQEComplexTest<T>::testStreamOperator() [with T = double]':
      $(TOPDIR)/include/iosfwd:162: warning: inlining failed in call to 'virtual std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/complex:892: warning: inlining failed in call to 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_TypeT>&) [with _TypeT = double, _CharT = char, _Traits = std::char_traits<char>]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:508: warning: called from here
      $(TOPDIR)/include/complex:892: warning: inlining failed in call to 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_TypeT>&) [with _TypeT = double, _CharT = char, _Traits = std::char_traits<char>]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:515: warning: called from here
      $(TOPDIR)/include/complex:892: warning: inlining failed in call to 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::complex<_TypeT>&) [with _TypeT = double, _CharT = char, _Traits = std::char_traits<char>]': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:522: warning: called from here
      $(TOPDIR)/include/iosfwd:162: warning: inlining failed in call to 'virtual std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:162: warning: inlining failed in call to 'virtual std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:165: warning: inlining failed in call to 'virtual std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:165: warning: inlining failed in call to 'virtual std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/iosfwd:165: warning: inlining failed in call to 'virtual std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()': --param large-function-growth limit reached
      $(TOPDIR)/tests/numerics/26_complex.cpp:530: warning: called from here
      $(TOPDIR)/include/complex: In member function 'void RWQEComplexTest<T>::testPow() [with T = float]':
      $(TOPDIR)/include/complex:814: warning: inlining failed in call to 'std::complex<_TypeT> std::pow(const std::complex<_TypeT>&, const std::complex<_TypeT>&) [with _TypeT = float]': --param large-function-growth limit reached
      $(TOPDIR)/include/complex:759: warning: called from here
      gcc 26_complex.o -o 26_complex -L$(BUILDDIR)/rwtest -lrwtest -m32 -L$(BUILDDIR)/lib -Wl,-R$(BUILDDIR)/lib:$(BUILDDIR)/rwtest -lstd -lsupc++ -lm
      26_complex.o: In function `RWQEComplexTest<long double>::testStreamOperator()':
      26_complex.cpp.text._ZN15RWQEComplexTestIeE18testStreamOperatorEv[RWQEComplexTest<long double>::testStreamOperator()]+0x27): warning: the use of `tmpnam' is dangerous, better use `mkstemp'

      Attachments

        Activity

          People

            sebor Martin Sebor
            sebor Martin Sebor
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: