diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 333a51f7d149794e29f243256930af46cdee8269..c20bc0d652dcb5a086653b348c06947f02b673a7 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2009-12-28  Paolo Carlini  <paolo.carlini@oracle.com>
+
+	* include/debug/bitset (bitset<>::bitset(const char*)): Add.
+	* include/profile/bitset (bitset<>::bitset(const char*)): Likewise.
+
 2009-12-24  Edward Smith-Rowland  <3dw4rd@verizon.net>
 	    Paolo Carlini  <paolo.carlini@oracle.com>
 
diff --git a/libstdc++-v3/include/debug/bitset b/libstdc++-v3/include/debug/bitset
index c6203d9a985ea48aa7a3f1c508a6301be0a1eb97..5e5f35dcf1f3121c3160bcac3ce9b3af3fd4d1ea 100644
--- a/libstdc++-v3/include/debug/bitset
+++ b/libstdc++-v3/include/debug/bitset
@@ -144,6 +144,11 @@ namespace __debug
 
       bitset(const _Base& __x) : _Base(__x), _Safe_base() { }
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+      explicit
+      bitset(const char* __str) : _Base(__str) { }
+#endif
+
       // 23.3.5.2 bitset operations:
       bitset<_Nb>&
       operator&=(const bitset<_Nb>& __rhs)
diff --git a/libstdc++-v3/include/profile/bitset b/libstdc++-v3/include/profile/bitset
index e1be8b8d1cac4095dd2f3a8270d227a0115b8f18..1d8ad9f0ffa05f94ebaf92f88263db03bfe16d8b 100644
--- a/libstdc++-v3/include/profile/bitset
+++ b/libstdc++-v3/include/profile/bitset
@@ -121,6 +121,11 @@ namespace __profile
 
       bitset(const _Base& __x) : _Base(__x) { }
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+      explicit
+      bitset(const char* __str) : _Base(__str) { }
+#endif
+
       // 23.3.5.2 bitset operations:
       bitset<_Nb>&
       operator&=(const bitset<_Nb>& __rhs)