# Copyright (c) 2022 Synopsys
# SPDX-License-Identifier: Apache-2.0

config TOOLCHAIN_ARCMWDT_SUPPORTS_THREAD_LOCAL_STORAGE
	def_bool y
	select TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE
	select THREAD_LOCAL_STORAGE if CPP

config TOOLCHAIN_ARCMWDT_SUPPORTS_GNU_EXTENSIONS
	def_bool y
	select TOOLCHAIN_SUPPORTS_GNU_EXTENSIONS
