;ELC   
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\207" [require semantic/dep cl-lib] 2)
#@182 Return program output or error code in case error happens.
GCC-CMD is the program to execute and GCC-OPTIONS are the options
to give to the program.

(fn GCC-CMD &rest GCC-OPTIONS)
(defalias 'semantic-gcc-query #[385 "\301\302!\303\304!\305\306B\305BBB\307rq\210\310 \210\311\304\312\"\210\3131. \314\315#\211\2620\210\202H \210\316\317!\3201D \314\315#\211\2620\202F \210\305)\210\311\304\"\210\211\307U\203X \321 \202Y \211\322!\210)\207" [default-directory get-buffer-create " *gcc-query*" getenv "LC_ALL" nil t 0 erase-buffer setenv "C" (error) apply call-process expand-file-name "~/" (error) buffer-string kill-buffer] 10 (#$ . 158)])
#@69 Return include paths as gcc uses them for language LANG.

(fn LANG)
(defalias 'semantic-gcc-get-include-paths #[257 "\211\301\230\203\n \302\202$ \211\303\230\203 \303\202$ \211;\203  \304\305\"\202$ \304\306\"\307\310\311\312&\313\314\"\315\316\211\203\231 \211@\211G\317V\203\222 \315U\203_ \211G\320V\203\222 \211\315\320O\321\230\203\222 T\262\202\222 \322\316\"\211@\323U\203\221 \317\316O\324!\203\220 \325!\203\220 \326!\211\235\203\210 \202\214 \211B\262\262\210\210A\266\202\2025 \210\211\237\207" [null-device "c" "gcc" "c++" error "Unknown lang: %s" "LANG=%S, should be a string" semantic-gcc-query "-v" "-E" "-x" split-string "\n" 0 nil 1 9 "#include " append 32 file-accessible-directory-p file-name-absolute-p expand-file-name] 13 (#$ . 819)])
#@82 Convert CPP output STR into a list of cons cells with defines for C++.

(fn STR)
(defalias 'semantic-cpp-defs #[257 "\300\301\"\302\211\203) \211@\300!\211G\303U\203! \211A@\3048BB\262\210A\266\202\202 \210\207" [split-string "\n" nil 3 2] 9 (#$ . 1609)])
#@59 Convert GCC output STR into an alist of fields.

(fn STR)
(defalias 'semantic-gcc-fields #[257 "\300\301\302\"\211\211\203\210 \211@\303\304\"\204 \303\305\"\203M \211\306\225\300O\301\307\310#\211A\211\203H \211@\301\311\"\312@!A@BB\262\266A\266\202\202& \266\202\201 \303\313\"\203l \211\314\225\300O\301\307\"\315A@BB\262\266\202\201 \303\316\"\203\201 \301\307\"\317A@BB\262\210A\266\202\202 \210\207" [nil split-string "\n" string-match "Configured with\\(:\\)" "\\(:\\)\\s-*[^ ]*configure " 1 " " t "=" intern "gcc[ -][vV]ersion" 0 version "Target: " target] 14 (#$ . 1879)])
#@301 The GCC setup data.
This is setup by `semantic-gcc-setup'.
This is an alist, and should include keys of:
  `version'  - the version of gcc
  `--host'   - the host symbol (used in include directories)
  `--prefix' - where GCC was installed.
It should also include other symbols GCC was compiled with.
(defvar semantic-gcc-setup-data nil (#$ . 2499))
#@51 Setup Semantic C/C++ parsing based on GCC output.
(defalias 'semantic-gcc-setup #[0 "\206\n \306\307\310\311\"!\312\313\314\315	\257\316\307\317#\211;\203 \211\202$ \316\307\310#\262\211;\2031 \320!\2026 \321\322!\210\323\324\236A\325\236A\206L \326\236A\206L \327\236A\330\331!\330\315!\332\310\f\333$\204\234 \211\203\234 \334\335\336!\"\334\337\"\334\315\"\334\"\334\"\340\323\341\342\343D\"\"\262\340\323\341\344\343\257\"\"\266\330\331!\211\203\261 \211@\345\346\"\210A\266\202\202\237 \210\330\315!\211\203\375 \211@\345\347\"\210\211\350P\351P\352PE\211\211\203\364 \211@\353!\203\355 \354\305!\203\352 \211\235\204\355 \211B\202\355 \211CA\266\202\202\313 \266A\266\202\202\265 \210\354\355!\204\323-\211\203\"\211@\211-\235\204\211-B-A\266\202\202\2103\356=\2037\357-\235\2047\357-B-\360\361!\203@\362 \210)\323\207" [semantic-gcc-setup-data null-device c++-include-path exec-path exec-suffixes semantic-lex-c-preprocessor-symbol-file semantic-gcc-fields semantic-gcc-query "gcc" "-v" "-E" "-dM" "-x" "c++" apply "cpp" semantic-cpp-defs message "Could not query gcc for defines. Maybe g++ is not installed." nil version target --target --host semantic-gcc-get-include-paths "c" locate-file executable expand-file-name ".." file-name-directory "include" delq mapcar #[257 "\300!\205 \211\207" [file-accessible-directory-p] 3 "\n\n(fn D)"] "/usr/include" #[257 "\300!\205 \211\207" [file-accessible-directory-p] 3 "\n\n(fn D)"] semantic-add-system-include c-mode c++-mode "/bits/c++config.h" "/sys/cdefs.h" "/features.h" file-readable-p boundp semantic-lex-c-preprocessor-symbol-map darwin ("__i386__" . "") featurep semantic/bovine/c semantic-c-reset-preprocessor-symbol-map system-type] 22 (#$ . 2854) nil])
(provide 'semantic/bovine/gcc)
