Re: [RFC] md reorg plans for 4.6?
On Saturday, October 31, 2009, Ian Lance Taylor wrote: > Paolo Bonzini writes: >> - there's also M68HC11 and SH... well, I doubt there will be volunteers. > > But note that, e.g., bt-load.c looks like a generic file but is > actually SH specific, so moving it into config/sh will be an > improvement for everybody. Actually bt-load or something similar would be useful for at least one other target, ia64. Ciao, Steven
Joker Board Commercal 3 (������ �����)_||||
Joker Board Commercal 3 - лÑÑÑий ÑкÑÐ¸Ð¿Ñ Ð´Ð¾Ñки обÑÑвлений 2009 года!
Re: Library ABI seriously broken!!
On 10/30/2009 06:27 PM, Paolo Carlini wrote: Thanks. So I went ahead and reapplied the patch with the +1 fixed, after having double checked that the testsuites are now fine. The lengths do still need to be different on the two code paths, though. You added back the NULL for the normal case, but the '*' path still lacks it. I'll fix this. Jason
Re: Library ABI seriously broken!!
Jason Merrill wrote: > The lengths do still need to be different on the two code paths, > though. You added back the NULL for the normal case, but the '*' path > still lacks it. I'll fix this. Ah, ok, thanks. Paolo.
Re: MPC 0.8 prerelease tarball (last release before MPC is mandatory!)
> Please test this MPC package and report back the results of running > "make check" along with your target triplet, the compiler version you > used, and the versions of gmp/mpfr used to compile it. You do not > necessarily need to bootstrap mainline GCC with this MPC, but if you > have the spare time and cycles it would be nice too. All 57 tests passed on hppa2.0w-hp-hpux11.11 and hppa64-hp-hpux11.11. Dave -- J. David Anglin dave.ang...@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
Re: enable-build-with-cxx bootstrap compare broken by r149964
Here's the fix I'm checking in for the * path. Jason commit 16463ef55164d4668d6f1eeb150974452e1dbe58 Author: Jason Merrill Date: Sat Oct 31 18:10:17 2009 -0400 * rtti.c (tinfo_name): Fix lengths for private case. diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c index 2926f97..c7af74a 100644 --- a/gcc/cp/rtti.c +++ b/gcc/cp/rtti.c @@ -364,10 +364,10 @@ tinfo_name (tree type, bool mark_private) if (mark_private) { /* Inject '*' at beginning of name to force pointer comparison. */ - char* buf = (char*) XALLOCAVEC (char, length + 1); + char* buf = (char*) XALLOCAVEC (char, length + 2); buf[0] = '*'; - memcpy (buf + 1, name, length); - name_string = build_string (length + 1, buf); + memcpy (buf + 1, name, length + 1); + name_string = build_string (length + 2, buf); } else name_string = build_string (length + 1, name); diff --git a/gcc/testsuite/g++.dg/rtti/typeid9.C b/gcc/testsuite/g++.dg/rtti/typeid9.C new file mode 100644 index 000..381252d --- /dev/null +++ b/gcc/testsuite/g++.dg/rtti/typeid9.C @@ -0,0 +1,21 @@ +// Test that the typeid name for a local class is properly null-terminated. +// { dg-do run } + +#include +#include +#include + +int f() +{ + struct A {}; struct B {}; + const std::type_info &ti = typeid(A); + const std::type_info &ti2 = typeid(B); + puts (ti.name()); + puts (ti2.name()); + return strcmp (ti.name(), "Z1fvE1A") || strcmp (ti2.name(), "Z1fvE1B"); +} + +int main() +{ + return f(); +}