Casting.cpp revision ee57dae3d8bcb2f3f41eb225bc615045d13d9dda
1ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif//===---------- llvm/unittest/Support/Casting.cpp - Casting tests --------===// 2ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif// 3ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif// The LLVM Compiler Infrastructure 4ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif// 5ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif// This file is distributed under the University of Illinois Open Source 6ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif// License. See LICENSE.TXT for details. 7ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif// 8ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif//===----------------------------------------------------------------------===// 9ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif 10ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif#include "llvm/Support/raw_ostream.h" 11ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif#include "llvm/Support/Debug.h" 12ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif#define DEBUG_CAST_OPERATORS 13ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif#include "llvm/Support/Casting.h" 14ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif 15ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif#include "gtest/gtest.h" 16ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif#include <cstdlib> 17ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif 18ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greifusing namespace llvm; 19ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif 20ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greifnamespace { 21ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif 22ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greifextern bar &B1; 23ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greifextern const bar *B2; 24ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif 25ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor GreifTEST(CastingTest, Basics) { 26ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif EXPECT_TRUE(isa<foo>(B1)); 27ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif} 28ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif 29ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greifbar B; 30ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greifbar &B1 = B; 31ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greifconst bar *B2 = &B; 32ee57dae3d8bcb2f3f41eb225bc615045d13d9ddaGabor Greif} // anonymous namespace 33