std::logic_error::~logic_error() too big to be inlined in exception.cpp -----------------------------------------------------------------------
Key: STDCXX-416 URL: https://issues.apache.org/jira/browse/STDCXX-416 Project: C++ Standard Library Issue Type: Bug Components: 19. Diagnostics Affects Versions: 4.1.3 Environment: gcc 3.3.3 (SuSE Linux) Reporter: Martin Sebor Priority: Minor We're getting tons of warnings while optimizing the library (exception.cpp) with gcc 3.3.3 for logic_error dtor being too big to be inlined (see below). gcc -c -I$(TOPDIR)/include/ansi -pthread -I$(TOPDIR)/include -I$(BUILDDIR)/include -pedantic -nostdinc++ -O2 -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align -fPIC $(TOPDIR)/src/exception.cpp $(TOPDIR)/include/string: In member function `virtual std::out_of_range::~out_of_range()': $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:689: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/src/exception.cpp:689: warning: called from here $(TOPDIR)/include/string: In member function `virtual std::length_error::~length_error()': $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:686: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/src/exception.cpp:686: warning: called from here $(TOPDIR)/include/string: In function `void __rw::__rw_throw_exception(int, char*)': $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:58: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:679: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:70: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:683: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:82: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:686: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:686: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:686: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:94: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:689: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:689: warning: called from here $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : --param large-function-growth limit reached while inlining the caller $(TOPDIR)/include/string:689: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:679: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/include/stdexcept:58: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:679: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/src/exception.cpp:679: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:682: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/include/stdexcept:70: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:683: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/src/exception.cpp:683: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:686: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/include/stdexcept:82: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:686: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/src/exception.cpp:686: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:686: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/src/exception.cpp:686: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:686: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/src/exception.cpp:686: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:689: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/include/stdexcept:94: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:689: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/src/exception.cpp:689: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:689: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/src/exception.cpp:689: warning: called from here In file included from $(TOPDIR)/src/exception.cpp:689: $(TOPDIR)/include/stdexcept:54: warning: inlining failed in call to `std::logic_error::~logic_error()' : function not considered for inlining $(TOPDIR)/src/exception.cpp:689: warning: called from here -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.