Author: marshall
Date: Tue Aug 13 10:52:51 2013
New Revision: 188282
URL: http://llvm.org/viewvc/llvm-project?rev=188282&view=rev
Log:
Added more tests for numeric conversion error handing; Refs LWG issue 2009
Modified:
libcxx/trunk/test/strings/string.conversions/stol.pass.cpp
libcxx/trunk/test/strings/string.conversions/stoll.pass.cpp
libcxx/trunk/test/strings/string.conversions/stoul.pass.cpp
libcxx/trunk/test/strings/string.conversions/stoull.pass.cpp
Modified: libcxx/trunk/test/strings/string.conversions/stol.pass.cpp
URL:
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/strings/string.conversions/stol.pass.cpp?rev=188282&r1=188281&r2=188282&view=diff
==============================================================================
--- libcxx/trunk/test/strings/string.conversions/stol.pass.cpp (original)
+++ libcxx/trunk/test/strings/string.conversions/stol.pass.cpp Tue Aug 13
10:52:51 2013
@@ -86,4 +86,23 @@ int main()
{
assert(idx == 0);
}
+// LWG issue #2009
+ try
+ {
+ std::stol("9999999999999999999999999999999999999999999999999", &idx);
+ assert(false);
+ }
+ catch (const std::out_of_range&)
+ {
+ assert(idx == 0);
+ }
+ try
+ {
+ std::stol(L"9999999999999999999999999999999999999999999999999", &idx);
+ assert(false);
+ }
+ catch (const std::out_of_range&)
+ {
+ assert(idx == 0);
+ }
}
Modified: libcxx/trunk/test/strings/string.conversions/stoll.pass.cpp
URL:
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/strings/string.conversions/stoll.pass.cpp?rev=188282&r1=188281&r2=188282&view=diff
==============================================================================
--- libcxx/trunk/test/strings/string.conversions/stoll.pass.cpp (original)
+++ libcxx/trunk/test/strings/string.conversions/stoll.pass.cpp Tue Aug 13
10:52:51 2013
@@ -98,4 +98,13 @@ int main()
{
assert(idx == 0);
}
+ try
+ {
+ std::stoll(L"99999999999999999999999999", &idx);
+ assert(false);
+ }
+ catch (const std::out_of_range&)
+ {
+ assert(idx == 0);
+ }
}
Modified: libcxx/trunk/test/strings/string.conversions/stoul.pass.cpp
URL:
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/strings/string.conversions/stoul.pass.cpp?rev=188282&r1=188281&r2=188282&view=diff
==============================================================================
--- libcxx/trunk/test/strings/string.conversions/stoul.pass.cpp (original)
+++ libcxx/trunk/test/strings/string.conversions/stoul.pass.cpp Tue Aug 13
10:52:51 2013
@@ -84,4 +84,23 @@ int main()
{
assert(idx == 0);
}
+// LWG issue #2009
+ try
+ {
+ std::stoul("9999999999999999999999999999999999999999999999999", &idx);
+ assert(false);
+ }
+ catch (const std::out_of_range&)
+ {
+ assert(idx == 0);
+ }
+ try
+ {
+ std::stoul(L"9999999999999999999999999999999999999999999999999", &idx);
+ assert(false);
+ }
+ catch (const std::out_of_range&)
+ {
+ assert(idx == 0);
+ }
}
Modified: libcxx/trunk/test/strings/string.conversions/stoull.pass.cpp
URL:
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/strings/string.conversions/stoull.pass.cpp?rev=188282&r1=188281&r2=188282&view=diff
==============================================================================
--- libcxx/trunk/test/strings/string.conversions/stoull.pass.cpp (original)
+++ libcxx/trunk/test/strings/string.conversions/stoull.pass.cpp Tue Aug 13
10:52:51 2013
@@ -85,4 +85,23 @@ int main()
{
assert(idx == 0);
}
+// LWG issue #2009
+ try
+ {
+ std::stoull("9999999999999999999999999999999999999999999999999", &idx);
+ assert(false);
+ }
+ catch (const std::out_of_range&)
+ {
+ assert(idx == 0);
+ }
+ try
+ {
+ std::stoull(L"9999999999999999999999999999999999999999999999999",
&idx);
+ assert(false);
+ }
+ catch (const std::out_of_range&)
+ {
+ assert(idx == 0);
+ }
}
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits