[ 
https://issues.apache.org/jira/browse/STDCXX-416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Sebor closed STDCXX-416.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 4.2

The warnings for the exception class dtors have disappeared from our nightly 
test results after the change (other similar warnings still remain in the 
builds of the test suite but that's a separate issue).

> 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
>         Assigned To: Martin Sebor
>            Priority: Minor
>             Fix For: 4.2
>
>
> 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.

Reply via email to