// Copyright 2020 The Fuchsia Authors
//
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT

/*
 * Use a pragma to set all objects to hidden, the command-line option does not
 * apply to externs.
 */
#pragma GCC visibility push(hidden)
