r258902 - Adding a test for PR25717.

Yunzhong Gao via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 26 18:18:28 PST 2016

Author: ygao
Date: Tue Jan 26 20:18:28 2016
New Revision: 258902

URL: http://llvm.org/viewvc/llvm-project?rev=258902&view=rev
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.

    cfe/trunk/test/Preprocessor/bigoutput.c   (with props)

Added: cfe/trunk/test/Preprocessor/bigoutput.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/bigoutput.c?rev=258902&view=auto
--- cfe/trunk/test/Preprocessor/bigoutput.c (added)
+++ cfe/trunk/test/Preprocessor/bigoutput.c Tue Jan 26 20:18:28 2016
@@ -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

Propchange: cfe/trunk/test/Preprocessor/bigoutput.c
    svn:eol-style = LF

Modified: cfe/trunk/test/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/lit.cfg?rev=258902&r1=258901&r2=258902&view=diff
--- cfe/trunk/test/lit.cfg (original)
+++ cfe/trunk/test/lit.cfg Tue Jan 26 20:18:28 2016
@@ -491,4 +491,9 @@ gmalloc_path_str = lit_config.params.get
 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)

More information about the cfe-commits mailing list