trans.c (trans_code): Set backend locus early.
authorJakub Jelinek <jakub@redhat.com>
Fri, 14 May 2010 07:40:06 +0000 (09:40 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 14 May 2010 07:40:06 +0000 (09:40 +0200)
* trans.c (trans_code): Set backend locus early.
* trans-decl.c (gfc_get_fake_result_decl): Use source location
of the function instead of current input_location.

* gfortran.dg/gomp/pr44036-1.f90: Adjust.

From-SVN: r159388

gcc/fortran/ChangeLog
gcc/fortran/trans-decl.c
gcc/fortran/trans.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90

index ef1031a084e320cbd01d1249b509b23d55f59cea..c766d40a568a337d5d8c18ecd739223902e19155 100644 (file)
@@ -1,3 +1,9 @@
+2010-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans.c (trans_code): Set backend locus early.
+       * trans-decl.c (gfc_get_fake_result_decl): Use source location
+       of the function instead of current input_location.
+
 2010-05-13  Daniel Franke  <franke.daniel@gmail.com>
 
         PR fortran/35779
index 64d87caa073309c849afbe9a0090c3da7cc9310d..4f0256ae87be9be748876c4caa8da9111def2be0 100644 (file)
@@ -2283,11 +2283,11 @@ gfc_get_fake_result_decl (gfc_symbol * sym, int parent_flag)
               IDENTIFIER_POINTER (DECL_NAME (this_function_decl)));
 
       if (!sym->attr.mixed_entry_master && sym->attr.function)
-       decl = build_decl (input_location,
+       decl = build_decl (DECL_SOURCE_LOCATION (this_function_decl),
                           VAR_DECL, get_identifier (name),
                           gfc_sym_type (sym));
       else
-       decl = build_decl (input_location,
+       decl = build_decl (DECL_SOURCE_LOCATION (this_function_decl),
                           VAR_DECL, get_identifier (name),
                           TREE_TYPE (TREE_TYPE (this_function_decl)));
       DECL_ARTIFICIAL (decl) = 1;
index 21c56045a44f9d5f37a232a1b59fc311de50a445..8acccf85027d48bdc731789058f8d33ec879b148 100644 (file)
@@ -1067,6 +1067,8 @@ trans_code (gfc_code * code, tree cond)
          gfc_add_expr_to_block (&block, res);
        }
 
+      gfc_set_backend_locus (&code->loc);
+
       switch (code->op)
        {
        case EXEC_NOP:
index 6320390802fabe9f6c598263899f36cfdd3251e2..6a9bec19603003db00c999af3ad761fd7f60d60e 100644 (file)
@@ -1,3 +1,7 @@
+2010-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * gfortran.dg/gomp/pr44036-1.f90: Adjust.
+
 2010-05-14  Shujing Zhao  <pearly.zhao@oracle.com>
 
        PR c++/30566
index e8565783a9e81525f08ff8d8419fd4de9b1f66cc..a4633a3e9c0249997da87403c6ebe0b07b3b2f2b 100644 (file)
@@ -12,7 +12,7 @@ subroutine foo(a, b)
   x = a(4)
 !$omp end parallel
 !$omp parallel default(none) private (x)       ! { dg-error "enclosing parallel" }
-  x = b(5)                                     ! { dg-error "not specified in" "" { target *-*-* } 11 }
+  x = b(5)                                     ! { dg-error "not specified in" }
 !$omp end parallel
 !$omp parallel default(none) private (x)
   x = c(6)