[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2014-03-02 Thread pbristow at hetp dot u-net.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

Paul A. Bristow pbristow at hetp dot u-net.com changed:

   What|Removed |Added

 CC||pbristow at hetp dot u-net.com

--- Comment #12 from Paul A. Bristow pbristow at hetp dot u-net.com ---
This still exists at 4.8.2 and is a *showstopper* for running the Boost.Math
library at all the available precisions, up to 128-bit precision where
available.

typeid(type).name() fails with:

undefined reference to `typeinfo for __float128'

We can check that the library seems to work OK by ugly hacking of error
handling and a few examples of test code (out of the hundreds of tests), but we
absolutely need this before it can be fully tested at 128-bit precision and
released.

Getting this library to pass is part of a demonstration of the proposed C++ and
C library additions by Christopher Kormanyos and John Maddock

Floating-Point Typedefs Having Specified Widths - N3626

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3626.pdf

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1703.pdf

Everything is working to provide full C++ 128-bit floating-point - apart from
this :-( 

So we are very keen to have a fix.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2014-03-02 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #13 from Marc Glisse glisse at gcc dot gnu.org ---
It looks like emit_support_tinfos (rtti.c) should go through
registered_builtin_types (hidden in c-common.c) in addition to the hardcoded
fundamentals list.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2012-10-21 Thread planet36 at gmail dot com


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



--- Comment #11 from Steve Ward planet36 at gmail dot com 2012-10-21 22:05:35 
UTC ---

This problem still exists in g++ 4.7.2.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-09-25 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||john.salmon at deshaw dot
   ||com

--- Comment #10 from Paolo Carlini paolo.carlini at oracle dot com 2011-09-25 
15:04:17 UTC ---
*** Bug 40855 has been marked as a duplicate of this bug. ***


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-04-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.6.1   |---


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-04-14 Thread planet36 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #9 from Steve Ward planet36 at gmail dot com 2011-04-14 15:56:12 
UTC ---
Created attachment 23982
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23982
This test-case shows how typeinfo for non-complex 128-bit types DOES NOT work,
but typeinfo for complex 128-bit types DOES work.

$ g++-4.5 --version
g++-4.5 (Ubuntu/Linaro 4.5.1-7ubuntu2) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ uname --all
Linux dev8 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 18:42:20 UTC 2011 x86_64
GNU/Linux

$ g++-4.5 gcc_bug_43622.cpp  ./a.out
complex_int128 = Cn
complex_uint128 = Co
complex_binary128 = Cg


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-03-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|4.6.0   |4.6.1

--- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2011-03-25 
19:52:22 UTC ---
GCC 4.6.0 is being released, adjusting target milestone.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-24 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #2 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2011-02-24 15:23:33 UTC ---
This seems related to bug 40855.  See also 
http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00652.html and the rest of 
that thread.  libstdc++ support for extended integer and floating-point 
types covers more than typeinfo; see what I said at 
http://gcc.gnu.org/ml/gcc-patches/2010-05/msg01912.html and the 
followups thereto.  There's numeric_limits (see bug 40856), and I/O 
support (with the same issues as for libgfortran about avoiding 
libquadmath in static links if the functionality isn't used in a 
particular program), and mathematical functions, and maybe more - 
certainly most of that would not be suitable for 4.6, however.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #3 from Benjamin Kosnik bkoz at gcc dot gnu.org 2011-02-24 
18:53:08 UTC ---

Expecting this as exported as fundamental_type_info, see in emit_support_tinfos
via rtti.c:1461:

  static tree *const fundamentals[] =
  {
void_type_node,
boolean_type_node,
wchar_type_node, char16_type_node, char32_type_node,
char_type_node, signed_char_type_node, unsigned_char_type_node,
short_integer_type_node, short_unsigned_type_node,
integer_type_node, unsigned_type_node,
long_integer_type_node, long_unsigned_type_node,
long_long_integer_type_node, long_long_unsigned_type_node,
int128_integer_type_node, int128_unsigned_type_node,
float_type_node, double_type_node, long_double_type_node,
dfloat32_type_node, dfloat64_type_node, dfloat128_type_node,
nullptr_type_node,
0
  };

Which should take care of this, given the libstdc++ ver patch to export the
symbols. However, none is emitted when building
libsupc++/fundamental_type_info.o.

Ouch.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #4 from Benjamin Kosnik bkoz at gcc dot gnu.org 2011-02-24 
18:54:06 UTC ---
Created attachment 23457
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23457
typeinfo exports for float128


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #5 from Benjamin Kosnik bkoz at gcc dot gnu.org 2011-02-24 
19:09:33 UTC ---

RE comment 2. 

Yes, agreed full support is a ways off. However, typeinfo support is ostensibly
already there, just not emitted. This is a bug, and not something users can
work around. IMHO it should be fixed, and since there are already 4.6.0
typeinfo exports this seems like an opportune time to do it.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-02-24 
19:13:16 UTC ---
I guess #c4 patch will break ppc/s390 etc.
config/os/gnu-linux/ldbl-extra.ver already has:
CXXABI_LDBL_1.3 {
  _ZT[IS]g;
  _ZT[IS]Pg;
  _ZT[IS]PKg;
};

So, IMNSHO you don't want to add something like that to gnu.ver, but have
a special *.ver file for those 3 targets (i?86/x86_64/ia64) that have
__float128.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-24 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

--- Comment #7 from Benjamin Kosnik bkoz at gcc dot gnu.org 2011-02-24 
19:28:02 UTC ---

ack, I mis-read rtti.c, these are the decimal exports, ie decimal128  not
float128.

Jakub you are correct these are exports as LD symbols via ld versioning via
inclusion. I missed that!

%find . -type f | xargs grep _ZTIg
./powerpc-linux-gnu/baseline_symbols.txt:OBJECT:8:_ZTIg@@CXXABI_LDBL_1.3
./sparc-linux-gnu/baseline_symbols.txt:OBJECT:8:_ZTIg@@CXXABI_LDBL_1.3
./powerpc64-linux-gnu/32/baseline_symbols.txt:OBJECT:8:_ZTIg@@CXXABI_LDBL_1.3
./powerpc64-linux-gnu/baseline_symbols.txt:OBJECT:16:_ZTIg@@CXXABI_LDBL_1.3
./s390-linux-gnu/baseline_symbols.txt:OBJECT:8:_ZTIg@@CXXABI_LDBL_1.3
./s390x-linux-gnu/baseline_symbols.txt:OBJECT:16:_ZTIg@@CXXABI_LDBL_1.3
./alpha-linux-gnu/baseline_symbols.txt:OBJECT:16:_ZTIg@@CXXABI_LDBL_1.3

sparc may be questionable in reality as it is inferred on alpha.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2011-02-23 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622

Benjamin Kosnik bkoz at gcc dot gnu.org changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |bkoz at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.6.0

--- Comment #1 from Benjamin Kosnik bkoz at gcc dot gnu.org 2011-02-24 
07:33:56 UTC ---
Mine.


[Bug libstdc++/43622] no C++ typeinfo for __float128 and __int128

2010-04-09 Thread paolo dot carlini at oracle dot com


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

   Severity|normal  |enhancement


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