public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/50102] New: ICE in cp/mangle.c:write_type()
@ 2011-08-16 23:26 pthaugen at gcc dot gnu.org
  2011-08-22 11:00 ` [Bug c++/50102] " jakub at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: pthaugen at gcc dot gnu.org @ 2011-08-16 23:26 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50102

             Bug #: 50102
           Summary: ICE in cp/mangle.c:write_type()
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: pthaugen@gcc.gnu.org
              Host: powerpc64-linux
            Target: powerpc64-linux
             Build: powerpc64-linux


Appears this started back in 4.5, still appears in trunk. Testcase is reduced,
original source did not have extra errors.

> cat test.cpp 
namespace std {
namespace decimal {

template <uint32_t _Digits, uint32_t _Scale>
class _FmtTraits<_PackedDecimal<_Digits, _Scale> > {
};

template <class _Tr>
class _DecBase {
};

class decimal32 : public _DecBase<_FmtTraits<decimal32> > {
};

inline long double decimal32_to_long_double(decimal32 _D)
        { return _DecNumber(_D)._ToLongDouble(); }

}
}

> ~/install/gcc/trunk_debug/bin/g++ -c test.cpp 
test.cpp:4:11: error: ‘uint32_t’ has not been declared
test.cpp:4:29: error: ‘uint32_t’ has not been declared
test.cpp:5:7: error: ‘_FmtTraits’ is not a template
test.cpp:5:18: error: ‘_PackedDecimal’ was not declared in this scope
test.cpp:5:50: error: expected unqualified-id before ‘>’ token
test.cpp:12:35: error: ‘std::decimal::_FmtTraits’ is not a template
test.cpp: In function ‘long double
std::decimal::decimal32_to_long_double(std::decimal::decimal32)’:
test.cpp:16:31: error: ‘_DecNumber’ was not declared in this scope
test.cpp: At global scope:
test.cpp:15:20: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


From gdb:

Program received signal SIGSEGV, Segmentation fault.
0x000000001049f348 in write_type (type=0xfffb6dfc828)
    at /home/pthaugen/src/gcc/trunk_debug/gcc/gcc/cp/mangle.c:1797
1797        type = TREE_TYPE (first_field (type));
(gdb) call debug_tree(type)
 <record_type 0xfffb6dfc828 decimal32 transparent-aggr type_5 QI
    size <integer_cst 0xfffb6c527a0 type <integer_type 0xfffb6d500a8
bitsizetype> constant 8>
    unit size <integer_cst 0xfffb6c527c0 type <integer_type 0xfffb6d50000
sizetype> constant 1>
    align 8 symtab 0 alias set -1 canonical type 0xfffb6dfc828
    fields <type_decl 0xfffb6cf4a08 decimal32
        type <record_type 0xfffb6dfcac8 decimal32 transparent-aggr type_5 QI
size <integer_cst 0xfffb6c527a0 8> unit size <integer_cst 0xfffb6c527c0 1>
            align 8 symtab 0 alias set -1 canonical type 0xfffb6dfc828 fields
<type_decl 0xfffb6cf4a08 decimal32> context <namespace_decl 0xfffb6cf4220
decimal>
            full-name "class std::decimal::decimal32"
            X() X(constX&) this=(X&) n_parents=1 use_template=0
interface-unknown
            chain <type_decl 0xfffb6cf4728 decimal32>>
        nonlocal decl_4 VOID file test.cpp line 12 col 59
        align 1 context <record_type 0xfffb6dfc828 decimal32> result
<record_type 0xfffb6dfc828 decimal32>
       > context <namespace_decl 0xfffb6cf4220 decimal>
    full-name "class std::decimal::decimal32"
    X() X(constX&) this=(X&) n_parents=1 use_template=0 interface-unknown
    chain <type_decl 0xfffb6cf4728 decimal32>>
(gdb) bt 10
#0  0x000000001049f348 in write_type (type=0xfffb6dfc828)
    at /home/pthaugen/src/gcc/trunk_debug/gcc/gcc/cp/mangle.c:1797
#1  0x00000000104a34e0 in write_method_parms (parm_types=0xfffb6e42fa8,
method_p=0, 
    decl=0xfffb6e35f00) at
/home/pthaugen/src/gcc/trunk_debug/gcc/gcc/cp/mangle.c:2373
#2  0x00000000104a3008 in write_bare_function_type (type=0xfffb6dfcc18, 
    include_return_type_p=0, decl=0xfffb6e35f00)
    at /home/pthaugen/src/gcc/trunk_debug/gcc/gcc/cp/mangle.c:2313
#3  0x0000000010494ecc in write_encoding (decl=0xfffb6e35f00)
    at /home/pthaugen/src/gcc/trunk_debug/gcc/gcc/cp/mangle.c:735
#4  0x0000000010493a28 in write_mangled_name (decl=0xfffb6e35f00, top_level=1
'\001')
    at /home/pthaugen/src/gcc/trunk_debug/gcc/gcc/cp/mangle.c:684
#5  0x00000000104a9c90 in mangle_decl_string (decl=0xfffb6e35f00)
    at /home/pthaugen/src/gcc/trunk_debug/gcc/gcc/cp/mangle.c:3124
#6  0x00000000104a9f30 in mangle_decl (decl=0xfffb6e35f00)
    at /home/pthaugen/src/gcc/trunk_debug/gcc/gcc/cp/mangle.c:3146
#7  0x0000000010fc7a44 in decl_assembler_name (decl=0xfffb6e35f00)
    at /home/pthaugen/src/gcc/trunk_debug/gcc/gcc/tree.c:538
#8  0x00000000101c71bc in cxx_comdat_group (decl=0xfffb6e35f00)
    at /home/pthaugen/src/gcc/trunk_debug/gcc/gcc/cp/decl.c:13770
#9  0x00000000102e991c in comdat_linkage (decl=0xfffb6e35f00)
    at /home/pthaugen/src/gcc/trunk_debug/gcc/gcc/cp/decl2.c:1591

> ~/install/gcc/trunk_debug/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/home/pthaugen/install/gcc/trunk_debug/bin/g++
COLLECT_LTO_WRAPPER=/home/pthaugen/install/gcc/trunk_debug/libexec/gcc/powerpc64-linux/4.7.0/lto-wrapper
Target: powerpc64-linux
Configured with: /home/pthaugen/src/gcc/trunk_debug/gcc/configure
--prefix=/home/pthaugen/install/gcc/trunk_debug --target=powerpc64-linux
--host=powerpc64-linux --build=powerpc64-linux --enable-secureplt
--enable-threads=posix --enable-shared --enable-__cxa_atexit
--with-long-double-128 --enable-decimal-float --disable-alsa --enable-checking
--with-lto --with-as=/home/wschmidt/binutils/install/bin/as
--with-ld=/home/wschmidt/binutils/install/bin/ld
--with-libelf=/home/pthaugen/install/gcc-host-libs
--with-gmp=/home/pthaugen/install/gcc-host-libs
--with-mpfr=/home/pthaugen/install/gcc-host-libs
--with-mpc=/home/pthaugen/install/gcc-host-libs
--with-ppl=/home/pthaugen/install/gcc-host-libs
--with-cloog=/home/pthaugen/install/gcc-host-libs
--with-host-libstdcxx='-L/home/pthaugen/install/gcc-host-libs/lib -lstdc++ -lm'
--enable-languages=c,fortran,c++ --disable-bootstrap
Thread model: posix
gcc version 4.7.0 20110709 (experimental) (GCC)


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug c++/50102] ICE in cp/mangle.c:write_type()
  2011-08-16 23:26 [Bug c++/50102] New: ICE in cp/mangle.c:write_type() pthaugen at gcc dot gnu.org
@ 2011-08-22 11:00 ` jakub at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-08-22 11:00 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50102

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |jakub at gcc dot gnu.org
         Resolution|                            |DUPLICATE

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-08-22 10:41:15 UTC ---
Dup of PR46862.

*** This bug has been marked as a duplicate of bug 46862 ***


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-08-22 10:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-16 23:26 [Bug c++/50102] New: ICE in cp/mangle.c:write_type() pthaugen at gcc dot gnu.org
2011-08-22 11:00 ` [Bug c++/50102] " jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).