//===--- Basic/LanguageModes.def --------------------------------*- C++ -*-===// // // This source file is part of the Swift.org open source project // // Copyright (c) 2026 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 // //===----------------------------------------------------------------------===// /// /// \file /// This definition file describes all language modes for meta-programming /// purposes. /// /// `LANGUAGE_MODE(NAME, MAJOR_VERSION, MINOR_VERSION)` /// /// To define a major language mode, use `MAJOR_LANGUAGE_MODE`. /// //===----------------------------------------------------------------------===// #ifndef LANGUAGE_MODE #error "define LANGUAGE_MODE before including this file" #endif #ifndef MAJOR_LANGUAGE_MODE #define MAJOR_LANGUAGE_MODE(NAME, MAJOR_VERSION) \ LANGUAGE_MODE(NAME, MAJOR_VERSION, 0) #endif #ifndef LAST_REAL_LANGUAGE_MODE #define LAST_REAL_LANGUAGE_MODE(ID) #endif MAJOR_LANGUAGE_MODE(v4, 4) LANGUAGE_MODE(v4_2, 4, 2) MAJOR_LANGUAGE_MODE(v5, 5) MAJOR_LANGUAGE_MODE(v6, 6) LAST_REAL_LANGUAGE_MODE(v6) #undef LANGUAGE_MODE #undef MAJOR_LANGUAGE_MODE #undef LAST_REAL_LANGUAGE_MODE