sebpop added a comment. I like the patch. Thanks for removing #ifdefs from the code: it improves readability in general. Would it be possible to move the __throw_* functions in a same .h file to avoid having them all over?
================ Comment at: include/array:212 @@ -214,3 +211,3 @@ #else - assert(!"array::at out_of_range"); + _VSTD::abort(); #endif ---------------- Maybe you can use __throw_out_of_range? Fewer #ifdefs in the code is better. ================ Comment at: include/array:226 @@ -228,3 +225,3 @@ #else - assert(!"array::at out_of_range"); + _VSTD::abort(); #endif ---------------- __throw_out_of_range ================ Comment at: include/bitset:218 @@ +217,3 @@ + { +#ifndef _LIBCPP_NO_EXCEPTIONS + throw overflow_error(__msg); ---------------- To improve readability, could you please avoid the double negation by turning around the clauses: #ifdef _LIBCPP_NO_EXCEPTIONS _VSTD::abort(); #else throw overflow_error(__msg); #endif And the same below in all the __throw_* functions. Thanks! ================ Comment at: include/deque:909 @@ -908,1 +908,3 @@ +#else + _VSTD::abort(); #endif ---------------- Maybe you can add another function for this one: __throw_length_error ================ Comment at: include/deque:920 @@ -917,1 +919,3 @@ +#else + _VSTD::abort(); #endif ---------------- __throw_out_of_range ================ Comment at: include/experimental/any:106 @@ -106,3 +105,3 @@ #else - assert(!"bad_any_cast"); + _VSTD::abort(); #endif ---------------- Maybe add a new function __throw_bad_any_cast? ================ Comment at: include/experimental/dynarray:145 @@ -148,3 +144,3 @@ #else - assert(!"dynarray::allocation"); + _VSTD::abort(); #endif ---------------- New function: __throw_bad_array_length? ================ Comment at: include/experimental/dynarray:286 @@ -289,3 +285,3 @@ #else - assert(!"dynarray::at out_of_range"); + _VSTD::abort(); #endif ---------------- __throw_out_of_range ================ Comment at: include/experimental/dynarray:302 @@ -305,3 +301,3 @@ #else - assert(!"dynarray::at out_of_range"); + _VSTD::abort(); #endif ---------------- __throw_out_of_range https://reviews.llvm.org/D23855 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits