{
put_help("-l LIBRARY", "");
put_help("-L PATH", "");
+ put_help("-s", "Do not produce symbol table and relocation information");
put_help("-shared", "Produce a shared library");
put_help("-static", "Produce statically linked binary");
put_help("-Wl,OPTION", "Pass option directly to linker");
set_typeprops_type(&props[ATOMIC_TYPE_LONGLONG], type_long_long);
ir_type *type_unsigned_long_long = be_params->type_unsigned_long_long;
- if (type_long_long != NULL)
+ if (type_unsigned_long_long != NULL)
set_typeprops_type(&props[ATOMIC_TYPE_ULONGLONG], type_unsigned_long_long);
/* operating system ABI specifics */
const char *os = target_machine->operating_system;
if (is_darwin_os(os)) {
if (machine_size == 32) {
- props[ATOMIC_TYPE_DOUBLE].struct_alignment = 4;
- props[ATOMIC_TYPE_LONG_DOUBLE].size = 16;
- props[ATOMIC_TYPE_LONG_DOUBLE].alignment = 16;
+ props[ATOMIC_TYPE_LONGLONG].struct_alignment = 4;
+ props[ATOMIC_TYPE_ULONGLONG].struct_alignment = 4;
+ props[ATOMIC_TYPE_DOUBLE].struct_alignment = 4;
+ props[ATOMIC_TYPE_LONG_DOUBLE].size = 16;
+ props[ATOMIC_TYPE_LONG_DOUBLE].alignment = 16;
+ props[ATOMIC_TYPE_LONG_DOUBLE].struct_alignment = 16;
}
} else if (is_windows_os(os)) {
if (machine_size == 64) {
mode = CompileAssemble;
} else if (SINGLE_OPTION('E')) {
mode = PreprocessOnly;
+ } else if (SINGLE_OPTION('s')) {
+ add_flag(&ldflags_obst, "-s");
} else if (SINGLE_OPTION('S')) {
mode = Compile;
} else if (option[0] == 'O') {
} else if (SINGLE_OPTION('v')) {
verbose = 1;
} else if (SINGLE_OPTION('w')) {
+ add_flag(&cppflags_obst, "-w");
disable_all_warnings();
} else if (option[0] == 'x') {
const char *opt;
|| streq(option + 1, "endif-labels")) {
add_flag(&cppflags_obst, "%s", arg);
} else if (streq(option+1, "init-self")) {
- /* ignored (asme as gcc does) */
+ /* ignored (same as gcc does) */
} else if (streq(option+1, "format-y2k")
|| streq(option+1, "format-security")
|| streq(option+1, "old-style-declaration")
fprintf(stderr, "error: regparm convention not supported yet\n");
argument_errors = true;
} else if (streq(opt, "soft-float")) {
+ add_flag(&ldflags_obst, "-msoft-float");
snprintf(arch_opt, sizeof(arch_opt), "%s-fpunit=softfloat", cpu_arch);
int res = be_parse_arg(arch_opt);
if (res == 0)