tree-object-size: use size_for_offset in more cases
[official-gcc.git] / gcc / d / dmd / gluelayer.d
bloba3a3bd01f135fc62da56dc9979e032eb16640349
1 /**
2 * Declarations for back-end functions that the front-end invokes.
4 * This 'glues' either the DMC or GCC back-end to the front-end.
6 * Copyright: Copyright (C) 1999-2024 by The D Language Foundation, All Rights Reserved
7 * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright)
8 * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
9 * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/gluelayer.d, _gluelayer.d)
10 * Documentation: https://dlang.org/phobos/dmd_gluelayer.html
11 * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/gluelayer.d
14 module dmd.gluelayer;
16 import dmd.dmodule;
17 import dmd.dscope;
18 import dmd.dsymbol;
19 import dmd.mtype;
20 import dmd.statement;
21 import dmd.root.file;
23 version (NoBackend)
25 struct Symbol;
26 struct code;
27 struct block;
28 struct Blockx;
29 struct elem;
30 struct TYPE;
31 alias type = TYPE;
33 extern(C++) abstract class ObjcGlue
35 static void initialize() {}
38 else version (IN_GCC)
40 extern (C++) union tree_node;
42 alias Symbol = tree_node;
43 alias code = tree_node;
44 alias type = tree_node;
46 // stubs
47 extern(C++) abstract class ObjcGlue
49 static void initialize() {}
52 else
54 public import dmd.backend.cc : block, Blockx, Symbol;
55 public import dmd.backend.type : type;
56 public import dmd.backend.el : elem;
57 public import dmd.backend.code_x86 : code;
58 public import dmd.objc_glue : ObjcGlue;