Problems with <decimal/decimal> header on OS X
fpiro07
fpiro07@hotmail.it
Sun Jan 6 12:40:00 GMT 2013
Hi everybody, I'm experiencing problems with the <decimal/decimal> C++ header
on OS X.
I've installed GCC 4.7.2 with MacPorts and it seems to work with normal
programs but if I write a program which includes <decimal/decimal> I get a
mile-long error message.
E.G. I write in "main.cpp":
#include <iostream>
#include <decimal/decimal>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
and then in the shell:
$ g++ main.cpp -o exe
I get this error message:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:39:2: error: #error This file
requires compiler and library support for ISO/IEC TR 24733 that is currently
not available.
/opt/local/include/gcc47/c++/decimal/decimal:230:56: error: unable to
emulate 'SD'
/opt/local/include/gcc47/c++/decimal/decimal:251:5: error:
'std::decimal::decimal32::decimal32(std::decimal::decimal32::__decfloat32)'
cannot be overloaded
/opt/local/include/gcc47/c++/decimal/decimal:238:14: error: with
'std::decimal::decimal32::decimal32(float)'
/opt/local/include/gcc47/c++/decimal/decimal:313:56: error: unable to
emulate 'DD'
/opt/local/include/gcc47/c++/decimal/decimal:334:5: error:
'std::decimal::decimal64::decimal64(std::decimal::decimal64::__decfloat64)'
cannot be overloaded
/opt/local/include/gcc47/c++/decimal/decimal:321:14: error: with
'std::decimal::decimal64::decimal64(float)'
/opt/local/include/gcc47/c++/decimal/decimal:396:57: error: unable to
emulate 'TD'
/opt/local/include/gcc47/c++/decimal/decimal:418:5: error:
'std::decimal::decimal128::decimal128(std::decimal::decimal128::__decfloat128)'
cannot be overloaded
/opt/local/include/gcc47/c++/decimal/decimal:404:14: error: with
'std::decimal::decimal128::decimal128(float)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h: In function
'std::decimal::decimal32 std::decimal::make_decimal32(long long int, int)':
/opt/local/include/gcc47/c++/decimal/decimal.h:127:17: error: conversion
from '<unnamed-float:32>' to 'const std::decimal::decimal32' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:127:17: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:248:5: note:
std::decimal::decimal32::decimal32(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:247:5: note:
std::decimal::decimal32::decimal32(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:246:5: note:
std::decimal::decimal32::decimal32(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:245:5: note:
std::decimal::decimal32::decimal32(long int)
/opt/local/include/gcc47/c++/decimal/decimal:244:5: note:
std::decimal::decimal32::decimal32(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:243:5: note:
std::decimal::decimal32::decimal32(int)
/opt/local/include/gcc47/c++/decimal/decimal:240:14: note:
std::decimal::decimal32::decimal32(long double)
/opt/local/include/gcc47/c++/decimal/decimal:239:14: note:
std::decimal::decimal32::decimal32(double)
/opt/local/include/gcc47/c++/decimal/decimal:238:14: note:
std::decimal::decimal32::decimal32(float)
/opt/local/include/gcc47/c++/decimal/decimal:227:9: error: initializing
argument 1 of 'std::decimal::decimal32&
std::decimal::decimal32::operator=(const std::decimal::decimal32&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h:131:22: error: conversion
from '<unnamed-float:32>' to 'const std::decimal::decimal32' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:131:22: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:248:5: note:
std::decimal::decimal32::decimal32(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:247:5: note:
std::decimal::decimal32::decimal32(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:246:5: note:
std::decimal::decimal32::decimal32(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:245:5: note:
std::decimal::decimal32::decimal32(long int)
/opt/local/include/gcc47/c++/decimal/decimal:244:5: note:
std::decimal::decimal32::decimal32(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:243:5: note:
std::decimal::decimal32::decimal32(int)
/opt/local/include/gcc47/c++/decimal/decimal:240:14: note:
std::decimal::decimal32::decimal32(long double)
/opt/local/include/gcc47/c++/decimal/decimal:239:14: note:
std::decimal::decimal32::decimal32(double)
/opt/local/include/gcc47/c++/decimal/decimal:238:14: note:
std::decimal::decimal32::decimal32(float)
/opt/local/include/gcc47/c++/decimal/decimal:227:9: error: initializing
argument 1 of 'std::decimal::decimal32&
std::decimal::decimal32::operator=(const std::decimal::decimal32&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h: In function
'std::decimal::decimal32 std::decimal::make_decimal32(long long unsigned
int, int)':
/opt/local/include/gcc47/c++/decimal/decimal.h:145:17: error: conversion
from '<unnamed-float:32>' to 'const std::decimal::decimal32' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:145:17: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:248:5: note:
std::decimal::decimal32::decimal32(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:247:5: note:
std::decimal::decimal32::decimal32(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:246:5: note:
std::decimal::decimal32::decimal32(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:245:5: note:
std::decimal::decimal32::decimal32(long int)
/opt/local/include/gcc47/c++/decimal/decimal:244:5: note:
std::decimal::decimal32::decimal32(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:243:5: note:
std::decimal::decimal32::decimal32(int)
/opt/local/include/gcc47/c++/decimal/decimal:240:14: note:
std::decimal::decimal32::decimal32(long double)
/opt/local/include/gcc47/c++/decimal/decimal:239:14: note:
std::decimal::decimal32::decimal32(double)
/opt/local/include/gcc47/c++/decimal/decimal:238:14: note:
std::decimal::decimal32::decimal32(float)
/opt/local/include/gcc47/c++/decimal/decimal:227:9: error: initializing
argument 1 of 'std::decimal::decimal32&
std::decimal::decimal32::operator=(const std::decimal::decimal32&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h:149:22: error: conversion
from '<unnamed-float:32>' to 'const std::decimal::decimal32' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:149:22: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:248:5: note:
std::decimal::decimal32::decimal32(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:247:5: note:
std::decimal::decimal32::decimal32(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:246:5: note:
std::decimal::decimal32::decimal32(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:245:5: note:
std::decimal::decimal32::decimal32(long int)
/opt/local/include/gcc47/c++/decimal/decimal:244:5: note:
std::decimal::decimal32::decimal32(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:243:5: note:
std::decimal::decimal32::decimal32(int)
/opt/local/include/gcc47/c++/decimal/decimal:240:14: note:
std::decimal::decimal32::decimal32(long double)
/opt/local/include/gcc47/c++/decimal/decimal:239:14: note:
std::decimal::decimal32::decimal32(double)
/opt/local/include/gcc47/c++/decimal/decimal:238:14: note:
std::decimal::decimal32::decimal32(float)
/opt/local/include/gcc47/c++/decimal/decimal:227:9: error: initializing
argument 1 of 'std::decimal::decimal32&
std::decimal::decimal32::operator=(const std::decimal::decimal32&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h: In function
'std::decimal::decimal64 std::decimal::make_decimal64(long long int, int)':
/opt/local/include/gcc47/c++/decimal/decimal.h:163:17: error: conversion
from '<unnamed-float:64>' to 'const std::decimal::decimal64' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:163:17: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:331:5: note:
std::decimal::decimal64::decimal64(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:330:5: note:
std::decimal::decimal64::decimal64(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:329:5: note:
std::decimal::decimal64::decimal64(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:328:5: note:
std::decimal::decimal64::decimal64(long int)
/opt/local/include/gcc47/c++/decimal/decimal:327:5: note:
std::decimal::decimal64::decimal64(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:326:5: note:
std::decimal::decimal64::decimal64(int)
/opt/local/include/gcc47/c++/decimal/decimal:323:14: note:
std::decimal::decimal64::decimal64(long double)
/opt/local/include/gcc47/c++/decimal/decimal:322:14: note:
std::decimal::decimal64::decimal64(double)
/opt/local/include/gcc47/c++/decimal/decimal:321:14: note:
std::decimal::decimal64::decimal64(float)
/opt/local/include/gcc47/c++/decimal/decimal:310:9: error: initializing
argument 1 of 'std::decimal::decimal64&
std::decimal::decimal64::operator=(const std::decimal::decimal64&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h:167:22: error: conversion
from '<unnamed-float:64>' to 'const std::decimal::decimal64' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:167:22: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:331:5: note:
std::decimal::decimal64::decimal64(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:330:5: note:
std::decimal::decimal64::decimal64(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:329:5: note:
std::decimal::decimal64::decimal64(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:328:5: note:
std::decimal::decimal64::decimal64(long int)
/opt/local/include/gcc47/c++/decimal/decimal:327:5: note:
std::decimal::decimal64::decimal64(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:326:5: note:
std::decimal::decimal64::decimal64(int)
/opt/local/include/gcc47/c++/decimal/decimal:323:14: note:
std::decimal::decimal64::decimal64(long double)
/opt/local/include/gcc47/c++/decimal/decimal:322:14: note:
std::decimal::decimal64::decimal64(double)
/opt/local/include/gcc47/c++/decimal/decimal:321:14: note:
std::decimal::decimal64::decimal64(float)
/opt/local/include/gcc47/c++/decimal/decimal:310:9: error: initializing
argument 1 of 'std::decimal::decimal64&
std::decimal::decimal64::operator=(const std::decimal::decimal64&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h: In function
'std::decimal::decimal64 std::decimal::make_decimal64(long long unsigned
int, int)':
/opt/local/include/gcc47/c++/decimal/decimal.h:181:17: error: conversion
from '<unnamed-float:64>' to 'const std::decimal::decimal64' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:181:17: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:331:5: note:
std::decimal::decimal64::decimal64(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:330:5: note:
std::decimal::decimal64::decimal64(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:329:5: note:
std::decimal::decimal64::decimal64(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:328:5: note:
std::decimal::decimal64::decimal64(long int)
/opt/local/include/gcc47/c++/decimal/decimal:327:5: note:
std::decimal::decimal64::decimal64(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:326:5: note:
std::decimal::decimal64::decimal64(int)
/opt/local/include/gcc47/c++/decimal/decimal:323:14: note:
std::decimal::decimal64::decimal64(long double)
/opt/local/include/gcc47/c++/decimal/decimal:322:14: note:
std::decimal::decimal64::decimal64(double)
/opt/local/include/gcc47/c++/decimal/decimal:321:14: note:
std::decimal::decimal64::decimal64(float)
/opt/local/include/gcc47/c++/decimal/decimal:310:9: error: initializing
argument 1 of 'std::decimal::decimal64&
std::decimal::decimal64::operator=(const std::decimal::decimal64&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h:185:22: error: conversion
from '<unnamed-float:64>' to 'const std::decimal::decimal64' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:185:22: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:331:5: note:
std::decimal::decimal64::decimal64(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:330:5: note:
std::decimal::decimal64::decimal64(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:329:5: note:
std::decimal::decimal64::decimal64(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:328:5: note:
std::decimal::decimal64::decimal64(long int)
/opt/local/include/gcc47/c++/decimal/decimal:327:5: note:
std::decimal::decimal64::decimal64(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:326:5: note:
std::decimal::decimal64::decimal64(int)
/opt/local/include/gcc47/c++/decimal/decimal:323:14: note:
std::decimal::decimal64::decimal64(long double)
/opt/local/include/gcc47/c++/decimal/decimal:322:14: note:
std::decimal::decimal64::decimal64(double)
/opt/local/include/gcc47/c++/decimal/decimal:321:14: note:
std::decimal::decimal64::decimal64(float)
/opt/local/include/gcc47/c++/decimal/decimal:310:9: error: initializing
argument 1 of 'std::decimal::decimal64&
std::decimal::decimal64::operator=(const std::decimal::decimal64&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h: In function
'std::decimal::decimal128 std::decimal::make_decimal128(long long int,
int)':
/opt/local/include/gcc47/c++/decimal/decimal.h:199:17: error: conversion
from '<unnamed-float:128>' to 'const std::decimal::decimal128' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:199:17: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:415:5: note:
std::decimal::decimal128::decimal128(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:414:5: note:
std::decimal::decimal128::decimal128(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:413:5: note:
std::decimal::decimal128::decimal128(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:412:5: note:
std::decimal::decimal128::decimal128(long int)
/opt/local/include/gcc47/c++/decimal/decimal:411:5: note:
std::decimal::decimal128::decimal128(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:410:5: note:
std::decimal::decimal128::decimal128(int)
/opt/local/include/gcc47/c++/decimal/decimal:406:14: note:
std::decimal::decimal128::decimal128(long double)
/opt/local/include/gcc47/c++/decimal/decimal:405:14: note:
std::decimal::decimal128::decimal128(double)
/opt/local/include/gcc47/c++/decimal/decimal:404:14: note:
std::decimal::decimal128::decimal128(float)
/opt/local/include/gcc47/c++/decimal/decimal:393:9: error: initializing
argument 1 of 'std::decimal::decimal128&
std::decimal::decimal128::operator=(const std::decimal::decimal128&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h:203:22: error: conversion
from '<unnamed-float:128>' to 'const std::decimal::decimal128' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:203:22: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:415:5: note:
std::decimal::decimal128::decimal128(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:414:5: note:
std::decimal::decimal128::decimal128(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:413:5: note:
std::decimal::decimal128::decimal128(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:412:5: note:
std::decimal::decimal128::decimal128(long int)
/opt/local/include/gcc47/c++/decimal/decimal:411:5: note:
std::decimal::decimal128::decimal128(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:410:5: note:
std::decimal::decimal128::decimal128(int)
/opt/local/include/gcc47/c++/decimal/decimal:406:14: note:
std::decimal::decimal128::decimal128(long double)
/opt/local/include/gcc47/c++/decimal/decimal:405:14: note:
std::decimal::decimal128::decimal128(double)
/opt/local/include/gcc47/c++/decimal/decimal:404:14: note:
std::decimal::decimal128::decimal128(float)
/opt/local/include/gcc47/c++/decimal/decimal:393:9: error: initializing
argument 1 of 'std::decimal::decimal128&
std::decimal::decimal128::operator=(const std::decimal::decimal128&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h: In function
'std::decimal::decimal128 std::decimal::make_decimal128(long long unsigned
int, int)':
/opt/local/include/gcc47/c++/decimal/decimal.h:217:17: error: conversion
from '<unnamed-float:128>' to 'const std::decimal::decimal128' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:217:17: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:415:5: note:
std::decimal::decimal128::decimal128(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:414:5: note:
std::decimal::decimal128::decimal128(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:413:5: note:
std::decimal::decimal128::decimal128(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:412:5: note:
std::decimal::decimal128::decimal128(long int)
/opt/local/include/gcc47/c++/decimal/decimal:411:5: note:
std::decimal::decimal128::decimal128(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:410:5: note:
std::decimal::decimal128::decimal128(int)
/opt/local/include/gcc47/c++/decimal/decimal:406:14: note:
std::decimal::decimal128::decimal128(long double)
/opt/local/include/gcc47/c++/decimal/decimal:405:14: note:
std::decimal::decimal128::decimal128(double)
/opt/local/include/gcc47/c++/decimal/decimal:404:14: note:
std::decimal::decimal128::decimal128(float)
/opt/local/include/gcc47/c++/decimal/decimal:393:9: error: initializing
argument 1 of 'std::decimal::decimal128&
std::decimal::decimal128::operator=(const std::decimal::decimal128&)'
In file included from /opt/local/include/gcc47/c++/decimal/decimal:483:0,
from main.cpp:2:
/opt/local/include/gcc47/c++/decimal/decimal.h:221:22: error: conversion
from '<unnamed-float:128>' to 'const std::decimal::decimal128' is ambiguous
/opt/local/include/gcc47/c++/decimal/decimal.h:221:22: note: candidates are:
In file included from main.cpp:2:0:
/opt/local/include/gcc47/c++/decimal/decimal:415:5: note:
std::decimal::decimal128::decimal128(long long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:414:5: note:
std::decimal::decimal128::decimal128(long long int)
/opt/local/include/gcc47/c++/decimal/decimal:413:5: note:
std::decimal::decimal128::decimal128(long unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:412:5: note:
std::decimal::decimal128::decimal128(long int)
/opt/local/include/gcc47/c++/decimal/decimal:411:5: note:
std::decimal::decimal128::decimal128(unsigned int)
/opt/local/include/gcc47/c++/decimal/decimal:410:5: note:
std::decimal::decimal128::decimal128(int)
/opt/local/include/gcc47/c++/decimal/decimal:406:14: note:
std::decimal::decimal128::decimal128(long double)
/opt/local/include/gcc47/c++/decimal/decimal:405:14: note:
std::decimal::decimal128::decimal128(double)
/opt/local/include/gcc47/c++/decimal/decimal:404:14: note:
std::decimal::decimal128::decimal128(float)
/opt/local/include/gcc47/c++/decimal/decimal:393:9: error: initializing
argument 1 of 'std::decimal::decimal128&
std::decimal::decimal128::operator=(const std::decimal::decimal128&)'
What does this mean? How can I make it work?
--
View this message in context: http://gcc.1065356.n5.nabble.com/Problems-with-decimal-decimal-header-on-OS-X-tp902209.html
Sent from the gcc - Help mailing list archive at Nabble.com.
More information about the Gcc-help
mailing list