[LLVMbugs] [Bug 21246] New: DWARF template value parameter of 'reference' type incorrectly has 'pointer' type
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Oct 10 16:51:25 PDT 2014
http://llvm.org/bugs/show_bug.cgi?id=21246
Bug ID: 21246
Summary: DWARF template value parameter of 'reference' type
incorrectly has 'pointer' type
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: DebugInfo
Assignee: unassignedbugs at nondot.org
Reporter: warren_ristow at playstation.sony.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Compiling the following test-case at '-O0 -g':
extern "C" int printf(const char *, ...);
template <int &v>
int reference()
{
return v;
}
int a = 42;
int main()
{
int x;
x = reference<a>();
printf("x = %d\n", x);
return 0;
}
produces an incorrect description of 'v'. It is described as a pointer to an
int, rather than a reference to an int. An edited/trimmed version of the
output of llvm-dwarfdump is:
___________________________________________________
0x0000000b: DW_TAG_compile_unit [1] *
DW_AT_producer [DW_FORM_strp]
( .debug_str[0x00000000] = "clang version 3.6.0 (trunk
219524)")
...
0x0000006e: DW_TAG_subprogram [6] *
...
DW_AT_name [DW_FORM_strp]
( .debug_str[0x0000006b] = "reference<&a>")
...
0x0000008b: DW_TAG_template_value_parameter [7]
DW_AT_type [DW_FORM_ref4] (cu + 0x00a0 => {0x000000a0})
DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000053] = "v")
...
0x000000a0: DW_TAG_pointer_type [8]
DW_AT_type [DW_FORM_ref4] (cu + 0x003f => {0x0000003f})
___________________________________________________
The problem was found on an x86_64 target, 'clang --version':
clang version 3.6.0 (trunk 219524)
Target: x86_64-unknown-linux-gnu
Thread model: posix
but also tested with '-target ppu', and it had the same behavior.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20141010/2de00a38/attachment.html>
More information about the llvm-bugs
mailing list