Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
//===----- ABI.h - ABI related declarations ---------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
///
9
/// \file
10
/// Enums/classes describing ABI related information about constructors,
11
/// destructors and thunks.
12
///
13
//===----------------------------------------------------------------------===//
14
 
15
#ifndef LLVM_CLANG_BASIC_ABI_H
16
#define LLVM_CLANG_BASIC_ABI_H
17
 
18
#include "llvm/Support/DataTypes.h"
19
#include <cstring>
20
 
21
namespace clang {
22
 
23
/// C++ constructor types.
24
enum CXXCtorType {
25
  Ctor_Complete,       ///< Complete object ctor
26
  Ctor_Base,           ///< Base object ctor
27
  Ctor_Comdat,         ///< The COMDAT used for ctors
28
  Ctor_CopyingClosure, ///< Copying closure variant of a ctor
29
  Ctor_DefaultClosure, ///< Default closure variant of a ctor
30
};
31
 
32
/// C++ destructor types.
33
enum CXXDtorType {
34
    Dtor_Deleting, ///< Deleting dtor
35
    Dtor_Complete, ///< Complete object dtor
36
    Dtor_Base,     ///< Base object dtor
37
    Dtor_Comdat    ///< The COMDAT used for dtors
38
};
39
 
40
} // end namespace clang
41
 
42
#endif