Files
swift-mirror/include/swift/AST/DiagnosticsIRGen.def
Joe Groff aee071bf4e Introduce an experimental @_rawLayout attribute.
This attribute can be attached to a noncopyable struct to specify that its
storage is raw, meaning the type definition is (with some limitations)
able to do as it pleases with the storage. This provides a basis for
implementing types for things like atomics, locks, and data structures
that use inline storage to store conditionally-initialized values.
The example in `test/Prototypes/UnfairLock.swift` demonstrates the use
of a raw layout type to wrap Darwin's `os_unfair_lock` APIs, allowing
a lock value to be stored inside of classes or other types without
needing a separate allocation, and using the borrow model to enforce
safe access to lock-guarded storage.
2023-07-24 14:28:19 -07:00

70 lines
2.9 KiB
C++

//===--- DiagnosticsIRGen.def - Diagnostics Text ----------------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2017 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
//
//===----------------------------------------------------------------------===//
//
// This file defines diagnostics emitted during IR generation.
// Each diagnostic is described using one of three kinds (error, warning, or
// note) along with a unique identifier, category, options, and text, and is
// followed by a signature describing the diagnostic argument kinds.
//
//===----------------------------------------------------------------------===//
#define DEFINE_DIAGNOSTIC_MACROS
#include "DefineDiagnosticMacros.h"
ERROR(no_llvm_target,none,
"error loading LLVM target for triple '%0': %1", (StringRef, StringRef))
ERROR(error_codegen_init_fail,none,
"cannot initialize code generation passes for target", ())
ERROR(irgen_unimplemented,none,
"unimplemented IR generation feature %0", (StringRef))
ERROR(irgen_failure,none, "IR generation failure: %0", (StringRef))
ERROR(type_to_verify_not_found,none, "unable to find type '%0' to verify",
(StringRef))
ERROR(type_to_verify_ambiguous,none, "type to verify '%0' is ambiguous",
(StringRef))
ERROR(type_to_verify_dependent,none,
"type to verify '%0' has unbound generic parameters",
(StringRef))
ERROR(too_few_output_filenames,none,
"too few output file names specified", ())
ERROR(no_input_files_for_mt,none,
"no swift input files for multi-threaded compilation", ())
ERROR(alignment_dynamic_type_layout_unsupported,none,
"@_alignment is not supported on types with dynamic layout", ())
ERROR(alignment_less_than_natural,none,
"@_alignment cannot decrease alignment below natural alignment of %0",
(unsigned))
ERROR(alignment_more_than_maximum,none,
"@_alignment cannot increase alignment above maximum alignment of %0",
(unsigned))
ERROR(raw_layout_dynamic_type_layout_unsupported,none,
"@_rawLayout is not yet supported for layouts dependent on generic types", ())
ERROR(temporary_allocation_size_negative,none,
"allocation capacity must be greater than or equal to zero", ())
ERROR(temporary_allocation_size_overflow,none,
"allocation byte count too large", ())
ERROR(temporary_allocation_alignment_not_positive,none,
"alignment value must be greater than zero", ())
ERROR(temporary_allocation_alignment_not_power_of_2,none,
"alignment value must be a power of two", ())
ERROR(explosion_size_oveflow,none,
"explosion size too large", ())
#define UNDEFINE_DIAGNOSTIC_MACROS
#include "DefineDiagnosticMacros.h"