aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980825-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980825-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980825-1.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980825-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980825-1.c
new file mode 100644
index 000000000..34e35bf83
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980825-1.c
@@ -0,0 +1,30 @@
+typedef enum { FALSE, TRUE } boolean;
+enum _errorTypes { FATAL = 1, WARNING = 2, PERROR = 4 };
+typedef struct _optionValues {
+ struct _include {
+ boolean classNames;
+ boolean defines;
+ boolean enumerators;
+ } include;
+} optionValues;
+extern optionValues Option;
+static void applyTagInclusionList( list )
+ const char *const list;
+{
+ boolean mode = TRUE;
+ const char *p;
+ for (p = list ; *p != '\0' ; ++p)
+ switch (*p)
+ {
+ case '=':
+ clearTagList();
+ mode = TRUE;
+ break;
+ case '+': mode = TRUE; break;
+ case '-': mode = FALSE; break;
+ case 'c': Option.include.classNames = mode; break;
+ case 'd': Option.include.defines = mode; break;
+ case 'e': Option.include.enumerators = mode; break;
+ default: error(FATAL, "-i: Invalid tag option '%c'", *p); break;
+ }
+}