//===- CompilerTest.cpp ---------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// Tests for the utilities in orc-rt/Compiler.h.
//
//===----------------------------------------------------------------------===//

#include "orc-rt/Compiler.h"

#include "gtest/gtest.h"

namespace {

int reachablePathReturns(int X) {
  switch (X) {
  case 0:
    return 0;
  default:
    ORC_RT_UNREACHABLE("only 0 is expected");
  }
}

} // namespace

TEST(CompilerTest, UnreachableCompilesInReturningFunction) {
  EXPECT_EQ(reachablePathReturns(0), 0);
}

// ORC_RT_UNREACHABLE only aborts in +Asserts builds; under NDEBUG it lowers to
// a bare optimizer hint whose execution is undefined behavior, so there is
// nothing well-defined to assert on in a release build. Test for !NDEBUG builds
// only.
#ifndef NDEBUG
TEST(CompilerDeathTest, UnreachableAborts) {
  EXPECT_DEATH(ORC_RT_UNREACHABLE("unreachable reached"),
               "unreachable reached");
}
#endif
