On 23/07/2012 07:58, Tobias Burnus wrote: > Mikael Morin wrote: >> Here is another attempt. >> I moved the diagnostic code from gfc_resolve_iterator to >> resolve_array_list, so that it doesn't trigger for do loops. >> Regression test in progress. OK? > > The patch looks OK: > > Though, I wonder why you only get a warning (which is fine); I thought > that -std=gnu (the default) – and, in particular, in combination with > -pedantic (test-suite default) – will give an error for > gfc_notify_standard, not a warning. > Well, no; it passed the test-suite. :-)
options.c's set_default_std_flags explicitely allows legacy stuff: static void set_default_std_flags (void) { gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL | GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F95 | GFC_STD_F77 | GFC_STD_F2008_OBS | GFC_STD_F2008_TS | GFC_STD_GNU | GFC_STD_LEGACY; gfc_option.warn_std = GFC_STD_F95_DEL | GFC_STD_LEGACY; } and the references to pedantic in options.c only increase warnings (see gfc_post_options): /* If -pedantic, warn about the use of GNU extensions. */ if (pedantic && (gfc_option.allow_std & GFC_STD_GNU) != 0) gfc_option.warn_std |= GFC_STD_GNU; /* -std=legacy -pedantic is effectively -std=gnu. */ if (pedantic && (gfc_option.allow_std & GFC_STD_LEGACY) != 0) gfc_option.warn_std |= GFC_STD_F95_OBS | GFC_STD_F95_DEL | GFC_STD_LEGACY; Thanks for the review. Mikael