Commit a55a37d1 authored by Andrew Boyarshin's avatar Andrew Boyarshin Committed by Alexandre Julliard

widl: Support midl_pragma default option.

parent 9e97f351
...@@ -39,7 +39,7 @@ void pop_import(void); ...@@ -39,7 +39,7 @@ void pop_import(void);
int is_type(const char *name); int is_type(const char *name);
int do_warning(char *toggle, warning_list_t *wnum); int do_warning(const char *toggle, warning_list_t *wnum);
int is_warning_enabled(int warning); int is_warning_enabled(int warning);
extern char *temp_name; extern char *temp_name;
......
...@@ -645,7 +645,7 @@ static void warning_enable(int warning) ...@@ -645,7 +645,7 @@ static void warning_enable(int warning)
} }
} }
int do_warning(char *toggle, warning_list_t *wnum) int do_warning(const char *toggle, warning_list_t *wnum)
{ {
warning_t *warning, *next; warning_t *warning, *next;
int ret = 1; int ret = 1;
...@@ -658,7 +658,7 @@ int do_warning(char *toggle, warning_list_t *wnum) ...@@ -658,7 +658,7 @@ int do_warning(char *toggle, warning_list_t *wnum)
if(!strcmp(toggle, "disable")) if(!strcmp(toggle, "disable"))
LIST_FOR_EACH_ENTRY(warning, wnum, warning_t, entry) LIST_FOR_EACH_ENTRY(warning, wnum, warning_t, entry)
warning_disable(warning->num); warning_disable(warning->num);
else if(!strcmp(toggle, "enable")) else if(!strcmp(toggle, "enable") || !strcmp(toggle, "default"))
LIST_FOR_EACH_ENTRY(warning, wnum, warning_t, entry) LIST_FOR_EACH_ENTRY(warning, wnum, warning_t, entry)
warning_enable(warning->num); warning_enable(warning->num);
else else
......
...@@ -425,7 +425,12 @@ pragma_warning: tPRAGMA_WARNING '(' aIDENTIFIER ':' warnings ')' ...@@ -425,7 +425,12 @@ pragma_warning: tPRAGMA_WARNING '(' aIDENTIFIER ':' warnings ')'
$$ = NULL; $$ = NULL;
result = do_warning($3, $5); result = do_warning($3, $5);
if(!result) if(!result)
error_loc("expected \"disable\" or \"enable\"\n"); error_loc("expected \"disable\", \"enable\" or \"default\"\n");
}
| tPRAGMA_WARNING '(' tDEFAULT ':' warnings ')'
{
$$ = NULL;
do_warning("default", $5);
} }
; ;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment