/*
 * This source file is part of the Swift.org open source project
 *
 * Copyright (c) 2015 Apple Inc. and the Swift project authors
 *
 * Licensed under Apache License v2.0 with Runtime Library Exception
 *
 * See https://swift.org/LICENSE.txt for license information
 * See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
 *
 */

// forward declarations for functions we are stubbing out
// in the intial android port.

#ifndef __DISPATCH__ANDROID__STUBS__INTERNAL
#define __DISPATCH__ANDROID__STUBS__INTERNAL

#if !__has_feature(c_static_assert)
#define _Static_assert(...)
#endif

#endif /* __DISPATCH__ANDROID__STUBS__INTERNAL */
