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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@258902 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Yunzhong Gao 2016-01-27 02:18:28 +00:00
parent e8acae8d65
commit e23aee1dd3
2 changed files with 22 additions and 0 deletions

View File

@ -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

View 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)