/*******************************************************************************
 * File Name: cycfg_notices.h
 *
 * Description:
 * Contains warnings and errors that occurred while generating code for the
 * design.
 * This file was automatically generated and should not be modified.
 * Tools Package 2.4.0.5880
 * 20739B2 CSP
 * personalities 1.0.0.31
 * udd 3.0.0.1454
 *
 ********************************************************************************
 * Copyright 2021 Cypress Semiconductor Corporation (an Infineon company) or
 * an affiliate of Cypress Semiconductor Corporation.
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ********************************************************************************/

#if !defined(CYCFG_NOTICES_H)
#define CYCFG_NOTICES_H

#ifdef CY_SUPPORTS_DEVICE_VALIDATION
#ifndef LBCA1KU1WA
#error                                                                                                                             \
    "Unexpected target MCU; expected LBCA1KU1WA. There may be an inconsistency between the *.modus file and the makefile target configuration device sets."
#endif
#endif

#endif /* CYCFG_NOTICES_H */
