#define fdopen(fd, mode) _fdopen(fd, mode)
#define popen(cmd, mode) _popen(cmd, mode)
#define pclose(file) _pclose(file)
#define fdopen(fd, mode) _fdopen(fd, mode)
#define popen(cmd, mode) _popen(cmd, mode)
#define pclose(file) _pclose(file)
/** The 'machine size', 16, 32 or 64 bit, 32bit is the default. */
unsigned int machine_size = 32;
/** The 'machine size', 16, 32 or 64 bit, 32bit is the default. */
unsigned int machine_size = 32;
snprintf(buf, buflen, "a%s", newext);
return;
}
snprintf(buf, buflen, "a%s", newext);
return;
}
panic("filename too long");
memcpy(buf, inputname, last_dot);
size_t extlen = strlen(newext) + 1;
panic("filename too long");
memcpy(buf, inputname, last_dot);
size_t extlen = strlen(newext) + 1;
panic("filename too long");
memcpy(buf+last_dot, newext, extlen);
}
panic("filename too long");
memcpy(buf+last_dot, newext, extlen);
}
do {
lexer_next_preprocessing_token();
print_token(stdout, &lexer_token);
do {
lexer_next_preprocessing_token();
print_token(stdout, &lexer_token);
- char buf[4096];
- vsnprintf(buf, sizeof(buf), format, ap);
+ va_start(ap, format);
+#ifdef _WIN32
+ int len =
+#endif
+ vsnprintf(buf, sizeof(buf), format, ap);
+ va_end(ap);
+#ifdef _WIN32
+ obstack_1grow(obst, '"');
+ obstack_grow(obst, buf, len);
+ obstack_1grow(obst, '"');
+#else
+ /* escape stuff... */
/* setup default defines */
add_flag(&cppflags_obst, "-U__WCHAR_TYPE__");
/* setup default defines */
add_flag(&cppflags_obst, "-U__WCHAR_TYPE__");
- add_flag(&cppflags_obst, "-D__WCHAR_TYPE__=%s",
- type_to_string(type_wchar_t));
+ add_flag(&cppflags_obst, "-D__WCHAR_TYPE__=%s", type_to_string(type_wchar_t));
add_flag(&cppflags_obst, "-U__SIZE_TYPE__");
add_flag(&cppflags_obst, "-D__SIZE_TYPE__=%s", type_to_string(type_size_t));
/* handle dependency generation */
if (dep_target[0] != '\0') {
add_flag(&cppflags_obst, "-MF");
add_flag(&cppflags_obst, "-U__SIZE_TYPE__");
add_flag(&cppflags_obst, "-D__SIZE_TYPE__=%s", type_to_string(type_size_t));
/* handle dependency generation */
if (dep_target[0] != '\0') {
add_flag(&cppflags_obst, "-MF");
obstack_1grow(&cppflags_obst, '\0');
const char *buf = obstack_finish(&cppflags_obst);
obstack_1grow(&cppflags_obst, '\0');
const char *buf = obstack_finish(&cppflags_obst);
char buf[4096];
snprintf(buf, sizeof(buf), "%s %s -o %s", ASSEMBLER, in, out);
char buf[4096];
snprintf(buf, sizeof(buf), "%s %s -o %s", ASSEMBLER, in, out);
snprintf(buffer, buflen, "%s/%sXXXXXX", tempdir, prefix);
int fd = mkstemp(buffer);
snprintf(buffer, buflen, "%s/%sXXXXXX", tempdir, prefix);
int fd = mkstemp(buffer);
fprintf(stderr, "couldn't create temporary file: %s\n",
strerror(errno));
exit(1);
}
FILE *out = fdopen(fd, "w");
fprintf(stderr, "couldn't create temporary file: %s\n",
strerror(errno));
exit(1);
}
FILE *out = fdopen(fd, "w");
printf("cparser (%s) using libFirm (%u.%u",
cparser_REVISION, ver.major, ver.minor);
printf("cparser (%s) using libFirm (%u.%u",
cparser_REVISION, ver.major, ver.minor);
while (!feof(input) && !ferror(dest)) {
size_t read = fread(buf, 1, sizeof(buf), input);
while (!feof(input) && !ferror(dest)) {
size_t read = fread(buf, 1, sizeof(buf), input);
- if(fwrite(buf, 1, read, dest) != read) {
+ if (fwrite(buf, 1, read, dest) != read) {
fprintf(stderr, "Couldn't open '%s': %s\n", filename,
strerror(errno));
exit(1);
fprintf(stderr, "Couldn't open '%s': %s\n", filename,
strerror(errno));
exit(1);
#define GET_ARG_AFTER(def, args) \
def = &arg[sizeof(args)-1]; \
#define GET_ARG_AFTER(def, args) \
def = &arg[sizeof(args)-1]; \
fprintf(stderr, "error: expected argument after '" args "'\n"); \
argument_errors = true; \
break; \
} \
def = argv[i]; \
fprintf(stderr, "error: expected argument after '" args "'\n"); \
argument_errors = true; \
break; \
} \
def = argv[i]; \
fprintf(stderr, "error: expected argument after '" args "'\n"); \
argument_errors = true; \
continue; \
fprintf(stderr, "error: expected argument after '" args "'\n"); \
argument_errors = true; \
continue; \
/* early options parsing (find out optimisation level and OS) */
for (int i = 1; i < argc; ++i) {
const char *arg = argv[i];
/* early options parsing (find out optimisation level and OS) */
for (int i = 1; i < argc; ++i) {
const char *arg = argv[i];
filetype_t forced_filetype = FILETYPE_AUTODETECT;
bool help_displayed = false;
bool argument_errors = false;
filetype_t forced_filetype = FILETYPE_AUTODETECT;
bool help_displayed = false;
bool argument_errors = false;
const char *arg = argv[i];
if (arg[0] == '-' && arg[1] != '\0') {
/* an option */
const char *option = &arg[1];
const char *arg = argv[i];
if (arg[0] == '-' && arg[1] != '\0') {
/* an option */
const char *option = &arg[1];
set_be_option("debuginfo=stabs");
set_be_option("omitfp=no");
set_be_option("ia32-nooptcc=yes");
set_be_option("debuginfo=stabs");
set_be_option("omitfp=no");
set_be_option("ia32-nooptcc=yes");
const char *opt;
GET_ARG_AFTER(opt, "-I");
add_flag(&cppflags_obst, "-I%s", opt);
const char *opt;
GET_ARG_AFTER(opt, "-I");
add_flag(&cppflags_obst, "-I%s", opt);
const char *opt;
GET_ARG_AFTER(opt, "-D");
add_flag(&cppflags_obst, "-D%s", opt);
const char *opt;
GET_ARG_AFTER(opt, "-D");
add_flag(&cppflags_obst, "-D%s", opt);
const char *opt;
GET_ARG_AFTER(opt, "-U");
add_flag(&cppflags_obst, "-U%s", opt);
const char *opt;
GET_ARG_AFTER(opt, "-U");
add_flag(&cppflags_obst, "-U%s", opt);
const char *opt;
GET_ARG_AFTER(opt, "-l");
add_flag(&ldflags_obst, "-l%s", opt);
const char *opt;
GET_ARG_AFTER(opt, "-l");
add_flag(&ldflags_obst, "-l%s", opt);
const char *opt;
GET_ARG_AFTER(opt, "-L");
add_flag(&ldflags_obst, "-L%s", opt);
const char *opt;
GET_ARG_AFTER(opt, "-L");
add_flag(&ldflags_obst, "-L%s", opt);
const char *opt;
GET_ARG_AFTER(opt, "-x");
forced_filetype = get_filetype_from_string(opt);
const char *opt;
GET_ARG_AFTER(opt, "-x");
forced_filetype = get_filetype_from_string(opt);
streq(option, "MD")) {
construct_dep_target = true;
add_flag(&cppflags_obst, "-%s", option);
streq(option, "MD")) {
construct_dep_target = true;
add_flag(&cppflags_obst, "-%s", option);
streq(option, "MP")) {
add_flag(&cppflags_obst, "-%s", option);
} else if (streq(option, "MT") ||
streq(option, "MP")) {
add_flag(&cppflags_obst, "-%s", option);
} else if (streq(option, "MT") ||
add_flag(&ldflags_obst, "-Wl,%s", opt);
}
else set_warning_opt(&option[1]);
add_flag(&ldflags_obst, "-Wl,%s", opt);
}
else set_warning_opt(&option[1]);
snprintf(arch_opt, sizeof(arch_opt), "%s-fpunit=%s", cpu_arch, opt);
int res = firm_be_option(arch_opt);
if (res == 0)
snprintf(arch_opt, sizeof(arch_opt), "%s-fpunit=%s", cpu_arch, opt);
int res = firm_be_option(arch_opt);
if (res == 0)
fprintf(stderr, "error: "
"expected argument after '--dump-function'\n");
argument_errors = true;
fprintf(stderr, "error: "
"expected argument after '--dump-function'\n");
argument_errors = true;
fprintf(stderr, "Couldn't open '%s' for writing: %s\n", outname,
strerror(errno));
return 1;
fprintf(stderr, "Couldn't open '%s' for writing: %s\n", outname,
strerror(errno));
return 1;
/* parsing failed because of errors */
fprintf(stderr, "%u error(s), %u warning(s)\n", error_count,
warning_count);
result = EXIT_FAILURE;
continue;
/* parsing failed because of errors */
fprintf(stderr, "%u error(s), %u warning(s)\n", error_count,
warning_count);
result = EXIT_FAILURE;
continue;
write_fluffy_decls(out, unit);
continue;
} else if (mode == PrintCaml) {
write_fluffy_decls(out, unit);
continue;
} else if (mode == PrintCaml) {
obstack_1grow(&ldflags_obst, '\0');
const char *flags = obstack_finish(&ldflags_obst);
obstack_1grow(&ldflags_obst, '\0');
const char *flags = obstack_finish(&ldflags_obst);
obstack_free(&ldflags_obst, NULL);
obstack_free(&file_obst, NULL);
obstack_free(&ldflags_obst, NULL);
obstack_free(&file_obst, NULL);