Browse Source
Change-Id: I32fc523e3178b7e50191682241904d52499ff708 Signed-off-by: dp-arm <dimitris.papastamos@arm.com>pull/951/head
dp-arm
8 years ago
3 changed files with 0 additions and 97 deletions
@ -1,61 +0,0 @@ |
|||
/* ===-- int_util.c - Implement internal utilities --------------------------===
|
|||
* |
|||
* The LLVM Compiler Infrastructure |
|||
* |
|||
* This file is dual licensed under the MIT and the University of Illinois Open |
|||
* Source Licenses. See LICENSE.TXT for details. |
|||
* |
|||
* ===----------------------------------------------------------------------=== |
|||
*/ |
|||
|
|||
#include "int_lib.h" |
|||
#include "int_util.h" |
|||
|
|||
/* NOTE: The definitions in this file are declared weak because we clients to be
|
|||
* able to arbitrarily package individual functions into separate .a files. If |
|||
* we did not declare these weak, some link situations might end up seeing |
|||
* duplicate strong definitions of the same symbol. |
|||
* |
|||
* We can't use this solution for kernel use (which may not support weak), but |
|||
* currently expect that when built for kernel use all the functionality is |
|||
* packaged into a single library. |
|||
*/ |
|||
|
|||
#ifdef KERNEL_USE |
|||
|
|||
NORETURN extern void panic(const char *, ...); |
|||
#ifndef _WIN32 |
|||
__attribute__((visibility("hidden"))) |
|||
#endif |
|||
void compilerrt_abort_impl(const char *file, int line, const char *function) { |
|||
panic("%s:%d: abort in %s", file, line, function); |
|||
} |
|||
|
|||
#elif __APPLE__ |
|||
|
|||
/* from libSystem.dylib */ |
|||
NORETURN extern void __assert_rtn(const char *func, const char *file, int line, |
|||
const char *message); |
|||
|
|||
#ifndef _WIN32 |
|||
__attribute__((weak)) |
|||
__attribute__((visibility("hidden"))) |
|||
#endif |
|||
void compilerrt_abort_impl(const char *file, int line, const char *function) { |
|||
__assert_rtn(function, file, line, "libcompiler_rt abort"); |
|||
} |
|||
|
|||
#else |
|||
|
|||
/* Get the system definition of abort() */ |
|||
#include <stdlib.h> |
|||
|
|||
#ifndef _WIN32 |
|||
__attribute__((weak)) |
|||
__attribute__((visibility("hidden"))) |
|||
#endif |
|||
void compilerrt_abort_impl(const char *file, int line, const char *function) { |
|||
abort(); |
|||
} |
|||
|
|||
#endif |
@ -1,33 +0,0 @@ |
|||
/* ===-- int_util.h - internal utility functions ----------------------------===
|
|||
* |
|||
* The LLVM Compiler Infrastructure |
|||
* |
|||
* This file is dual licensed under the MIT and the University of Illinois Open |
|||
* Source Licenses. See LICENSE.TXT for details. |
|||
* |
|||
* ===-----------------------------------------------------------------------=== |
|||
* |
|||
* This file is not part of the interface of this library. |
|||
* |
|||
* This file defines non-inline utilities which are available for use in the |
|||
* library. The function definitions themselves are all contained in int_util.c |
|||
* which will always be compiled into any compiler-rt library. |
|||
* |
|||
* ===-----------------------------------------------------------------------=== |
|||
*/ |
|||
|
|||
#ifndef INT_UTIL_H |
|||
#define INT_UTIL_H |
|||
|
|||
/** \brief Trigger a program abort (or panic for kernel code). */ |
|||
#define compilerrt_abort() compilerrt_abort_impl(__FILE__, __LINE__, __func__) |
|||
|
|||
NORETURN void compilerrt_abort_impl(const char *file, int line, |
|||
const char *function); |
|||
|
|||
#define COMPILE_TIME_ASSERT(expr) COMPILE_TIME_ASSERT1(expr, __COUNTER__) |
|||
#define COMPILE_TIME_ASSERT1(expr, cnt) COMPILE_TIME_ASSERT2(expr, cnt) |
|||
#define COMPILE_TIME_ASSERT2(expr, cnt) \ |
|||
typedef char ct_assert_##cnt[(expr) ? 1 : -1] UNUSED |
|||
|
|||
#endif /* INT_UTIL_H */ |
Loading…
Reference in new issue