📄 top.c
字号:
ffe_set_intrinsic_state_vxt (FFE_intrinsicstateHIDDEN); else if (strcmp (&opt[2], "vxt-intrinsics-disable") == 0) ffe_set_intrinsic_state_vxt (FFE_intrinsicstateDISABLED); else if (strcmp (&opt[2], "vxt-intrinsics-enable") == 0) ffe_set_intrinsic_state_vxt (FFE_intrinsicstateENABLED); else if (strncmp (&opt[2], "fixed-line-length-", strlen ("fixed-line-length-")) == 0) { char *len = &opt[2] + strlen ("fixed-line-length-"); if (strcmp (len, "none") == 0) ffe_set_fixed_line_length (0); else if (ffe_is_digit_string_ (len)) ffe_set_fixed_line_length (atol (len)); else return 0; } else return 0; } else if (opt[1] == 'W') { if (!strcmp (&opt[2], "comment")) ; /* cpp handles this one. */ else if (!strcmp (&opt[2], "no-comment")) ; /* cpp handles this one. */ else if (!strcmp (&opt[2], "comments")) ; /* cpp handles this one. */ else if (!strcmp (&opt[2], "no-comments")) ; /* cpp handles this one. */ else if (!strcmp (&opt[2], "trigraphs")) ; /* cpp handles this one. */ else if (!strcmp (&opt[2], "no-trigraphs")) ; /* cpp handles this one. */ else if (!strcmp (&opt[2], "import")) ; /* cpp handles this one. */ else if (!strcmp (&opt[2], "no-import")) ; /* cpp handles this one. */ else if (!strcmp (&opt[2], "globals")) ffe_set_is_warn_globals (TRUE); else if (!strcmp (&opt[2], "no-globals")) ffe_set_is_warn_globals (FALSE); else if (!strcmp (&opt[2], "implicit")) ffe_set_is_warn_implicit (TRUE); else if (!strcmp (&opt[2], "no-implicit")) ffe_set_is_warn_implicit (FALSE); else if (!strcmp (&opt[2], "surprising")) ffe_set_is_warn_surprising (TRUE); else if (!strcmp (&opt[2], "no-surprising")) ffe_set_is_warn_surprising (FALSE); else if (!strcmp (&opt[2], "all")) { /* We save the value of warn_uninitialized, since if they put -Wuninitialized on the command line, we need to generate a warning about not using it without also specifying -O. */ if (warn_uninitialized != 1) warn_uninitialized = 2; warn_unused = 1; } else return 0; } else if (opt[1] == 'I') return ffecom_decode_include_option (&opt[2]); else return 0; return 1;}/* Run the FFE on a source file (not an INCLUDEd file). Runs the whole shebang. Prepare and invoke the appropriate lexer. */voidffe_file (ffewhereFile wf, FILE *f){ ffe_init_1 (); ffelex_set_handler ((ffelexHandler) ffest_first); ffewhere_file_set (wf, TRUE, 0); if (ffe_is_free_form_) ffelex_file_free (wf, f); else ffelex_file_fixed (wf, f); ffest_eof (); ffe_terminate_1 ();}/* ffe_init_0 -- Initialize the FFE per image invocation ffe_init_0(); Performs per-image invocation. */voidffe_init_0 (){ ++ffe_count_0; ffe_in_0 = TRUE; ffebad_init_0 (); ffebit_init_0 (); ffebld_init_0 (); ffecom_init_0 (); ffedata_init_0 (); ffeequiv_init_0 (); ffeexpr_init_0 (); ffeglobal_init_0 (); ffeimplic_init_0 (); ffeinfo_init_0 (); ffeintrin_init_0 (); ffelab_init_0 (); ffelex_init_0 (); ffename_init_0 (); ffesrc_init_0 (); ffest_init_0 (); ffestorag_init_0 (); ffesymbol_init_0 (); ffetarget_init_0 (); ffetype_init_0 (); ffewhere_init_0 ();}/* ffe_init_1 -- Initialize the FFE per source file ffe_init_1(); Performs per-source-file invocation (not including INCLUDEd files). */voidffe_init_1 (){ ++ffe_count_1; ffe_in_1 = TRUE; assert (ffe_file_pool_ == NULL); ffe_file_pool_ = malloc_pool_new ("File", malloc_pool_image (), 1024); ffebad_init_1 (); ffebit_init_1 (); ffebld_init_1 (); ffecom_init_1 (); ffedata_init_1 (); ffeequiv_init_1 (); ffeexpr_init_1 (); ffeglobal_init_1 (); ffeimplic_init_1 (); ffeinfo_init_1 (); ffeintrin_init_1 (); ffelab_init_1 (); ffelex_init_1 (); ffename_init_1 (); ffesrc_init_1 (); ffest_init_1 (); ffestorag_init_1 (); ffesymbol_init_1 (); ffetarget_init_1 (); ffetype_init_1 (); ffewhere_init_1 (); ffe_init_2 ();}/* ffe_init_2 -- Initialize the FFE per outer program unit ffe_init_2(); Performs per-program-unit invocation. */voidffe_init_2 (){ ++ffe_count_2; ffe_in_2 = TRUE; assert (ffe_program_unit_pool_ == NULL); ffe_program_unit_pool_ = malloc_pool_new ("Program unit", ffe_file_pool_, 1024); ffe_is_mainprog_ = FALSE; ffe_is_saveall_ = !ffe_is_automatic_; ffebad_init_2 (); ffebit_init_2 (); ffebld_init_2 (); ffecom_init_2 (); ffedata_init_2 (); ffeequiv_init_2 (); ffeexpr_init_2 (); ffeglobal_init_2 (); ffeimplic_init_2 (); ffeinfo_init_2 (); ffeintrin_init_2 (); ffelab_init_2 (); ffelex_init_2 (); ffename_init_2 (); ffesrc_init_2 (); ffest_init_2 (); ffestorag_init_2 (); ffesymbol_init_2 (); ffetarget_init_2 (); ffetype_init_2 (); ffewhere_init_2 (); ffe_init_3 ();}/* ffe_init_3 -- Initialize the FFE per any program unit ffe_init_3(); Performs per-any-unit initialization; does NOT do per-statement-function-definition initialization (i.e. the chain of inits, from 0-3, breaks here; level 4 must be invoked independently). */voidffe_init_3 (){ ++ffe_count_3; ffe_in_3 = TRUE; assert (ffe_any_unit_pool_ == NULL); ffe_any_unit_pool_ = malloc_pool_new ("Any unit", ffe_program_unit_pool_, 1024); ffebad_init_3 (); ffebit_init_3 (); ffebld_init_3 (); ffecom_init_3 (); ffedata_init_3 (); ffeequiv_init_3 (); ffeexpr_init_3 (); ffeglobal_init_3 (); ffeimplic_init_3 (); ffeinfo_init_3 (); ffeintrin_init_3 (); ffelab_init_3 (); ffelex_init_3 (); ffename_init_3 (); ffesrc_init_3 (); ffest_init_3 (); ffestorag_init_3 (); ffesymbol_init_3 (); ffetarget_init_3 (); ffetype_init_3 (); ffewhere_init_3 ();}/* ffe_init_4 -- Initialize the FFE per statement function definition ffe_init_4(); */voidffe_init_4 (){ ++ffe_count_4; ffe_in_4 = TRUE; ffebad_init_4 (); ffebit_init_4 (); ffebld_init_4 (); ffecom_init_4 (); ffedata_init_4 (); ffeequiv_init_4 (); ffeexpr_init_4 (); ffeglobal_init_4 (); ffeimplic_init_4 (); ffeinfo_init_4 (); ffeintrin_init_4 (); ffelab_init_4 (); ffelex_init_4 (); ffename_init_4 (); ffesrc_init_4 (); ffest_init_4 (); ffestorag_init_4 (); ffesymbol_init_4 (); ffetarget_init_4 (); ffetype_init_4 (); ffewhere_init_4 ();}/* ffe_terminate_0 -- Terminate the FFE prior to image termination ffe_terminate_0(); */voidffe_terminate_0 (){ ffe_count_1 = 0; ffe_in_0 = FALSE; ffebad_terminate_0 (); ffebit_terminate_0 (); ffebld_terminate_0 (); ffecom_terminate_0 (); ffedata_terminate_0 (); ffeequiv_terminate_0 (); ffeexpr_terminate_0 (); ffeglobal_terminate_0 (); ffeimplic_terminate_0 (); ffeinfo_terminate_0 (); ffeintrin_terminate_0 (); ffelab_terminate_0 (); ffelex_terminate_0 (); ffename_terminate_0 (); ffesrc_terminate_0 (); ffest_terminate_0 (); ffestorag_terminate_0 (); ffesymbol_terminate_0 (); ffetarget_terminate_0 (); ffetype_terminate_0 (); ffewhere_terminate_0 ();}/* ffe_terminate_1 -- Terminate the FFE after seeing source file EOF ffe_terminate_1(); */voidffe_terminate_1 (){ ffe_count_2 = 0; ffe_in_1 = FALSE; ffe_terminate_2 (); ffebad_terminate_1 (); ffebit_terminate_1 (); ffebld_terminate_1 (); ffecom_terminate_1 (); ffedata_terminate_1 (); ffeequiv_terminate_1 (); ffeexpr_terminate_1 (); ffeglobal_terminate_1 (); ffeimplic_terminate_1 (); ffeinfo_terminate_1 (); ffeintrin_terminate_1 (); ffelab_terminate_1 (); ffelex_terminate_1 (); ffename_terminate_1 (); ffesrc_terminate_1 (); ffest_terminate_1 (); ffestorag_terminate_1 (); ffesymbol_terminate_1 (); ffetarget_terminate_1 (); ffetype_terminate_1 (); ffewhere_terminate_1 (); assert (ffe_file_pool_ != NULL); malloc_pool_kill (ffe_file_pool_); ffe_file_pool_ = NULL;}/* ffe_terminate_2 -- Terminate the FFE after seeing outer program unit END ffe_terminate_2(); */voidffe_terminate_2 (){ ffe_count_3 = 0; ffe_in_2 = FALSE; ffe_terminate_3 (); ffebad_terminate_2 (); ffebit_terminate_2 (); ffebld_terminate_2 (); ffecom_terminate_2 (); ffedata_terminate_2 (); ffeequiv_terminate_2 (); ffeexpr_terminate_2 (); ffeglobal_terminate_2 (); ffeimplic_terminate_2 (); ffeinfo_terminate_2 (); ffeintrin_terminate_2 (); ffelab_terminate_2 (); ffelex_terminate_2 (); ffename_terminate_2 (); ffesrc_terminate_2 (); ffest_terminate_2 (); ffestorag_terminate_2 (); ffesymbol_terminate_2 (); ffetarget_terminate_2 (); ffetype_terminate_2 (); ffewhere_terminate_2 (); assert (ffe_program_unit_pool_ != NULL); malloc_pool_kill (ffe_program_unit_pool_); ffe_program_unit_pool_ = NULL;}/* ffe_terminate_3 -- Terminate the FFE after seeing any program unit END ffe_terminate_3(); */voidffe_terminate_3 (){ ffe_count_4 = 0; ffe_in_3 = FALSE; ffebad_terminate_3 (); ffebit_terminate_3 (); ffebld_terminate_3 (); ffecom_terminate_3 (); ffedata_terminate_3 (); ffeequiv_terminate_3 (); ffeexpr_terminate_3 (); ffeglobal_terminate_3 (); ffeimplic_terminate_3 (); ffeinfo_terminate_3 (); ffeintrin_terminate_3 (); ffelab_terminate_3 (); ffelex_terminate_3 (); ffename_terminate_3 (); ffesrc_terminate_3 (); ffest_terminate_3 (); ffestorag_terminate_3 (); ffesymbol_terminate_3 (); ffetarget_terminate_3 (); ffetype_terminate_3 (); ffewhere_terminate_3 (); assert (ffe_any_unit_pool_ != NULL); malloc_pool_kill (ffe_any_unit_pool_); ffe_any_unit_pool_ = NULL;}/* ffe_terminate_4 -- Terminate the FFE after seeing sfunc def expression ffe_terminate_4(); */voidffe_terminate_4 (){ ffe_in_4 = FALSE; ffebad_terminate_4 (); ffebit_terminate_4 (); ffebld_terminate_4 (); ffecom_terminate_4 (); ffedata_terminate_4 (); ffeequiv_terminate_4 (); ffeexpr_terminate_4 (); ffeglobal_terminate_4 (); ffeimplic_terminate_4 (); ffeinfo_terminate_4 (); ffeintrin_terminate_4 (); ffelab_terminate_4 (); ffelex_terminate_4 (); ffename_terminate_4 (); ffesrc_terminate_4 (); ffest_terminate_4 (); ffestorag_terminate_4 (); ffesymbol_terminate_4 (); ffetarget_terminate_4 (); ffetype_terminate_4 (); ffewhere_terminate_4 ();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -