[Dwarf-Discuss] C++ implicit inline member function

Michael Eager eager@eagerm.com
Tue Nov 11 15:15:48 GMT 2014


On 11/11/14 02:03, Swarup Sahoo wrote:
> Hi,
> I have observed that implicit inline member functions info is not getting captured in .debug_info
> section. Usually explicitly declared inlined function info is getting captured. But implicit inline
> member functions, though they are getting inlined in the executable, but no
> DW_TAG_inlined_subroutine entry is stored for these functions. Is this compiler (GCC) side
> limitation or DWARF standard limitation?
>
> I tried with the following setup:
>
> Compiler: G++/GCC 4.8.2, Clang++/LLVM 3.4
>
> DWARF version: 4
>
> Sample program:
>
> class test
> {
>      private:
>          // some private members
>      public:
>          // this is an implicit inline member function
>          void small_func()
>          {
>              // do some operation
>          }
>
>          void big_func();
> };
>
> void test::big_func()
> {
>      // call small_func()
> }
>
> int main()
> {
>      test t1 ;
>      t1.big_func();
>      return 0;
> }

Please post the DWARF which is generated and what you
believe should be generated.

I notice that your example doesn't call small_func().


-- 
Michael Eager	 eager at eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077



More information about the Dwarf-discuss mailing list