diff options
| author | John McCall <rjmccall@apple.com> | 2010-01-13 06:44:51 +0000 |
|---|---|---|
| committer | John McCall <rjmccall@apple.com> | 2010-01-13 06:44:51 +0000 |
| commit | 6d11e07b1684ade0d9b9c60fe7f13bfc33d71325 (patch) | |
| tree | bf40f376412c2308fa24ca152f5c1997178b440f /clang | |
| parent | 209aecad0c8693ea11db269e6d0f020c71958a62 (diff) | |
| download | bcm5719-llvm-6d11e07b1684ade0d9b9c60fe7f13bfc33d71325.tar.gz bcm5719-llvm-6d11e07b1684ade0d9b9c60fe7f13bfc33d71325.zip | |
Insert clang-flags into the clang command. Currently it needs to be a list;
future work should permit strings (by splitting them into a list o' strings).
llvm-svn: 93299
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/utils/clang-completion-mode.el | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/clang/utils/clang-completion-mode.el b/clang/utils/clang-completion-mode.el index 4164eac7ac8..873127f5cd3 100644 --- a/clang/utils/clang-completion-mode.el +++ b/clang/utils/clang-completion-mode.el @@ -144,12 +144,21 @@ This variable will typically contain include paths, e.g., -I~/MyProject." )))) (defun clang-complete () - (let ((ccstring (concat (buffer-file-name) - ":" - (number-to-string (+ 1 (current-line))) - ":" - (number-to-string (+ 1 (current-column))))) - (cc-buffer-name (concat "*Clang Completion for " (buffer-name) "*"))) + (let* ((cc-point (concat (buffer-file-name) + ":" + (number-to-string (+ 1 (current-line))) + ":" + (number-to-string (+ 1 (current-column))))) + (cc-pch (if (equal clang-completion-prefix-header "") nil + (list "-include-pch" + (concat clang-completion-prefix-header ".pch")))) + (cc-flags (if (listp clang-flags) clang-flags nil)) + (cc-command (append `(,clang "-cc1" "-fsyntax-only") + cc-flags + cc-pch + `("-code-completion-at" ,cc-point) + (list (buffer-file-name)))) + (cc-buffer-name (concat "*Clang Completion for " (buffer-name) "*"))) ;; Start the code-completion process (if (buffer-file-name) (progn @@ -162,18 +171,9 @@ This variable will typically contain include paths, e.g., -I~/MyProject." (setq clang-result-string "") (setq clang-completion-buffer cc-buffer-name) - (let ((cc-proc - (if (equal clang-completion-prefix-header "") - (start-process "Clang Code-Completion" cc-buffer-name - clang "-cc1" "-fsyntax-only" - "-code-completion-at" ccstring - (buffer-file-name)) - (start-process "Clang Code-Completion" cc-buffer-name - clang "-cc1" "-fsyntax-only" - "-code-completion-at" ccstring - "-include-pch" - (concat clang-completion-prefix-header ".pch") - (buffer-file-name))))) + (let ((cc-proc (apply 'start-process + (append (list "Clang Code-Completion" cc-buffer-name) + cc-command)))) (set-process-filter cc-proc 'clang-completion-stash-filter) (set-process-sentinel cc-proc 'clang-completion-sentinel) ))))) |

