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.