Commit 72c2a0d3 authored by Hannes Roth's avatar Hannes Roth Committed by Dave Watson

(Folly/FBString) Use a lambda to throw an exception for NULL input

Summary:
This should be standard compliant. `__PRETTY_FUNCTION__` seems
unnecessary, it just prints `basic_fbstring`, might as well use that and
simplify the code.

Test Plan:
`fbconfig --platform-all=gcc-4.8.1-glibc-2.17-fb folly/test`
`fbmake runtests_dbg`
`fbmake runtests_opt`

`fbconfig --platform-all=gcc-4.7.1-glibc-2.14.1 folly/test`
`fbmake runtests_dbg`
`fbmake runtests_opt`

`fbconfig --clang folly/test`
`...`

Reviewed By: andrei.alexandrescu@fb.com

FB internal diff: D1243670
parent 52fceaf4
...@@ -1054,12 +1054,13 @@ public: ...@@ -1054,12 +1054,13 @@ public:
} }
/* implicit */ basic_fbstring(const value_type* s, const A& a = A()) /* implicit */ basic_fbstring(const value_type* s, const A& a = A())
: store_(s, s ? traits_type::length(s) : ({ : store_(s, s
basic_fbstring<char> err = __PRETTY_FUNCTION__; ? traits_type::length(s)
err += ": null pointer initializer not valid"; : [] {
std::__throw_logic_error(err.c_str()); std::__throw_logic_error(
0; "basic_fbstring: null pointer initializer not valid");
})) { return 0;
}()) {
} }
basic_fbstring(const value_type* s, size_type n, const A& a = A()) basic_fbstring(const value_type* s, size_type n, const A& a = A())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment