diff options
author | Raphael Isemann <teemperor@gmail.com> | 2017-09-05 12:41:00 +0000 |
---|---|---|
committer | Raphael Isemann <teemperor@gmail.com> | 2017-09-05 12:41:00 +0000 |
commit | bd7c45e7a827ed546912b8d7b02d80e820eb3e7b (patch) | |
tree | 66b4a3c03587caab22ed93b93f5379b3822e522a /clang/test | |
parent | d331cb66f9812c309d5593119cfb25720622ce74 (diff) | |
download | bcm5719-llvm-bd7c45e7a827ed546912b8d7b02d80e820eb3e7b.tar.gz bcm5719-llvm-bd7c45e7a827ed546912b8d7b02d80e820eb3e7b.zip |
[Bash-autocomplete] Fix crash when invoking --autocomplete without value.
Summary:
Currently clang segfaults when invoked with `clang --autocomplete=`.
This patch adds the necessary boundary checks and some tests for corner cases like this.
Reviewers: yamaguchi
Reviewed By: yamaguchi
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D37465
llvm-svn: 312533
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Driver/autocomplete.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/Driver/autocomplete.c b/clang/test/Driver/autocomplete.c index bfa37328d59..8b6d6cfc89c 100644 --- a/clang/test/Driver/autocomplete.c +++ b/clang/test/Driver/autocomplete.c @@ -2,6 +2,19 @@ // autocompletion. You may have to update tests in this file when you // add/modify flags, change HelpTexts or the values of some flags. +// Some corner cases. +// RUN: %clang --autocomplete= | FileCheck %s -check-prefix=ALL_FLAGS +// RUN: %clang --autocomplete=# | FileCheck %s -check-prefix=ALL_FLAGS +// Let's pick some example flags that are hopefully unlikely to change. +// ALL_FLAGS: -fast +// ALL_FLAGS: -fastcp +// ALL_FLAGS: -fastf +// Just test that this doesn't crash: +// RUN: %clang --autocomplete=, +// RUN: %clang --autocomplete== +// RUN: %clang --autocomplete=,, +// RUN: %clang --autocomplete=- + // RUN: %clang --autocomplete=-fsyn | FileCheck %s -check-prefix=FSYN // FSYN: -fsyntax-only // RUN: %clang --autocomplete=-std= | FileCheck %s -check-prefix=STD |