1762bb9d0ad20320b9f97a841dce57ba5e8e48b07Richard Smith//===----------------------------------------------------------------------===//
2f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl//
3f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl//                     The LLVM Compiler Infrastructure
4f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl//
5c5a89a1cc2f168ad0a115c560b8de5f1c952d8c5Richard Smith// This file is dual licensed under the MIT and the University of Illinois Open
6f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl// Source Licenses. See LICENSE.TXT for details.
7f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl//
8f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl//===----------------------------------------------------------------------===//
9f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl
10f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl// test type_info
1107b0fdcee8d64222b274779d02851cc53d18e0dbRichard Smith
1207b0fdcee8d64222b274779d02851cc53d18e0dbRichard Smith#include <typeinfo>
13f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl#include <cstring>
14f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl#include <cassert>
1507b0fdcee8d64222b274779d02851cc53d18e0dbRichard Smith
1607b0fdcee8d64222b274779d02851cc53d18e0dbRichard Smithint main()
17f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl{
18f677ea3cc9598d9952ad7ffab5fb322ba4c5be31Sebastian Redl    const std::type_info& t1 = typeid(int);
19c5a89a1cc2f168ad0a115c560b8de5f1c952d8c5Richard Smith    const std::type_info& t2 = typeid(int);
20c5a89a1cc2f168ad0a115c560b8de5f1c952d8c5Richard Smith    assert(t1 == t2);
21c5a89a1cc2f168ad0a115c560b8de5f1c952d8c5Richard Smith    const std::type_info& t3 = typeid(short);
22c5a89a1cc2f168ad0a115c560b8de5f1c952d8c5Richard Smith    assert(t1 != t3);
23c5a89a1cc2f168ad0a115c560b8de5f1c952d8c5Richard Smith    assert(!t1.before(t2));
24c5a89a1cc2f168ad0a115c560b8de5f1c952d8c5Richard Smith    assert(strcmp(t1.name(), t2.name()) == 0);
2507b0fdcee8d64222b274779d02851cc53d18e0dbRichard Smith    assert(strcmp(t1.name(), t3.name()) != 0);
2607b0fdcee8d64222b274779d02851cc53d18e0dbRichard Smith}
27c5a89a1cc2f168ad0a115c560b8de5f1c952d8c5Richard Smith