Work around recent -Wshadow changes in Clang
authorEric Fiselier <eric@efcs.ca>
Tue, 4 Apr 2017 01:05:59 +0000 (01:05 +0000)
committerEric Fiselier <eric@efcs.ca>
Tue, 4 Apr 2017 01:05:59 +0000 (01:05 +0000)
llvm-svn: 299407

libcxx/include/experimental/filesystem
libcxx/include/regex

index cf62ca2..04180d1 100644 (file)
@@ -1091,7 +1091,18 @@ class _LIBCPP_TYPE_VIS path::iterator
 {
 public:
     typedef bidirectional_iterator_tag iterator_category;
+
+    // FIXME: As of 3/April/2017 Clang warns on `value_type` shadowing the
+    // definition in path. Clang should be fixed and this should be removed.
+#if defined(__clang__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wshadow"
+#endif
     typedef path                       value_type;
+#if defined(__clang__)
+#pragma clang diagnostic pop
+#endif
+
     typedef std::ptrdiff_t             difference_type;
     typedef const path*                pointer;
     typedef const path&                reference;
index 42e55e8..fe97a63 100644 (file)
@@ -3957,7 +3957,6 @@ basic_regex<_CharT, _Traits>::__parse_equivalence_class(_ForwardIterator __first
     if (__temp == __last)
         __throw_regex_error<regex_constants::error_brack>();
     // [__first, __temp) contains all text in [= ... =]
-    typedef typename _Traits::string_type string_type;
     string_type __collate_name =
         __traits_.lookup_collatename(__first, __temp);
     if (__collate_name.empty())