diff --git a/ghc/compiler/parser/util.c b/ghc/compiler/parser/util.c index 7602750658f6657fca5edbf89c2c275955d301bc..0b8c765cfc57a922a771d3bd0481507d8661746b 100644 --- a/ghc/compiler/parser/util.c +++ b/ghc/compiler/parser/util.c @@ -14,11 +14,12 @@ tree root; /* The root of the built syntax tree. */ list Lnil; BOOLEAN nonstandardFlag = FALSE; /* Set if non-std Haskell extensions to be used. */ -BOOLEAN haskell1_2Flag = FALSE; /* Set if we are compiling for 1.2 */ BOOLEAN etags = FALSE; /* Set if we're parsing only to produce tags. */ BOOLEAN hashIds = FALSE; /* Set if Identifiers should be hashed. */ BOOLEAN ignoreSCC = TRUE; /* Set if we ignore/filter scc expressions. */ +BOOLEAN warnSCC = FALSE; /* Set if we want to inform the user what _scc_s are + being ignored. */ /********************************************************************** * * @@ -47,18 +48,6 @@ process_args(argc,argv) while (keep_munging_option && *++*argv != '\0') { switch(**argv) { - case 'N': - nonstandardFlag = TRUE; - break; - - case '2': - haskell1_2Flag = TRUE; - break; - - case 'S': - ignoreSCC = FALSE; - break; - case 'D': #ifdef HSP_DEBUG { extern int yydebug; @@ -67,15 +56,28 @@ process_args(argc,argv) #endif break; + case 'E': + etags = TRUE; + break; + /* -Hn -- Use Hash Table, Size n (if given) */ case 'H': hashIds = TRUE; if(*(*argv+1)!= '\0') hash_table_size = atoi(*argv+1); break; - case 'E': - etags = TRUE; + case 'N': + nonstandardFlag = TRUE; + break; + + case 'S': + ignoreSCC = FALSE; break; + + case 'W': + warnSCC = TRUE; + break; + } } argc--, argv++; diff --git a/ghc/compiler/parser/utils.h b/ghc/compiler/parser/utils.h index 1a682ecbd5f8a1a6bc3e4e732273e9c35e4dd555..95389ecb801e270b0b1640276389d1af31e2232d 100644 --- a/ghc/compiler/parser/utils.h +++ b/ghc/compiler/parser/utils.h @@ -15,6 +15,7 @@ extern BOOLEAN hashIds; extern BOOLEAN etags; extern BOOLEAN ignoreSCC; +extern BOOLEAN warnSCC; extern unsigned hash_table_size;