当前位置: 首页>>代码示例>>C++>>正文


C++ ArchSpec::MergeFrom方法代码示例

本文整理汇总了C++中ArchSpec::MergeFrom方法的典型用法代码示例。如果您正苦于以下问题:C++ ArchSpec::MergeFrom方法的具体用法?C++ ArchSpec::MergeFrom怎么用?C++ ArchSpec::MergeFrom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ArchSpec的用法示例。


在下文中一共展示了ArchSpec::MergeFrom方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

lldb::UnwindAssemblySP
FuncUnwinders::GetUnwindAssemblyProfiler(Target &target) {
  UnwindAssemblySP assembly_profiler_sp;
  ArchSpec arch;
  if (m_unwind_table.GetArchitecture(arch)) {
    arch.MergeFrom(target.GetArchitecture());
    assembly_profiler_sp = UnwindAssembly::FindPlugin(arch);
  }
  return assembly_profiler_sp;
}
开发者ID:vargaz,项目名称:lldb,代码行数:10,代码来源:FuncUnwinders.cpp

示例2: B

TEST(ArchSpecTest, MergeFrom) {
  {
    ArchSpec A;
    ArchSpec B("x86_64-pc-linux");

    EXPECT_FALSE(A.IsValid());
    ASSERT_TRUE(B.IsValid());
    EXPECT_EQ(llvm::Triple::ArchType::x86_64, B.GetTriple().getArch());
    EXPECT_EQ(llvm::Triple::VendorType::PC, B.GetTriple().getVendor());
    EXPECT_EQ(llvm::Triple::OSType::Linux, B.GetTriple().getOS());
    EXPECT_EQ(ArchSpec::eCore_x86_64_x86_64, B.GetCore());

    A.MergeFrom(B);
    ASSERT_TRUE(A.IsValid());
    EXPECT_EQ(llvm::Triple::ArchType::x86_64, A.GetTriple().getArch());
    EXPECT_EQ(llvm::Triple::VendorType::PC, A.GetTriple().getVendor());
    EXPECT_EQ(llvm::Triple::OSType::Linux, A.GetTriple().getOS());
    EXPECT_EQ(ArchSpec::eCore_x86_64_x86_64, A.GetCore());
  }
  {
    ArchSpec A("aarch64");
    ArchSpec B("aarch64--linux-android");

    EXPECT_TRUE(A.IsValid());
    EXPECT_TRUE(B.IsValid());

    EXPECT_EQ(llvm::Triple::ArchType::aarch64, B.GetTriple().getArch());
    EXPECT_EQ(llvm::Triple::VendorType::UnknownVendor,
              B.GetTriple().getVendor());
    EXPECT_EQ(llvm::Triple::OSType::Linux, B.GetTriple().getOS());
    EXPECT_EQ(llvm::Triple::EnvironmentType::Android,
              B.GetTriple().getEnvironment());

    A.MergeFrom(B);
    EXPECT_EQ(llvm::Triple::ArchType::aarch64, A.GetTriple().getArch());
    EXPECT_EQ(llvm::Triple::VendorType::UnknownVendor,
              A.GetTriple().getVendor());
    EXPECT_EQ(llvm::Triple::OSType::Linux, A.GetTriple().getOS());
    EXPECT_EQ(llvm::Triple::EnvironmentType::Android,
              A.GetTriple().getEnvironment());
  }
}
开发者ID:llvm-project,项目名称:lldb,代码行数:42,代码来源:ArchSpecTest.cpp


注:本文中的ArchSpec::MergeFrom方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。