]> granicus.if.org Git - clang/commitdiff
Adding a test for PR25717.
authorYunzhong Gao <Yunzhong_Gao@playstation.sony.com>
Wed, 27 Jan 2016 02:18:28 +0000 (02:18 +0000)
committerYunzhong Gao <Yunzhong_Gao@playstation.sony.com>
Wed, 27 Jan 2016 02:18:28 +0000 (02:18 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@258902 91177308-0d34-0410-b5e6-96231b3b80d8

test/Preprocessor/bigoutput.c [new file with mode: 0644]
test/lit.cfg

diff --git a/test/Preprocessor/bigoutput.c b/test/Preprocessor/bigoutput.c
new file mode 100644 (file)
index 0000000..c5e02cb
--- /dev/null
@@ -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
index c6026506660c9a72756fabfa38cdd67f7fa9412b..d73274c03f2f73c71e62a9c5beced8d52b2e4629 100644 (file)
@@ -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)