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

_______________________________________________
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"

Reply via email to