sl@0: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Name : dyn_cast_exe.cpp sl@0: // Part of : standard c++ tests. sl@0: // sl@0: // sl@0: sl@0: #include "dlla.h" sl@0: #include "test_decls.h" sl@0: #include sl@0: int main() sl@0: { sl@0: printf("\n\nDynamic cast test...\n\n"); sl@0: DynamicCastTest *aPtr = DynamicCastTest ::Instance(); sl@0: printf("Ptr to object across dll boundary 0x%x\n",aPtr); sl@0: sl@0: sl@0: if(dynamic_cast< DynamicCastTest_DerivedClass*>(aPtr)){ sl@0: printf("dynamic_cast successful\n"); sl@0: CPP_TESTS_ASSERT_ALLWAYS(1); sl@0: return 0; sl@0: } sl@0: sl@0: CPP_TESTS_ASSERT_ALLWAYS(0); sl@0: return 1; // -> Even though the type of aPtr is DynamicCastTest*, dynamic_cast fails sl@0: }