???????????????????????????? ??????????????/????????????????? ............/............... .........................../... ????????????????????????????? >>>>>>>>>>>>>/>>>>>>>>>>>>>>>>> ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>/>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ???????????????????????????? ??????????????/????????????????? ............/............... .........................../... ????????????????????????????? >>>>>>>>>>>>>/>>>>>>>>>>>>>>>>> ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>/>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> # gcc(1) completion -*- shell-script -*- _gcc() { local cur prev prev2 words cword argument prefix prefix_length _init_completion || return # Test that GCC is recent enough and if not fallback to # parsing of --completion option. if ! $1 --completion=" " 2>/dev/null; then if [[ $cur == -* ]]; then local cc=$($1 -print-prog-name=cc1 2>/dev/null) [[ $cc ]] || return COMPREPLY=($(compgen -W "$($cc --help 2>/dev/null | tr '\t' ' ' | command sed -e '/^ *-/!d' -e 's/ *-\([^][ <>]*\).*/-\1/')" \ -- "$cur")) [[ ${COMPREPLY-} == *= ]] && compopt -o nospace else _filedir fi return fi # extract also for situations like: -fsanitize=add if ((cword > 2)); then prev2="${COMP_WORDS[cword - 2]}" fi # sample: -fsan if [[ $cur == -* ]]; then argument=$cur prefix="" # sample: -fsanitize= elif [[ $cur == "=" && $prev == -* ]]; then argument=$prev$cur prefix=$prev$cur # sample: -fsanitize=add elif [[ $prev == "=" && $prev2 == -* ]]; then argument=$prev2$prev$cur prefix=$prev2$prev # sample: --param lto- elif [[ $prev == --param ]]; then argument="$prev $cur" prefix="$prev " fi if [[ ! -v argument ]]; then _filedir else # In situation like '-fsanitize=add' $cur is equal to last token. # Thus we need to strip the beginning of suggested option. prefix_length=$((${#prefix} + 1)) local flags=$($1 --completion="$argument" | cut -c $prefix_length-) [[ ${flags} == "=*" ]] && compopt -o nospace 2>/dev/null COMPREPLY=($(compgen -W "$flags" -- "")) fi } && complete -F _gcc gcc{,-5,-6,-7,-8} g++{,-5,-6,-7,-8} g77 g95 \ gccgo{,-5,-6,-7,-8} gcj gfortran{,-5,-6,-7,-8} gpc && { cc --version 2>/dev/null | command grep -q GCC || [[ $(_realcommand cc) == *gcc* ]] && complete -F _gcc cc || complete -F _minimal cc c++ --version 2>/dev/null | command grep -q GCC || [[ $(_realcommand c++) == *g++* ]] && complete -F _gcc c++ || complete -F _minimal c++ f77 --version 2>/dev/null | command grep -q GCC || [[ $(_realcommand f77) == *gfortran* ]] && complete -F _gcc f77 || complete -F _minimal f77 f95 --version 2>/dev/null | command grep -q GCC || [[ $(_realcommand f95) == *gfortran* ]] && complete -F _gcc f95 || complete -F _minimal f95 } # ex: filetype=sh