summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYunzhong Gao <Yunzhong_Gao@playstation.sony.com>2016-01-27 02:18:28 +0000
committerYunzhong Gao <Yunzhong_Gao@playstation.sony.com>2016-01-27 02:18:28 +0000
commit7cbc78e72b799a962eb5da3185dd1b6881cbf4ab (patch)
treeafbc153c64ff3e20e4f2c9f5b1c0d805bcbf21ce
parentb22828f2fbf307269fe3a927ff69fb9151e07408 (diff)
downloadbcm5719-llvm-7cbc78e72b799a962eb5da3185dd1b6881cbf4ab.tar.gz
bcm5719-llvm-7cbc78e72b799a962eb5da3185dd1b6881cbf4ab.zip
Adding a test for PR25717.
The test tries to produce a large preprocessed output to the console, and checks that we do not see any unexpected fatal errors. The test is not enabled unless a lit parameter "--param enable_console=1" is passed on the command line to lit.py. llvm-svn: 258902
-rw-r--r--clang/test/Preprocessor/bigoutput.c17
-rw-r--r--clang/test/lit.cfg5
2 files changed, 22 insertions, 0 deletions
diff --git a/clang/test/Preprocessor/bigoutput.c b/clang/test/Preprocessor/bigoutput.c
new file mode 100644
index 00000000000..c5e02cb9ddf
--- /dev/null
+++ b/clang/test/Preprocessor/bigoutput.c
@@ -0,0 +1,17 @@
+// RUN: %clang_cc1 -E -x c %s > /dev/tty
+// The original bug requires UNIX line endings to trigger.
+// The original bug triggers only when outputting directly to console.
+// REQUIRES: console
+
+// Make sure clang does not crash during preprocessing
+
+#define M0 extern int x;
+#define M2 M0 M0 M0 M0
+#define M4 M2 M2 M2 M2
+#define M6 M4 M4 M4 M4
+#define M8 M6 M6 M6 M6
+#define M10 M8 M8 M8 M8
+#define M12 M10 M10 M10 M10
+#define M14 M12 M12 M12 M12
+
+M14
diff --git a/clang/test/lit.cfg b/clang/test/lit.cfg
index c6026506660..d73274c03f2 100644
--- a/clang/test/lit.cfg
+++ b/clang/test/lit.cfg
@@ -491,4 +491,9 @@ gmalloc_path_str = lit_config.params.get('gmalloc_path',
if use_gmalloc:
config.environment.update({'DYLD_INSERT_LIBRARIES' : gmalloc_path_str})
+# Check if we should allow outputs to console.
+run_console_tests = int(lit_config.params.get('enable_console', '0'))
+if run_console_tests != 0:
+ config.available_features.add('console')
+
lit.util.usePlatformSdkOnDarwin(config, lit_config)
OpenPOWER on IntegriCloud