On Tue, 23 Jan 2024 at 02:01, Ming Cheng via Gcc <gcc@gcc.gnu.org> wrote: > > Hi GCC, > > Seems Janis is not at IBM. Wondering someone from GCC can help my question? > > Thanks > Ming. > > From: Ming Cheng > Sent: Monday, January 22, 2024 3:18 PM > To: janis...@us.ibm.com > Subject: GCC Decimal128 class > > Hi Janis Johnson, > > I want to test GCC Decimal128 class. > > This is my code: > > #include <stdio.h> > #include <cstdlib> > #include <vector> > #include <algorithm> > #include <ctime> > #include <random> > #include <string> > #include <fstream> > #include <fenv.h> > #include "decimal/decimal.h" > > int main (void) > { > std::decimal::decimal128 d128{}; > return 0; > } > > When I compile by c++23 (/opt/rh/gcc-toolset-13/root/bin/g++ -rdynamic > -std=c++23 -O2 ......) > I got this error: > > /opt/rh/gcc-toolset-13/root/usr/include/c++/13/decimal/decimal.h:46:10: > error: 'decimal32' does not name a type > 46 | inline decimal32::decimal32(decimal64 __r) : > __val(__r.__getval()) {} > > I checked /opt/rh/gcc-toolset-13/root/usr/include/c++/13/decimal/decimal.h > and found this comments: > > /** @file decimal/decimal.h > * This is an internal header file, included by other library headers. > * Do not attempt to use it directly. @headername{decimal} > */ > > Wondering whether you can give some advice?
Like it says, you don't include <decimal/decimal.h> You want <decimal/decimal> instead. That works fine.