The following program does not work for my example TARGET_ARCH=powerpc and
TARGET_ARCH=powerpc64 environments for buildworld based on
projects/clang380-import -r205601:
#include <exception>
int main(void)
{
try { throw std::exception(); }
catch (std::exception& e) {} // same result without &
return 0;
}
The details vary for what happens and what compiler is in use.
TARGET_ARCH=powerpc with clang 3.8.0: SEGV
TARGET_ARCH=powerpc64 with devel/powerpc64-gcc: unbouded loop in
_Unwind_RaiseException
For the powerpc64 context: g++49 can be used to show the problem as well:
Using g++49's a.out gets the same unbounded loop result for:
# g++49 -I /usr/include/c++/v1/ -L /usr/lib/ -g -Wall -pedantic
exception_test.cpp
But the a.out works fine for a normal g++49 header/library usage:
# g++49 -g -Wall -pedantic exception_test.cpp
# ./a.out
#
(These were noticed by trying to build and use kyua to run the /usr/tests
material in tehse enviroments.)
===
Mark Millard
markmi at dsl-only.net
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "[email protected]"