1b3be398cSEric Fiselier //===----------------------------------------------------------------------===//
2b3be398cSEric Fiselier //
357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6b3be398cSEric Fiselier //
7b3be398cSEric Fiselier //===----------------------------------------------------------------------===//
8b3be398cSEric Fiselier 
9b3be398cSEric Fiselier // <map>
10b3be398cSEric Fiselier 
11b3be398cSEric Fiselier // class multimap
12b3be398cSEric Fiselier 
13b3be398cSEric Fiselier // multimap();
14b3be398cSEric Fiselier 
15b3be398cSEric Fiselier #include <map>
16b3be398cSEric Fiselier 
177fc6a556SMarshall Clow #include "test_macros.h"
187fc6a556SMarshall Clow 
19b3be398cSEric Fiselier struct X
20b3be398cSEric Fiselier {
21b3be398cSEric Fiselier     std::multimap<int, X> m;
22b3be398cSEric Fiselier     std::multimap<int, X>::iterator i;
23b3be398cSEric Fiselier     std::multimap<int, X>::const_iterator ci;
24*b4437992SCasey Carter #if TEST_STD_VER <= 17
25*b4437992SCasey Carter     // These reverse_iterator specializations require X to be complete in C++20.
26b3be398cSEric Fiselier     std::multimap<int, X>::reverse_iterator ri;
27b3be398cSEric Fiselier     std::multimap<int, X>::const_reverse_iterator cri;
28*b4437992SCasey Carter #endif // TEST_STD_VER <= 17
29b3be398cSEric Fiselier };
30b3be398cSEric Fiselier 
main(int,char **)31*b4437992SCasey Carter int main(int, char**) { return 0; }
32