diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0380-2011-06-02-Steven-G.-Kargl-kargl-gcc.gnu.org.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0380-2011-06-02-Steven-G.-Kargl-kargl-gcc.gnu.org.patch | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0380-2011-06-02-Steven-G.-Kargl-kargl-gcc.gnu.org.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0380-2011-06-02-Steven-G.-Kargl-kargl-gcc.gnu.org.patch deleted file mode 100644 index 9dcda3d94..000000000 --- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0380-2011-06-02-Steven-G.-Kargl-kargl-gcc.gnu.org.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 56d647438bd3a69b44b10fb4e2adaceb5d9fac49 Mon Sep 17 00:00:00 2001 -From: kargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Thu, 2 Jun 2011 19:53:02 +0000 -Subject: [PATCH] 2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/49265 - * decl.c (gfc_match_modproc): Allow for a double colon in a module - procedure statement. - * parse.c ( decode_statement): Deal with whitespace around :: in - gfc_match_modproc. - -2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/49265 - * gfortran.dg/module_procedure_double_colon_1.f90: New test. - * gfortran.dg/module_procedure_double_colon_2.f90: New test. - - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174576 138bc75d-0d04-0410-961f-82ee72b054a4 - -index 80249b5..90693a4 100644 ---- a/gcc/fortran/decl.c -+++ b/gcc/fortran/decl.c -@@ -7005,6 +7005,7 @@ gfc_match_modproc (void) - char name[GFC_MAX_SYMBOL_LEN + 1]; - gfc_symbol *sym; - match m; -+ locus old_locus; - gfc_namespace *module_ns; - gfc_interface *old_interface_head, *interface; - -@@ -7033,10 +7034,23 @@ gfc_match_modproc (void) - end up with a syntax error and need to recover. */ - old_interface_head = gfc_current_interface_head (); - -+ /* Check if the F2008 optional double colon appears. */ -+ gfc_gobble_whitespace (); -+ old_locus = gfc_current_locus; -+ if (gfc_match ("::") == MATCH_YES) -+ { -+ if (gfc_notify_std (GFC_STD_F2008, "Fortran 2008: double colon in " -+ "MODULE PROCEDURE statement at %L", &old_locus) -+ == FAILURE) -+ return MATCH_ERROR; -+ } -+ else -+ gfc_current_locus = old_locus; -+ - for (;;) - { -- locus old_locus = gfc_current_locus; - bool last = false; -+ old_locus = gfc_current_locus; - - m = gfc_match_name (name); - if (m == MATCH_NO) -@@ -7048,6 +7062,7 @@ gfc_match_modproc (void) - current namespace. */ - if (gfc_match_eos () == MATCH_YES) - last = true; -+ - if (!last && gfc_match_char (',') != MATCH_YES) - goto syntax; - -diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c -index 7b24cc4..1acd251 100644 ---- a/gcc/fortran/parse.c -+++ b/gcc/fortran/parse.c -@@ -399,7 +399,7 @@ decode_statement (void) - break; - - case 'm': -- match ("module% procedure% ", gfc_match_modproc, ST_MODULE_PROC); -+ match ("module% procedure", gfc_match_modproc, ST_MODULE_PROC); - match ("module", gfc_match_module, ST_MODULE); - break; - -new file mode 100644 -index 0000000..200f0ff ---- /dev/null -+++ b/gcc/testsuite/gfortran.dg/module_procedure_double_colon_1.f90 -@@ -0,0 +1,23 @@ -+! { dg-do compile } -+! -+! PR fortran/49265 -+! Contributed by Erik Toussaint -+! -+module m1 -+ implicit none -+ interface foo -+ module procedure::bar -+ module procedure ::bar_none -+ module procedure:: none_bar -+ end interface -+contains -+ subroutine bar -+ end subroutine -+ subroutine bar_none(i) -+ integer i -+ end subroutine -+ subroutine none_bar(x) -+ real x -+ end subroutine -+end module -+! { dg-final { cleanup-modules "m1" } } -diff --git a/gcc/testsuite/gfortran.dg/module_procedure_double_colon_2.f90 b/gcc/testsuite/gfortran.dg/module_procedure_double_colon_2.f90 -new file mode 100644 -index 0000000..9300215 ---- /dev/null -+++ b/gcc/testsuite/gfortran.dg/module_procedure_double_colon_2.f90 -@@ -0,0 +1,24 @@ -+! { dg-do compile } -+! { dg-options "-std=f95" } -+! -+! PR fortran/49265 -+! Contributed by Erik Toussaint -+! -+module m1 -+ implicit none -+ interface foo -+ module procedure::bar ! { dg-error "double colon" } -+ module procedure ::bar_none ! { dg-error "double colon" } -+ module procedure:: none_bar ! { dg-error "double colon" } -+ end interface -+contains -+ subroutine bar -+ end subroutine -+ subroutine bar_none(i) -+ integer i -+ end subroutine -+ subroutine none_bar(x) -+ real x -+ end subroutine -+end module -+! { dg-final { cleanup-modules "m1" } } --- -1.7.0.4 - |