# Owners of the many toolchain-related recipe files.
# This file is meant to be included as needed using the syntax:
#
#   include /TOOLCHAIN_OWNERS
#
# Or:
#
#   per-file <pattern> = file:/TOOLCHAIN_OWNERS

# Keep sorted.
haowei@google.com
mcgrathr@google.com
phosek@google.com
