14ab9a06fSDavid Bozier //===- SymbolicFileTest.cpp - Tests for SymbolicFile.cpp ------------------===// 24ab9a06fSDavid Bozier // 3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 64ab9a06fSDavid Bozier // 74ab9a06fSDavid Bozier //===----------------------------------------------------------------------===// 84ab9a06fSDavid Bozier 94ab9a06fSDavid Bozier #include "llvm/Object/SymbolicFile.h" 105c8e5f37SDavid Bozier #include "llvm/Support/Host.h" 114ab9a06fSDavid Bozier #include "llvm/Support/raw_ostream.h" 124ab9a06fSDavid Bozier #include "gtest/gtest.h" 134ab9a06fSDavid Bozier #include <sstream> 144ab9a06fSDavid Bozier TEST(Object,DataRefImplOstream)154ab9a06fSDavid BozierTEST(Object, DataRefImplOstream) { 164ab9a06fSDavid Bozier std::string s; 174ab9a06fSDavid Bozier llvm::raw_string_ostream OS(s); 184ab9a06fSDavid Bozier llvm::object::DataRefImpl Data; 194ab9a06fSDavid Bozier Data.d.a = 0xeeee0000; 204ab9a06fSDavid Bozier Data.d.b = 0x0000ffff; 214ab9a06fSDavid Bozier 224ab9a06fSDavid Bozier static_assert(sizeof Data.p == sizeof(uint64_t) || 234ab9a06fSDavid Bozier sizeof Data.p == sizeof(uint32_t), 244ab9a06fSDavid Bozier "Test expected pointer type to be 32 or 64-bit."); 254ab9a06fSDavid Bozier 265c8e5f37SDavid Bozier char const *Expected; 275c8e5f37SDavid Bozier 284b21d022SDavid Bozier if (sizeof Data.p == sizeof(uint64_t)) { 294b21d022SDavid Bozier Expected = llvm::sys::IsLittleEndianHost 304ab9a06fSDavid Bozier ? "(0xffffeeee0000 (0xeeee0000, 0x0000ffff))" 314b21d022SDavid Bozier : "(0xeeee00000000ffff (0xeeee0000, 0x0000ffff))"; 325c8e5f37SDavid Bozier } 335c8e5f37SDavid Bozier else { 344b21d022SDavid Bozier Expected = "(0xeeee0000 (0xeeee0000, 0x0000ffff))"; 355c8e5f37SDavid Bozier } 364ab9a06fSDavid Bozier 374ab9a06fSDavid Bozier OS << Data; 384ab9a06fSDavid Bozier OS.flush(); 394ab9a06fSDavid Bozier 404ab9a06fSDavid Bozier EXPECT_EQ(Expected, s); 414ab9a06fSDavid Bozier } 42