Hi, In case this isn't known, I have another example of gcc (4.6.3 in this case) emitting line number 0. Here's a summary: .cpp: > switch( ntohl(m_ipaddr) ) .i: [Note: This example is from a different file, let's call it foo.cpp] > setOptionNumber ((__extension__ ({ register unsigned > int __v, __x = (val); if (__builtin_constant_p > (__x)) __v = ((((__x) & 0xff000000) >> 24) | (((__x) > & 0x00ff0000) >> 8) | (((__x) & 0x0000ff00) << 8) | > (((__x) & 0x000000ff) << 24)); else __asm__ ("bswap > %0" : "=r" (__v) : "0" (__x)); __v; })), statp); .s: > #APP > # 1490 "foo.cpp" 1 > bswap %eax > # 0 "" 2 > .LVL948: Note too the null file name. Platform is i686-pc-linux-gnu, RHEL4. On Red Hat 4, ntohl() is substituted by __bswap32() via netinet/in.h. Origin of # __bswap32() is unknown, it may be an intrinsic function. Problem seen with gas 2.15, not seen with gas 2.17. We think 2.16 or 2.17 were modified to tolerate line number 0. Problem seen with -O2, not seen with no optimization. I've verified our source base contains the fix for bug 21250 (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21250), so perhaps this is something different. Contact me for more information. Apologies if this is known. Thanks Tim -- View this message in context: http://old.nabble.com/Yet-another-tp33759029p33759029.html Sent from the gcc - Help mailing list archive at Nabble.com.