Allow returning something of type void in a function that returns void
[delight/core.git] / d-dmd-gcc.h
blob8135ef990ba573f9efec157b8be877b5dc97bd12
1 /* GDC -- D front-end for GCC
2 Copyright (C) 2004 David Friedman
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 /* This file contains declarations used by the modified DMD front-end to
20 interact with GCC-specific code. */
22 #ifndef GCC_DCMPLR_DMD_GCC_H
23 #define GCC_DCMPLR_DMD_GCC_H
25 #ifdef __cplusplus
27 /* used in module.c */
28 struct Module;
29 extern void d_gcc_magic_module(Module *m);
30 extern void d_gcc_dump_source(const char * filename, const char * ext, unsigned char * data, unsigned len);
32 /* used in func.c */
33 struct Type;
34 extern Type * d_gcc_builtin_va_list_d_type;
36 /* used in parse.c */
37 extern bool d_gcc_is_target_win32();
39 /* used in toobj.c */
40 struct VarDeclaration;
41 struct Symbol;
42 struct ClassDeclaration;
43 extern void d_gcc_emit_local_variable(VarDeclaration *);
44 extern bool d_gcc_supports_weak();
46 #if V2
47 typedef enum {
48 RTLSYM_DHIDDENFUNC,
49 N_RTLSYM
50 } RTLSYM;
51 extern Symbol* rtlsym[N_RTLSYM];
52 #endif
54 /* used in template.c */
55 extern bool d_gcc_force_templates();
56 extern Module * d_gcc_get_output_module();
58 #endif
60 #endif