Mercurial > hg > xemacs-beta
comparison lib-src/ellcc.c @ 1743:543769b89fed
[xemacs-hg @ 2003-10-14 05:02:57 by james]
New compiler.h contains compiler-specific defines. Use it everywhere.
author | james |
---|---|
date | Tue, 14 Oct 2003 05:03:13 +0000 |
parents | 9fc738581a9d |
children | 854c88538753 |
comparison
equal
deleted
inserted
replaced
1742:7f92ee59c996 | 1743:543769b89fed |
---|---|
76 #define EMODULES_GATHER_VERSION | 76 #define EMODULES_GATHER_VERSION |
77 #define EXEC_GROW_SIZE 4 | 77 #define EXEC_GROW_SIZE 4 |
78 | 78 |
79 #include <emodules.h> | 79 #include <emodules.h> |
80 #include <ellcc.h> /* Generated files must be included using <...> */ | 80 #include <ellcc.h> /* Generated files must be included using <...> */ |
81 | 81 #include "compiler.h" |
82 #ifndef ATTRIBUTE_MALLOC | |
83 # if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__==2 && __GNUC_MINOR__>=96)) | |
84 # define ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) | |
85 # else | |
86 # define ATTRIBUTE_MALLOC | |
87 # endif /* GCC version >= 2.96 */ | |
88 #endif /* ATTRIBUTE_MALLOC */ | |
89 | |
90 #ifdef __GNUC_ | |
91 # define ATTRIBUTE_FATAL __attribute__ ((noreturn, format (printf, 1, 2))) | |
92 #else | |
93 # define ATTRIBUTE_FATAL | |
94 #endif /* __GNUC__ */ | |
95 | |
96 #if defined(__GNUC__) && (__GNUC__ >= 2 || (__GNUC__==2 && __GNUC_MINOR__>=5)) | |
97 # define ATTRIBUTE_CONST __attribute__ ((const)) | |
98 #else | |
99 # define ATTRIBUTE_CONST | |
100 #endif | |
101 | |
102 | 82 |
103 #ifndef HAVE_SHLIB | 83 #ifndef HAVE_SHLIB |
104 int | 84 int |
105 main (int argc, char *argv[]) | 85 main (int argc, char *argv[]) |
106 { | 86 { |
186 */ | 166 */ |
187 | 167 |
188 static void *xmalloc (size_t size) ATTRIBUTE_MALLOC; | 168 static void *xmalloc (size_t size) ATTRIBUTE_MALLOC; |
189 static void *xrealloc (void *ptr, size_t size) ATTRIBUTE_MALLOC; | 169 static void *xrealloc (void *ptr, size_t size) ATTRIBUTE_MALLOC; |
190 static char *xstrdup (char *) ATTRIBUTE_MALLOC; | 170 static char *xstrdup (char *) ATTRIBUTE_MALLOC; |
191 static void fatal (char *, ...) ATTRIBUTE_FATAL; | 171 static DECLARE_DOESNT_RETURN (fatal (char *, ...)) PRINTF_ARGS (1, 2); |
192 static char ** add_string (char **, char *); | 172 static char ** add_string (char **, char *); |
193 static char ** add_to_argv (char **, const char *); | 173 static char ** add_to_argv (char **, const char *); |
194 static char ** do_compile_mode (void); | 174 static char ** do_compile_mode (void); |
195 static char ** do_link_mode (void); | 175 static char ** do_link_mode (void); |
196 static char ** do_init_mode (void); | 176 static char ** do_init_mode (void); |
465 } | 445 } |
466 return result; | 446 return result; |
467 } | 447 } |
468 | 448 |
469 /* Print error message and exit. */ | 449 /* Print error message and exit. */ |
470 static void | 450 static DOESNT_RETURN |
471 fatal (char *format, ...) | 451 fatal (char *format, ...) |
472 { | 452 { |
473 va_list ap; | 453 va_list ap; |
474 | 454 |
475 va_start (ap, format); | 455 va_start (ap, format); |