void dw2_asm_output_delta (int size, const char *lab1, const char *lab2, const char *comment, ...) { va_list ap; va_start (ap, comment); #ifdef ASM_OUTPUT_DWARF_DELTA ASM_OUTPUT_DWARF_DELTA (asm_out_file, size, lab1, lab2); #else dw2_assemble_integer (size, gen_rtx_MINUS (Pmode, gen_rtx_SYMBOL_REF (Pmode, lab1), gen_rtx_SYMBOL_REF (Pmode, lab2))); #endif if (flag_debug_asm && comment) { fprintf (asm_out_file, "\t%s ", ASM_COMMENT_START); vfprintf (asm_out_file, comment, ap); } fputc ('\n', asm_out_file); va_end (ap); }
static void i386_pe_mark_dllimport (tree decl) { const char *oldname; char *newname; tree idp; rtx rtlname, newrtl; rtx symref; rtlname = XEXP (DECL_RTL (decl), 0); if (GET_CODE (rtlname) == SYMBOL_REF) oldname = XSTR (rtlname, 0); else if (GET_CODE (rtlname) == MEM && GET_CODE (XEXP (rtlname, 0)) == SYMBOL_REF) oldname = XSTR (XEXP (rtlname, 0), 0); else abort (); if (i386_pe_dllexport_name_p (oldname)) { error ("%qs declared as both exported to and imported from a DLL", IDENTIFIER_POINTER (DECL_NAME (decl))); return; } else if (i386_pe_dllimport_name_p (oldname)) { /* Already done, but do a sanity check to prevent assembler errors. */ /* APPLE LOCAL begin mainline 2005-10-12 */ if (!DECL_EXTERNAL (decl) || !TREE_PUBLIC (decl) || !DECL_DLLIMPORT_P (decl)) { error ("%Jfailure in redeclaration of '%D': dllimport'd " "symbol lacks external linkage.", decl, decl); abort(); } /* APPLE LOCAL end mainline 2005-10-12 */ return; } newname = alloca (strlen (DLL_IMPORT_PREFIX) + strlen (oldname) + 1); sprintf (newname, "%s%s", DLL_IMPORT_PREFIX, oldname); /* We pass newname through get_identifier to ensure it has a unique address. RTL processing can sometimes peek inside the symbol ref and compare the string's addresses to see if two symbols are identical. */ idp = get_identifier (newname); symref = gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER (idp)); SYMBOL_REF_DECL (symref) = decl; newrtl = gen_rtx_MEM (Pmode,symref); XEXP (DECL_RTL (decl), 0) = newrtl; /* APPLE LOCAL begin mainline 2005-10-12 */ DECL_DLLIMPORT_P (decl) = 1; /* APPLE LOCAL end mainline 2005-10-12 */ }
rtx machopic_function_base_sym (void) { rtx sym_ref; sym_ref = gen_rtx_SYMBOL_REF (Pmode, machopic_function_base_name ()); SYMBOL_REF_FLAGS (sym_ref) |= (MACHO_SYMBOL_FLAG_VARIABLE | MACHO_SYMBOL_FLAG_DEFINED); return sym_ref; }
static rtx gen_symbol_ref_rtx_for_label (const_rtx label) { char name[20]; rtx sym; ASM_GENERATE_INTERNAL_LABEL (name, "L", CODE_LABEL_NUMBER (label)); sym = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name)); SYMBOL_REF_FLAGS (sym) = SYMBOL_FLAG_LOCAL; return sym; }
static void i386_pe_mark_dllimport (tree decl) { const char *oldname; char *newname; tree idp; rtx rtlname, newrtl; rtx symref; rtlname = XEXP (DECL_RTL (decl), 0); if (GET_CODE (rtlname) == MEM) rtlname = XEXP (rtlname, 0); gcc_assert (GET_CODE (rtlname) == SYMBOL_REF); oldname = XSTR (rtlname, 0); if (i386_pe_dllexport_name_p (oldname)) { error ("%qs declared as both exported to and imported from a DLL", IDENTIFIER_POINTER (DECL_NAME (decl))); return; } else if (i386_pe_dllimport_name_p (oldname)) { /* Already done, but do a sanity check to prevent assembler errors. */ gcc_assert (DECL_EXTERNAL (decl) && TREE_PUBLIC (decl) && DECL_DLLIMPORT_P (decl)); return; } newname = alloca (strlen (DLL_IMPORT_PREFIX) + strlen (oldname) + 1); sprintf (newname, "%s%s", DLL_IMPORT_PREFIX, oldname); /* We pass newname through get_identifier to ensure it has a unique address. RTL processing can sometimes peek inside the symbol ref and compare the string's addresses to see if two symbols are identical. */ idp = get_identifier (newname); symref = gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER (idp)); SET_SYMBOL_REF_DECL (symref, decl); newrtl = gen_rtx_MEM (Pmode,symref); XEXP (DECL_RTL (decl), 0) = newrtl; DECL_DLLIMPORT_P (decl) = 1; }
static void i386_pe_mark_dllexport (tree decl) { const char *oldname; char *newname; rtx rtlname; rtx symref; tree idp; rtlname = XEXP (DECL_RTL (decl), 0); if (GET_CODE (rtlname) == SYMBOL_REF) oldname = XSTR (rtlname, 0); else if (GET_CODE (rtlname) == MEM && GET_CODE (XEXP (rtlname, 0)) == SYMBOL_REF) oldname = XSTR (XEXP (rtlname, 0), 0); else abort (); if (i386_pe_dllimport_name_p (oldname)) { warning ("%Jinconsistent dll linkage for '%D', dllexport assumed.", decl, decl); /* Remove DLL_IMPORT_PREFIX. */ oldname += strlen (DLL_IMPORT_PREFIX); DECL_NON_ADDR_CONST_P (decl) = 0; } else if (i386_pe_dllexport_name_p (oldname)) return; /* already done */ newname = alloca (strlen (DLL_EXPORT_PREFIX) + strlen (oldname) + 1); sprintf (newname, "%s%s", DLL_EXPORT_PREFIX, oldname); /* We pass newname through get_identifier to ensure it has a unique address. RTL processing can sometimes peek inside the symbol ref and compare the string's addresses to see if two symbols are identical. */ idp = get_identifier (newname); symref = gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER (idp)); SYMBOL_REF_DECL (symref) = decl; XEXP (DECL_RTL (decl), 0) = symref; }
void dw2_asm_output_offset (int size, const char *label, const char *comment, ...) { va_list ap; va_start (ap, comment); #ifdef ASM_OUTPUT_DWARF_OFFSET ASM_OUTPUT_DWARF_OFFSET (asm_out_file, size, label); #else dw2_assemble_integer (size, gen_rtx_SYMBOL_REF (Pmode, label)); #endif if (flag_debug_asm && comment) { fprintf (asm_out_file, "\t%s ", ASM_COMMENT_START); vfprintf (asm_out_file, comment, ap); } fputc ('\n', asm_out_file); va_end (ap); }
void handle_common_deferred_options (void) { unsigned int i; cl_deferred_option *opt; vec<cl_deferred_option> v; if (common_deferred_options) v = *((vec<cl_deferred_option> *) common_deferred_options); else v = vNULL; if (flag_dump_all_passed) enable_rtl_dump_file (); if (flag_opt_info) opt_info_switch_p (NULL); FOR_EACH_VEC_ELT (v, i, opt) { switch (opt->opt_index) { case OPT_fcall_used_: fix_register (opt->arg, 0, 1); break; case OPT_fcall_saved_: fix_register (opt->arg, 0, 0); break; case OPT_fdbg_cnt_: dbg_cnt_process_opt (opt->arg); break; case OPT_fdbg_cnt_list: dbg_cnt_list_all_counters (); break; case OPT_fdebug_prefix_map_: add_debug_prefix_map (opt->arg); break; case OPT_fdump_: if (!g->get_dumps ()->dump_switch_p (opt->arg)) error ("unrecognized command line option %<-fdump-%s%>", opt->arg); break; case OPT_fopt_info_: if (!opt_info_switch_p (opt->arg)) error ("unrecognized command line option %<-fopt-info-%s%>", opt->arg); break; case OPT_fenable_: case OPT_fdisable_: if (opt->opt_index == OPT_fenable_) enable_pass (opt->arg); else disable_pass (opt->arg); break; case OPT_ffixed_: /* Deferred. */ fix_register (opt->arg, 1, 1); break; case OPT_fplugin_: #ifdef ENABLE_PLUGIN add_new_plugin (opt->arg); #else error ("plugin support is disabled; configure with --enable-plugin"); #endif break; case OPT_fplugin_arg_: #ifdef ENABLE_PLUGIN parse_plugin_arg_opt (opt->arg); #else error ("plugin support is disabled; configure with --enable-plugin"); #endif break; case OPT_frandom_seed: /* The real switch is -fno-random-seed. */ if (!opt->value) set_random_seed (NULL); break; case OPT_frandom_seed_: set_random_seed (opt->arg); break; case OPT_fstack_limit: /* The real switch is -fno-stack-limit. */ if (!opt->value) stack_limit_rtx = NULL_RTX; break; case OPT_fstack_limit_register_: { int reg = decode_reg_name (opt->arg); if (reg < 0) error ("unrecognized register name %qs", opt->arg); else stack_limit_rtx = gen_rtx_REG (Pmode, reg); } break; case OPT_fstack_limit_symbol_: stack_limit_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (opt->arg)); break; case OPT_fasan_shadow_offset_: if (!(flag_sanitize & SANITIZE_KERNEL_ADDRESS)) error ("-fasan-shadow-offset should only be used " "with -fsanitize=kernel-address"); if (!set_asan_shadow_offset (opt->arg)) error ("unrecognized shadow offset %qs", opt->arg); break; case OPT_fsanitize_sections_: set_sanitized_sections (opt->arg); break; default: gcc_unreachable (); } } }
rtx addr_for_mem_ref (struct mem_address *addr, addr_space_t as, bool really_expand) { enum machine_mode address_mode = targetm.addr_space.address_mode (as); enum machine_mode pointer_mode = targetm.addr_space.pointer_mode (as); rtx address, sym, bse, idx, st, off; struct mem_addr_template *templ; if (addr->step && !integer_onep (addr->step)) st = immed_double_int_const (tree_to_double_int (addr->step), pointer_mode); else st = NULL_RTX; if (addr->offset && !integer_zerop (addr->offset)) off = immed_double_int_const (double_int_sext (tree_to_double_int (addr->offset), TYPE_PRECISION (TREE_TYPE (addr->offset))), pointer_mode); else off = NULL_RTX; if (!really_expand) { unsigned int templ_index = TEMPL_IDX (as, addr->symbol, addr->base, addr->index, st, off); if (templ_index >= VEC_length (mem_addr_template, mem_addr_template_list)) VEC_safe_grow_cleared (mem_addr_template, gc, mem_addr_template_list, templ_index + 1); /* Reuse the templates for addresses, so that we do not waste memory. */ templ = VEC_index (mem_addr_template, mem_addr_template_list, templ_index); if (!templ->ref) { sym = (addr->symbol ? gen_rtx_SYMBOL_REF (pointer_mode, ggc_strdup ("test_symbol")) : NULL_RTX); bse = (addr->base ? gen_raw_REG (pointer_mode, LAST_VIRTUAL_REGISTER + 1) : NULL_RTX); idx = (addr->index ? gen_raw_REG (pointer_mode, LAST_VIRTUAL_REGISTER + 2) : NULL_RTX); gen_addr_rtx (pointer_mode, sym, bse, idx, st? const0_rtx : NULL_RTX, off? const0_rtx : NULL_RTX, &templ->ref, &templ->step_p, &templ->off_p); } if (st) *templ->step_p = st; if (off) *templ->off_p = off; return templ->ref; } /* Otherwise really expand the expressions. */ sym = (addr->symbol ? expand_expr (addr->symbol, NULL_RTX, pointer_mode, EXPAND_NORMAL) : NULL_RTX); bse = (addr->base ? expand_expr (addr->base, NULL_RTX, pointer_mode, EXPAND_NORMAL) : NULL_RTX); idx = (addr->index ? expand_expr (addr->index, NULL_RTX, pointer_mode, EXPAND_NORMAL) : NULL_RTX); gen_addr_rtx (pointer_mode, sym, bse, idx, st, off, &address, NULL, NULL); if (pointer_mode != address_mode) address = convert_memory_address (address_mode, address); return address; }
void i386_pe_encode_section_info (tree decl, rtx rtl, int first) { default_encode_section_info (decl, rtl, first); if (first && TREE_CODE (decl) == FUNCTION_DECL) { tree type_attributes = TYPE_ATTRIBUTES (TREE_TYPE (decl)); tree newid = NULL_TREE; if (lookup_attribute ("stdcall", type_attributes)) newid = gen_stdcall_or_fastcall_suffix (decl, false); else if (lookup_attribute ("fastcall", type_attributes)) newid = gen_stdcall_or_fastcall_suffix (decl, true); if (newid != NULL_TREE) { rtx rtlname = XEXP (rtl, 0); if (GET_CODE (rtlname) == MEM) rtlname = XEXP (rtlname, 0); XSTR (rtlname, 0) = IDENTIFIER_POINTER (newid); /* These attributes must be present on first declaration, change_decl_assembler_name will warn if they are added later and the decl has been referenced, but duplicate_decls should catch the mismatch before this is called. */ change_decl_assembler_name (decl, newid); } } /* Mark the decl so we can tell from the rtl whether the object is dllexport'd or dllimport'd. This also handles dllexport/dllimport override semantics. */ if (i386_pe_dllexport_p (decl)) i386_pe_mark_dllexport (decl); else if (i386_pe_dllimport_p (decl)) i386_pe_mark_dllimport (decl); /* It might be that DECL has already been marked as dllimport, but a subsequent definition nullified that. The attribute is gone but DECL_RTL still has (DLL_IMPORT_PREFIX) prefixed. We need to remove that. Ditto for the DECL_NON_ADDR_CONST_P flag. */ else if ((TREE_CODE (decl) == FUNCTION_DECL || TREE_CODE (decl) == VAR_DECL) && DECL_RTL (decl) != NULL_RTX && GET_CODE (DECL_RTL (decl)) == MEM && GET_CODE (XEXP (DECL_RTL (decl), 0)) == MEM && GET_CODE (XEXP (XEXP (DECL_RTL (decl), 0), 0)) == SYMBOL_REF && i386_pe_dllimport_name_p (XSTR (XEXP (XEXP (DECL_RTL (decl), 0), 0), 0))) { const char *oldname = XSTR (XEXP (XEXP (DECL_RTL (decl), 0), 0), 0); /* Remove DLL_IMPORT_PREFIX. */ tree idp = get_identifier (oldname + strlen (DLL_IMPORT_PREFIX)); rtx symref = gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER (idp)); SYMBOL_REF_DECL (symref) = decl; XEXP (DECL_RTL (decl), 0) = symref; DECL_NON_ADDR_CONST_P (decl) = 0; /* We previously set TREE_PUBLIC and DECL_EXTERNAL. We leave these alone for now. */ if (DECL_INITIAL (decl) || !DECL_EXTERNAL (decl)) warning ("%J'%D' defined locally after being " "referenced with dllimport linkage", decl, decl); else warning ("%J'%D' redeclared without dllimport attribute " "after being referenced with dllimport linkage", decl, decl); } }
static int common_handle_option (size_t scode, const char *arg, int value) { enum opt_code code = (enum opt_code) scode; switch (code) { /* APPLE LOCAL begin fat builds */ case OPT_arch: /* Ignore for now. */ break; /* APPLE LOCAL end fat builds */ case OPT__help: print_help (); exit_after_options = true; break; case OPT__param: handle_param (arg); break; case OPT__target_help: display_target_options (); exit_after_options = true; break; case OPT__version: print_version (stderr, ""); exit_after_options = true; break; case OPT_G: g_switch_value = value; g_switch_set = true; break; case OPT_O: case OPT_Os: /* Currently handled in a prescan. */ break; case OPT_W: /* For backward compatibility, -W is the same as -Wextra. */ set_Wextra (value); break; case OPT_Wextra: set_Wextra (value); break; case OPT_Wlarger_than_: larger_than_size = value; warn_larger_than = value != -1; break; case OPT_Wstrict_aliasing: case OPT_Wstrict_aliasing_: warn_strict_aliasing = value; break; case OPT_Wunused: set_Wunused (value); break; case OPT_aux_info: case OPT_aux_info_: aux_info_file_name = arg; flag_gen_aux_info = 1; break; case OPT_auxbase: aux_base_name = arg; break; /* APPLE LOCAL begin LLVM */ case OPT_mllvm: llvm_optns = arg; break; /* APPLE LOCAL end LLVM */ case OPT_auxbase_strip: { char *tmp = xstrdup (arg); strip_off_ending (tmp, strlen (tmp)); if (tmp[0]) aux_base_name = tmp; } break; case OPT_d: decode_d_option (arg); break; case OPT_dumpbase: dump_base_name = arg; break; /* APPLE LOCAL begin optimization pragmas 3124235/3420242 */ /* APPLE LOCAL end optimization pragmas 3124235/3420242 */ /* APPLE LOCAL begin falign-jumps-max-skip */ case OPT_falign_jumps_max_skip_: align_jumps_max_skip = value; break; case OPT_falign_loops_max_skip_: align_loops_max_skip = value; break; /* APPLE LOCAL end falign-jumps-max-skip */ /* APPLE LOCAL begin optimization pragmas 3124235/3420242 */ /* APPLE LOCAL end optimization pragmas 3124235/3420242 */ /* APPLE LOCAL begin predictive compilation */ case OPT_fpredictive_compilation: predictive_compilation = 0; break; case OPT_fpredictive_compilation_: { char* buf = xmalloc (strlen(arg) + 1); sprintf (buf, "%d", value); if (strcmp(buf, arg)) { error ("argument to \"-fpredictive-compilation=\" should be a valid non-negative integer instead of \"%s\"", arg); value = 0; } free(buf); predictive_compilation = value; break; } /* APPLE LOCAL end predictive compilation */ case OPT_fbranch_probabilities: flag_branch_probabilities_set = true; break; case OPT_fcall_used_: fix_register (arg, 0, 1); break; case OPT_fcall_saved_: fix_register (arg, 0, 0); break; case OPT_fdiagnostics_show_location_: if (!strcmp (arg, "once")) diagnostic_prefixing_rule (global_dc) = DIAGNOSTICS_SHOW_PREFIX_ONCE; else if (!strcmp (arg, "every-line")) diagnostic_prefixing_rule (global_dc) = DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE; else return 0; break; case OPT_fdump_: if (!dump_switch_p (arg)) return 0; break; case OPT_ffast_math: set_fast_math_flags (value); break; case OPT_ffixed_: fix_register (arg, 1, 1); break; case OPT_finline_limit_: case OPT_finline_limit_eq: set_param_value ("max-inline-insns-single", value / 2); set_param_value ("max-inline-insns-auto", value / 2); break; case OPT_fmessage_length_: pp_set_line_maximum_length (global_dc->printer, value); break; case OPT_fpack_struct_: if (value <= 0 || (value & (value - 1)) || value > 16) error("structure alignment must be a small power of two, not %d", value); else { initial_max_fld_align = value; maximum_field_alignment = value * BITS_PER_UNIT; } break; case OPT_fpeel_loops: flag_peel_loops_set = true; break; case OPT_fprofile_arcs: profile_arc_flag_set = true; break; /* APPLE LOCAL begin add fuse-profile */ case OPT_fuse_profile: /* APPLE LOCAL end add fuse-profile */ case OPT_fprofile_use: if (!flag_branch_probabilities_set) flag_branch_probabilities = value; if (!flag_profile_values_set) flag_profile_values = value; if (!flag_unroll_loops_set) flag_unroll_loops = value; if (!flag_peel_loops_set) flag_peel_loops = value; if (!flag_tracer_set) flag_tracer = value; if (!flag_value_profile_transformations_set) flag_value_profile_transformations = value; #ifdef HAVE_prefetch if (0 && !flag_speculative_prefetching_set) flag_speculative_prefetching = value; #endif break; /* APPLE LOCAL begin add fcreate-profile */ case OPT_fcreate_profile: /* APPLE LOCAL end add fcreate-profile */ case OPT_fprofile_generate: if (!profile_arc_flag_set) profile_arc_flag = value; if (!flag_profile_values_set) flag_profile_values = value; if (!flag_value_profile_transformations_set) flag_value_profile_transformations = value; if (!flag_unroll_loops_set) flag_unroll_loops = value; #ifdef HAVE_prefetch if (0 && !flag_speculative_prefetching_set) flag_speculative_prefetching = value; #endif break; case OPT_fprofile_values: flag_profile_values_set = true; break; case OPT_fvisibility_: { if (!strcmp(arg, "default")) default_visibility = VISIBILITY_DEFAULT; else if (!strcmp(arg, "internal")) default_visibility = VISIBILITY_INTERNAL; else if (!strcmp(arg, "hidden")) default_visibility = VISIBILITY_HIDDEN; else if (!strcmp(arg, "protected")) default_visibility = VISIBILITY_PROTECTED; else error ("unrecognised visibility value \"%s\"", arg); } break; case OPT_fvpt: flag_value_profile_transformations_set = true; break; case OPT_fspeculative_prefetching: flag_speculative_prefetching_set = true; break; case OPT_frandom_seed: /* The real switch is -fno-random-seed. */ if (value) return 0; flag_random_seed = NULL; break; case OPT_frandom_seed_: flag_random_seed = arg; break; /* APPLE LOCAL begin optimization pragmas 3124235/3420242 */ /* APPLE LOCAL end optimization pragmas 3124235/3420242 */ case OPT_fsched_stalled_insns_: flag_sched_stalled_insns = value; if (flag_sched_stalled_insns == 0) flag_sched_stalled_insns = -1; break; /* APPLE LOCAL begin optimization pragmas 3124235/3420242 */ /* APPLE LOCAL end optimization pragmas 3124235/3420242 */ case OPT_fstack_limit: /* The real switch is -fno-stack-limit. */ if (value) return 0; stack_limit_rtx = NULL_RTX; break; case OPT_fstack_limit_register_: { int reg = decode_reg_name (arg); if (reg < 0) error ("unrecognized register name \"%s\"", arg); else stack_limit_rtx = gen_rtx_REG (Pmode, reg); } break; case OPT_fstack_limit_symbol_: stack_limit_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (arg)); break; case OPT_ftree_vectorizer_verbose_: vect_set_verbosity_level (arg); break; case OPT_ftls_model_: if (!strcmp (arg, "global-dynamic")) flag_tls_default = TLS_MODEL_GLOBAL_DYNAMIC; else if (!strcmp (arg, "local-dynamic")) flag_tls_default = TLS_MODEL_LOCAL_DYNAMIC; else if (!strcmp (arg, "initial-exec")) flag_tls_default = TLS_MODEL_INITIAL_EXEC; else if (!strcmp (arg, "local-exec")) flag_tls_default = TLS_MODEL_LOCAL_EXEC; else warning ("unknown tls-model \"%s\"", arg); break; case OPT_ftracer: flag_tracer_set = true; break; case OPT_funroll_loops: flag_unroll_loops_set = true; break; /* APPLE LOCAL begin fwritable strings */ case OPT_fwritable_strings: flag_writable_strings = value; break; /* APPLE LOCAL end fwritable strings */ case OPT_g: set_debug_level (NO_DEBUG, DEFAULT_GDB_EXTENSIONS, arg); break; case OPT_gcoff: set_debug_level (SDB_DEBUG, false, arg); break; case OPT_gdwarf_2: set_debug_level (DWARF2_DEBUG, false, arg); break; case OPT_ggdb: set_debug_level (NO_DEBUG, 2, arg); break; case OPT_gstabs: case OPT_gstabs_: set_debug_level (DBX_DEBUG, code == OPT_gstabs_, arg); break; case OPT_gvms: set_debug_level (VMS_DEBUG, false, arg); break; case OPT_gxcoff: case OPT_gxcoff_: set_debug_level (XCOFF_DEBUG, code == OPT_gxcoff_, arg); break; case OPT_m: set_target_switch (arg); break; case OPT_o: asm_file_name = arg; break; case OPT_pedantic_errors: flag_pedantic_errors = pedantic = 1; break; default: /* If the flag was handled in a standard way, assume the lack of processing here is intentional. */ /* APPLE LOCAL optimization pragmas 3124235/3420242 */ if (cl_options[scode].flag_var || cl_options[scode].access_flag) break; abort (); } return 1; }
void init_resource_processing (void) { registerResource_libfunc = gen_rtx_SYMBOL_REF (Pmode, "_Jv_RegisterResource"); }