Page MenuHomeFreeBSD

Implement __cxa_throw_bad_array_new_length in libcxxrt
ClosedPublic

Authored by bapt on Oct 21 2014, 7:58 AM.

Details

Summary

Implement __cxa_throw_bad_array_new_length this is required to build world with g++ 4.9
powered by: I_have_no_idea_of_what_I_am_doing

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

bapt retitled this revision from to Implement __cxa_throw_bad_array_new_length in libcxxrt.Oct 21 2014, 7:58 AM
bapt updated this object.
bapt edited the test plan for this revision. (Show Details)
bapt added reviewers: dim, theraven, imp.
bapt updated this revision to Diff 2070.
theraven edited edge metadata.Oct 21 2014, 8:19 AM

Please can you submit the fixed version of this as a pull request upstream too, and I'll approve it there so that we don't have more pain merging the next time.

contrib/libcxxrt/auxhelper.cc
79 ↗(On Diff #2070)

Please keep brace style consistent with the rest of the codebase.

Also, (void) should be ().

contrib/libcxxrt/stdexcept.h
91 ↗(On Diff #2070)

I don't see the implementation of any of the methods declared here.

lib/libcxxrt/Version.map
29 ↗(On Diff #2070)

I think you also want the symbols for the bad_array_new_length class (especially the typeid stuff) or you won't be able to dynamic_cast<> it or catch (std::bad_array_new_length).

bapt edited edge metadata.Oct 21 2014, 9:20 AM
bapt updated this revision to Diff 2073.

Told you I don't understand what I am doing here :)
Anyway I tried to address all your comments
I also created a pull request on upstream:
https://github.com/pathscale/libcxxrt/pull/23

Looks good to me.

theraven edited edge metadata.Oct 21 2014, 10:16 AM
theraven accepted this revision.
This revision is now accepted and ready to land.Oct 21 2014, 10:16 AM
bapt closed this revision.Oct 21 2014, 10:19 AM
bapt updated this revision to Diff 2074.

Closed by commit rS273381 (authored by @bapt).