| // RUN: %check_clang_tidy %s modernize-concat-nested-namespaces %t -- -- -std=c++17 |
| |
| namespace n1 {} |
| |
| namespace n2 { |
| namespace n3 { |
| void t(); |
| } |
| namespace n4 { |
| void t(); |
| } |
| } // namespace n2 |
| |
| namespace n5 { |
| inline namespace n6 { |
| void t(); |
| } |
| } // namespace n5 |
| |
| namespace n7 { |
| void t(); |
| |
| namespace n8 { |
| void t(); |
| } |
| } // namespace n7 |
| |
| namespace n9 { |
| namespace n10 { |
| // CHECK-MESSAGES: :[[@LINE-2]]:1: warning: nested namespaces can be concatenated [modernize-concat-nested-namespaces] |
| // CHECK-FIXES: namespace n9::n10 |
| void t(); |
| } // namespace n10 |
| } // namespace n9 |
| // CHECK-FIXES: } |
| |
| namespace n11 { |
| namespace n12 { |
| // CHECK-MESSAGES: :[[@LINE-2]]:1: warning: nested namespaces can be concatenated [modernize-concat-nested-namespaces] |
| // CHECK-FIXES: namespace n11::n12 |
| namespace n13 { |
| void t(); |
| } |
| namespace n14 { |
| void t(); |
| } |
| } // namespace n12 |
| } // namespace n11 |
| // CHECK-FIXES: } |
| |
| namespace n15 { |
| namespace n16 { |
| void t(); |
| } |
| |
| inline namespace n17 { |
| void t(); |
| } |
| |
| namespace n18 { |
| namespace n19 { |
| namespace n20 { |
| // CHECK-MESSAGES: :[[@LINE-3]]:1: warning: nested namespaces can be concatenated [modernize-concat-nested-namespaces] |
| // CHECK-FIXES: namespace n18::n19::n20 |
| void t(); |
| } // namespace n20 |
| } // namespace n19 |
| } // namespace n18 |
| // CHECK-FIXES: } |
| |
| namespace n21 { |
| void t(); |
| } |
| } // namespace n15 |
| |
| namespace n22 { |
| namespace { |
| void t(); |
| } |
| } // namespace n22 |
| |
| namespace n23 { |
| namespace { |
| namespace n24 { |
| namespace n25 { |
| // CHECK-MESSAGES: :[[@LINE-2]]:1: warning: nested namespaces can be concatenated [modernize-concat-nested-namespaces] |
| // CHECK-FIXES: namespace n24::n25 |
| void t(); |
| } // namespace n25 |
| } // namespace n24 |
| // CHECK-FIXES: } |
| } // namespace |
| } // namespace n23 |
| |
| namespace n26::n27 { |
| namespace n28 { |
| namespace n29::n30 { |
| // CHECK-MESSAGES: :[[@LINE-3]]:1: warning: nested namespaces can be concatenated [modernize-concat-nested-namespaces] |
| // CHECK-FIXES: namespace n26::n27::n28::n29::n30 |
| void t() {} |
| } // namespace n29::n30 |
| } // namespace n28 |
| } // namespace n26::n27 |
| // CHECK-FIXES: } |
| |
| namespace n31 { |
| namespace n32 {} |
| // CHECK-MESSAGES: :[[@LINE-2]]:1: warning: nested namespaces can be concatenated [modernize-concat-nested-namespaces] |
| } // namespace n31 |
| // CHECK-FIXES-EMPTY |
| |
| namespace n33 { |
| namespace n34 { |
| namespace n35 {} |
| // CHECK-MESSAGES: :[[@LINE-2]]:1: warning: nested namespaces can be concatenated [modernize-concat-nested-namespaces] |
| } // namespace n34 |
| // CHECK-FIXES-EMPTY |
| namespace n36 { |
| void t(); |
| } |
| } // namespace n33 |
| |
| namespace n37::n38 { |
| void t(); |
| } |
| |
| #define IEXIST |
| namespace n39 { |
| namespace n40 { |
| // CHECK-MESSAGES: :[[@LINE-2]]:1: warning: nested namespaces can be concatenated [modernize-concat-nested-namespaces] |
| // CHECK-FIXES: namespace n39::n40 |
| #ifdef IEXIST |
| void t() {} |
| #endif |
| } // namespace n40 |
| } // namespace n39 |
| // CHECK-FIXES: } |
| |
| namespace n41 { |
| namespace n42 { |
| // CHECK-MESSAGES: :[[@LINE-2]]:1: warning: nested namespaces can be concatenated [modernize-concat-nested-namespaces] |
| // CHECK-FIXES: namespace n41::n42 |
| #ifdef IDONTEXIST |
| void t() {} |
| #endif |
| } // namespace n42 |
| } // namespace n41 |
| // CHECK-FIXES: } |
| |
| int main() { |
| n26::n27::n28::n29::n30::t(); |
| #ifdef IEXIST |
| n39::n40::t(); |
| #endif |
| |
| #ifdef IDONTEXIST |
| n41::n42::t(); |
| #endif |
| |
| return 0; |
| } |