Thread overview | ||||||
---|---|---|---|---|---|---|
|
June 04, 2004 std::cout << __FUNCTION__ << std::endl fails | ||||
---|---|---|---|---|
| ||||
Does anyone know why the following code fails with the DMC compiler? std::cout << __FUNCTION__ << std::endl; This works with GCC and MSVC++. __FUNCTION__ seems to be recognized by DMC, but still the code does not compile. Thanks |
June 04, 2004 Re: std::cout << __FUNCTION__ << std::endl fails | ||||
---|---|---|---|---|
| ||||
Posted in reply to Aneesh Dalvi | "Aneesh Dalvi" <aneesh@tolv.ca> writes: > Does anyone know why the following code fails with the DMC compiler? > > std::cout << __FUNCTION__ << std::endl; It works here with 8.38n and using stlport 4.5.3: ------------------------------------------------------------------------------- D:\work>dir Volume in drive D is WorkDisk Volume Serial Number is 883F-94F1 Directory of D:\work 05-06-2004 00:20 <DIR> . 05-06-2004 00:20 <DIR> .. 05-06-2004 00:13 97 check.cpp 1 File(s) 97 bytes 2 Dir(s) 15.658.946.560 bytes free D:\work>cat check.cpp #include <iostream> using namespace std; int main() { cout << __FUNCTION__ << endl; } D:\work>dmc check.cpp link check,,,user32+kernel32/noi; D:\work>dir Volume in drive D is WorkDisk Volume Serial Number is 883F-94F1 Directory of D:\work 05-06-2004 00:20 <DIR> . 05-06-2004 00:20 <DIR> .. 05-06-2004 00:13 97 check.cpp 05-06-2004 00:20 361.500 check.exe 05-06-2004 00:20 2.204 check.map 05-06-2004 00:20 28.275 check.obj 4 File(s) 392.076 bytes 2 Dir(s) 15.658.549.248 bytes free D:\work>check main ------------------------------------------------------------------------------- Also checking if I have setup news properly :-) -- -- Jerry van Dijk -- Leiden, Holland |
June 05, 2004 Re: std::cout << __FUNCTION__ << std::endl fails | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jerry van Dijk | Yes, this works: #include <iostream> int main() { std::cout << __FUNCTION__ << std::endl; return 0; } However, this does not: #include <iostream> class test { public: test() { std::cout << __FUNCTION__ << std::endl; } }; int main() { test x; return 0; } C:\projects>c:\dm\bin\dmc -cpp -Ic:\dm\stlport\stlport test2.cc test2.cc(5) : Error: expression expected test2.cc(5) : Warning 6: value of expression is not used --- errorlevel 1 - aneesh "Jerry van Dijk" <windows@jvdsys.demon.nl> wrote in message news:ullj37yn1.fsf@jvdsys.demon.nl... > > "Aneesh Dalvi" <aneesh@tolv.ca> writes: > > > Does anyone know why the following code fails with the DMC compiler? > > > > std::cout << __FUNCTION__ << std::endl; > > It works here with 8.38n and using stlport 4.5.3: > > -------------------------------------------------------------------------- ----- > D:\work>dir > Volume in drive D is WorkDisk > Volume Serial Number is 883F-94F1 > > Directory of D:\work > > 05-06-2004 00:20 <DIR> . > 05-06-2004 00:20 <DIR> .. > 05-06-2004 00:13 97 check.cpp > 1 File(s) 97 bytes > 2 Dir(s) 15.658.946.560 bytes free > > D:\work>cat check.cpp > #include <iostream> > > using namespace std; > > int main() > { > cout << __FUNCTION__ << endl; > } > > D:\work>dmc check.cpp > link check,,,user32+kernel32/noi; > > > D:\work>dir > Volume in drive D is WorkDisk > Volume Serial Number is 883F-94F1 > > Directory of D:\work > > 05-06-2004 00:20 <DIR> . > 05-06-2004 00:20 <DIR> .. > 05-06-2004 00:13 97 check.cpp > 05-06-2004 00:20 361.500 check.exe > 05-06-2004 00:20 2.204 check.map > 05-06-2004 00:20 28.275 check.obj > 4 File(s) 392.076 bytes > 2 Dir(s) 15.658.549.248 bytes free > > D:\work>check > main > -------------------------------------------------------------------------- ----- > > Also checking if I have setup news properly :-) > > -- > -- Jerry van Dijk > -- Leiden, Holland |
June 05, 2004 Re: std::cout << __FUNCTION__ << std::endl fails | ||||
---|---|---|---|---|
| ||||
Posted in reply to Aneesh Dalvi | "Aneesh Dalvi" <aneesh@tolv.ca> writes: > However, this does not: > > #include <iostream> > > class test { > public: > test() { std::cout << __FUNCTION__ << std::endl; } > }; > > int main() { > test x; > return 0; > } Even worse, this does: ------------------------------------------------------------- #include <iostream> class test { public: inline test(); inline ~test(); }; test::test() { std::cout << __FUNCTION__ << std::endl; } inline ~test(); test::~test() { std::cout << __FUNCTION__ << std::endl; } int main() { test x; } ------------------------------------------------------------ Since the dmc docs say: | __FUNCTION__ | | Same as __FUNC__. Provided for Gnu CC compatibility. it could be a bug if "Gnu CC" is also intended to mean gcc c++. Note also that the output of __FUNCTION__ differs from gcc: gcc prints: dmc prints: test test::test ~test test::~test -- -- Jerry van Dijk -- Leiden, Holland |
Copyright © 1999-2021 by the D Language Foundation