Skip to content

Commit

Permalink
Adding a test for PR25717.
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Yunzhong Gao authored and Yunzhong Gao committed Jan 27, 2016
1 parent b22828f commit 7cbc78e
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
17 changes: 17 additions & 0 deletions clang/test/Preprocessor/bigoutput.c
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions clang/test/lit.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -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)

0 comments on commit 7cbc78e

Please sign in to comment.