1bb09ef95SLouis Dionne //===----------------------------------------------------------------------===// 2bb09ef95SLouis Dionne // 3bb09ef95SLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4bb09ef95SLouis Dionne // See https://llvm.org/LICENSE.txt for license information. 5bb09ef95SLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6bb09ef95SLouis Dionne // 7bb09ef95SLouis Dionne //===----------------------------------------------------------------------===// 8bb09ef95SLouis Dionne 9*f9e70fa5SLouis Dionne // Make sure the TEST_HAS_NO_RTTI macro is NOT defined when the no-rtti Lit 10bb09ef95SLouis Dionne // feature isn't defined. 11bb09ef95SLouis Dionne 12*f9e70fa5SLouis Dionne // UNSUPPORTED: no-rtti 13bb09ef95SLouis Dionne 14bb09ef95SLouis Dionne #include "test_macros.h" 15bb09ef95SLouis Dionne 16bb09ef95SLouis Dionne #ifdef TEST_HAS_NO_RTTI 17bb09ef95SLouis Dionne # error "TEST_HAS_NO_RTTI should NOT be defined" 18bb09ef95SLouis Dionne #endif 19bb09ef95SLouis Dionne ~AA20bb09ef95SLouis Dionnestruct A { virtual ~A() { } }; 21bb09ef95SLouis Dionne struct B : A { }; 22bb09ef95SLouis Dionne main(int,char **)23bb09ef95SLouis Dionneint main(int, char**) { 24bb09ef95SLouis Dionne A* ptr = new B; 25bb09ef95SLouis Dionne (void)dynamic_cast<B*>(ptr); 26bb09ef95SLouis Dionne delete ptr; 27bb09ef95SLouis Dionne return 0; 28bb09ef95SLouis Dionne } 29