http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51364
--- Comment #3 from Ryan S. Arnold <rsa at us dot ibm.com> 2011-11-30 21:40:47 UTC --- (In reply to comment #2) > The definitions that n2732 wants to add are typedefs to the C++ classes, but > interoperability with C requires the typedefs using modes that Ryan shows. I > never got a good answer from the authors of the C++ technical report about how > to provide C/C++ interoperability. > > I'm not sure what dfp/stdlib.h is, but perhaps it should define typedefs if > __cplusplus is defined. The spec defines the following to be included in float.h for C-compatibility. 3.4.2 Header <float.h> synopsis // C-compatibility convenience typedefs: typedef std::decimal::decimal32 _Decimal32; typedef std::decimal::decimal64 _Decimal64; typedef std::decimal::decimal128 _Decimal128; Adding these to the example code solves the issue as well. If you feel these don't belong in float.h as the spec defines then I could put them in each of the dfp/ headers under the __cplusplus guard.