[LLVMbugs] [Bug 12093] New: DW_AT_inline not present in assembly for an inlined inline function

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Feb 27 01:25:48 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=12093

             Bug #: 12093
           Summary: DW_AT_inline not present in assembly for an inlined
                    inline function
           Product: clang
           Version: 3.0
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: aspiringllvmdeveloper at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Hello

I am trying to run following test case on Clang compiled output to compare the
dwarf inline attributes in the resulting assembly output .

/* Inlined inline function must have abstract DIE  */
/* { dg-do compile } */
/* { dg-options "-O2 -gdwarf-2 -dA -fpreprocessed" } */
/* { dg-final { scan-assembler "3.*DW_AT_inline" } } */
#1 "test.h"
inline int t()
{
}
int q()
{
  t();
}

The testcase fails because, DW_AT_inline is not present in assembly output.
Could anyone let me know why DW_AT_inline is not emitted with Clang compiled
assembly output?
I am aware that Clang uses C99 mode by default.

In case of GCC, 
.uleb128 0x2    @ (DIE (0x25) DW_TAG_subprogram)
        .byte   0x1     @ DW_AT_external
        .ascii "t\0"    @ DW_AT_name
        .byte   0x1     @ DW_AT_decl_file (test.h)
        .byte   0x1     @ DW_AT_decl_line
        .4byte  0x30    @ DW_AT_type
        .byte   0x3     @ DW_AT_inline

In case of Clang,
.byte   4                       @ Abbrev [4] 0x87:0xa DW_TAG_subprogram
        .byte   116                     @ DW_AT_name
        .byte   0
        .byte   2                       @ DW_AT_decl_file
        .byte   2                       @ DW_AT_decl_line
        .long   128                     @ DW_AT_type
        .byte   1                       @ DW_AT_external
        .byte   0                       @ End Of Children Mark

This appears to be a bug in LLVM ?

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list