On Tue, Jun 2, 2015 at 9:26 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > Hello! > >> PR c++/44282 >> gcc/cp/ >> * mangle.c (attr_strcmp): New. >> (write_CV_qualifiers_for_type): Also write out attributes that >> affect type identity. >> (write_type): Strip all attributes after writing qualifiers. >> libiberty/ >> * cp-demangle.c (cplus_demangle_type): Handle arguments to vendor >> extended qualifier. > > +++ b/gcc/testsuite/g++.dg/abi/mangle-regparm.C > @@ -0,0 +1,29 @@ > +// { dg-do run { target i?86-*-* } } > > This should read: > > +// { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } > > The test wasn't actually run on x86_64-linux target. I'll commit the > following patch after regtest:
Unfortunately, something is wrong with the testcase itself: FAIL: g++.dg/abi/mangle-regparm.C -std=c++98 (test for excess errors) WARNING: g++.dg/abi/mangle-regparm.C -std=c++98 compilation failed to produce executable FAIL: g++.dg/abi/mangle-regparm.C -std=c++11 (test for excess errors) WARNING: g++.dg/abi/mangle-regparm.C -std=c++11 compilation failed to produce executable FAIL: g++.dg/abi/mangle-regparm.C -std=c++14 (test for excess errors) WARNING: g++.dg/abi/mangle-regparm.C -std=c++14 compilation failed to produce executable with the following error: FAIL: g++.dg/abi/mangle-regparm.C -std=c++98 (test for excess errors) Excess errors: /usr/bin/ld: /tmp/ccU8LttY.o: bad reloc symbol index (0x5b550 >= 0x12) for offset 0x6c in section `.text' /tmp/ccU8LttY.o: could not read symbols: Bad value WARNING: g++.dg/abi/mangle-regparm.C -std=c++98 compilation failed to produce executable g++.dg/abi/mangle-regparm.C -std=c++98 : output file does not exist UNRESOLVED: g++.dg/abi/mangle-regparm.C -std=c++98 scan-assembler _Z18IndirectExternCallIPU7stdcallU7regparmILi3EEFviiEiEvT_T0_S3_ Uros.