Re: [Patch, Fortran] PR 49755 - Multiple allocations.

2011-07-27 Thread Daniel Carrera
On 07/27/2011 09:58 AM, Tobias Burnus wrote: Typo: desc(r)iptor_block. Fixed. You can combine changes different functions in a single file as in * trans-openmp.c (gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor, gfc_trans_omp_array_reduction): ... Fixed. * gfortran.dg/multiple_allo

[Patch, Fortran] PR 49755 - Multiple allocations.

2011-07-26 Thread Daniel Carrera
table :: A(:, :) integer :: stat allocate(A(20,20)) A = 42 ! Allocate of already allocated variable allocate (A(5,5), stat=stat) ! Expected: Error stat and previous allocation status if (stat == 0) call abort () if (any (shape (A) /= [20, 20])) call abort () if

Re: [Patch, Fotran] Fix PR 4755 - Do not free + reallocate a variable that is already allocated.

2011-07-23 Thread Daniel Carrera
Hi Tobias, Just a quick update so you know what I'm doing. On 07/22/2011 10:09 PM, Tobias Burnus wrote: However, the bug is not fully fixed. If you try the testcase in the bugreport, you will see that it still fails - the stat= is correctly set, but the array shape is wrong. Working on it...

Re: [Patch, Fotran] Fix PR 4755 - Do not free + reallocate a variable that is already allocated.

2011-07-22 Thread Daniel Carrera
Ooops... error in my ChangeLog: "fix" -> "free" 2011-07-22 Daniel Carrera * trans.c (gfc__allocate_allocatable): [PR 4755] Do not free and the reallocate a variable that is already allocated. On 07/22/2011 08:54 PM, Daniel Carrera wrote: Hello, This

[Patch, Fotran] Fix PR 4755 - Do not free + reallocate a variable that is already allocated.

2011-07-22 Thread Daniel Carrera
x27;ll see that with this patch GCC no longer tries to free and reallocate A(1). You will also notice that the block for B[*] didn't change. The block for B[*] is already correct in trunk and doesn't need changing. Here is my ChangeLog: 2011-07-22 Daniel Carrera * trans

Re: [Patches, Fortran] ALLOCATE & CAF library.

2011-07-21 Thread Daniel Carrera
On 07/21/2011 07:22 PM, Tobias Burnus wrote: On 07/21/2011 06:46 PM, Daniel Carrera wrote: Ok. Updated patch and updated ChangeLog attached. Compiles fine and I'm about to start running the test suite again. Doesn't compile here: gcc/fortran/trans.c: In function

Re: [Patches, Fortran] ALLOCATE & CAF library.

2011-07-21 Thread Daniel Carrera
Ok. Updated patch and updated ChangeLog attached. Compiles fine and I'm about to start running the test suite again. Cheers, Daniel. On 07/21/2011 06:37 PM, Tobias Burnus wrote: On 07/21/2011 06:01 PM, Daniel Carrera wrote: I was using Mercurial wrong. I've been experimenting

Re: [Patches, Fortran] ALLOCATE & CAF library.

2011-07-21 Thread Daniel Carrera
On 07/21/2011 05:36 PM, Tobias Burnus wrote: The patch is identical to the previous one. I wonder what goes wrong, ... I was using Mercurial wrong. I've been experimenting with using Mercurial to work with GCC and was doing the diff wrong. The attached file should be correct (fingers crossed

Re: [Patches, Fortran] ALLOCATE & CAF library.

2011-07-21 Thread Daniel Carrera
On 07/21/2011 04:19 PM, Tobias Burnus wrote: On 07/21/2011 01:09 PM, Daniel Carrera wrote: This patch now fixes an existing bug in GFortran whereby the ALLOCATE statement only gets error checking if you are allocating a scalar. Somehow that does not seem to work. I just tried a vanilla trunk

Re: [Patches, Fortran] ALLOCATE & CAF library.

2011-07-21 Thread Daniel Carrera
I forgot to include an updated ChangeLog (attached). -- I'm not overweight, I'm undertall. 2011-07-21 Daniel Carrera * trans.c (gfc_allocate_with_status): Split into two functions gfc_allocate_using_malloc ad gfc_allocate_usig_lib. (gfc_allocate_using_ma

[Patches, Fortran] ALLOCATE & CAF library.

2011-07-21 Thread Daniel Carrera
Hello all, After some delay due to other work, I'd like to submit an updated version of my patch. This patch allows the ALLOCATE statement to correctly support the stat= and errmsg= attributes. The patch (allocate.diff) was produced by Mercurial but it has a diff style that should be very si

Re: [Patch, Fortran] Support allocatable *scalar* coarrays

2011-07-16 Thread Daniel Carrera
On 07/16/2011 06:43 PM, Mikael Morin wrote: Well, the current implementation supports effectively only a single image - for -fcoarray=single on purpose and for -fcoarray=lib because it has not yet been implemented. Later, one has to add some function call for "scalar[]" while "scalar" itself is

Re: [Patch, Fortran] Add runtime_error function to libgfortran/caf/mpi.c

2011-07-15 Thread Daniel Carrera
ll run the test suite. So if I can get a "yay" from one of the developers I'll commit after the test suite is done. 2011-07-15 Daniel Carrera * caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf. * caf/single.c (caf_runtime_error): Ditto. Cheers, Dani

Re: [Patch, Fortran] Allocate + CAF library

2011-07-15 Thread Daniel Carrera
On 07/15/2011 02:16 PM, Tobias Burnus wrote: if (code->expr1 || code->expr2) { Side remark: One actually only needs to take care whether there is a STAT=. If there is only an ERRMSG=, the code is unreachable as without STAT= one gets a run-time error, when an error occurs - and if no error occu

Re: [Patch, Fortran] Allocate + CAF library

2011-07-15 Thread Daniel Carrera
On 07/15/2011 10:03 AM, Tobias Burnus wrote: + /* ERRMSG= */ + errmsg = null_pointer_node; + errlen = build_int_cst (gfc_charlen_type_node, 0); + if (code->expr2) + { [...] + errlen = gfc_get_expr_charlen (code->expr2); + errmsg = gfc_build_addr_expr (pchar_type_node, se.expr); + } While build_

Re: [Patch, Fortran] Add caf_runtime_error to libgfortran/caf/single.c

2011-07-14 Thread Daniel Carrera
On 07/14/2011 09:48 PM, Janne Blomqvist wrote: 2011-07-14 Daniel Carrera * caf/mpi.c (caf_runtime_error): Remove "error" parameter. Return EXIT_FAILURE instead. Well, this changelog entry is incorrect; you're calling exit(EXIT_FAILURE) and not returning a va

Re: [Patch, Fortran] Add caf_runtime_error to libgfortran/caf/single.c

2011-07-14 Thread Daniel Carrera
And of course, here is the patch and ChangeLog. 2011-07-14 Daniel Carrera * caf/single.c: Include stdarg.h header. (caf_runtime_error): New function. Use "exit(EXIT_FAILURE)". (_gfortran_caf_register): Use caf_runtime_error. (_gfortran_caf_sync_im

Re: [Patch, Fortran] Add caf_runtime_error to libgfortran/caf/single.c

2011-07-14 Thread Daniel Carrera
Hi Tobias, As per your suggestion, I'm copying to gfotran and gcc-patches. I've made the change your asked and I'm going to commit the patch. Cheers, Daniel. On 07/14/2011 05:31 PM, Tobias Burnus wrote: On 07/14/2011 05:05 PM, Daniel Carrera wrote: +caf_runtime_error (cons

Re: [Patch, Fortran] Mark "token" of static coarrays "restrict"

2011-07-14 Thread Daniel Carrera
For what it's worth, it compiles and works on my 32bit Linux too. But this is such a simple patch it *had* to work. On 07/14/2011 11:01 AM, Tobias Burnus wrote: As the title says: Mark "token" of static coarrays "restrict" Bootstrapped and regtested on x86-64-linux. OK for the trunk? Tobias

Re: [Patch, Fortran] Add caf_runtime_error to libgfortran/caf/single.c

2011-07-14 Thread Daniel Carrera
On 07/14/2011 12:04 PM, Tobias Burnus wrote: I was wondering - based on the discussion - whether one should remove the "int error" argument from caf_runtime_error and simply use "exit (EXIT_FAILURE)" for all exit() calls in mpi.c/single.c, cf. http://gcc.gnu.org/ml/fortran/2011-07/msg00140.html B

Re: [Patch, Fortran] Allocate + CAF library

2011-07-14 Thread Daniel Carrera
*ping* ? On 07/11/2011 08:16 PM, Daniel Carrera wrote: Hello, This is my largest patch so far and the first that I'll commit myself. This patch improves support for the ALLOCATE statement when using the coarray library. Specifically, it adds support for the stat= and errmsg= attri

[Patch, Fortran] Add caf_runtime_error to libgfortran/caf/single.c

2011-07-14 Thread Daniel Carrera
This patch adds a caf_runtime_error function to the non-MPI implementation of Coarray Fortran. It is based on the MPI function of the same name in mpi.c. Ok to commit? ChangeLog: 2011-07-14 Daniel Carrera * caf/single.c: Include stdarg.h header. (caf_runtime_error): New

[Patch, Fortran] Allocate + CAF library

2011-07-11 Thread Daniel Carrera
_with_status (stmtblock_t*, - tree, tree, tree, gfc_expr*); +tree gfc_allocate_allocatable (stmtblock_t*, tree, tree, + tree, tree, tree, gfc_expr*); /* Allocate memory, with optional status variable. */ -tree gfc_allocate_with_status (stmtblock_t *, tree, tree, bool); +tree gfc

[Patch] Add my name to the "Write After Approval" list.

2011-07-11 Thread Daniel Carrera
ERS (revision 176151) +++ MAINTAINERS (revision 176152) @@ -324,6 +324,7 @@ Christian Bruel christian.br...@st.com Kevin Buettner kev...@redhat.com Andrew Cagney cag...@redhat.com +Daniel Carrera dcarr...@gmail.com Stephane Carrez stcar...@nerim.fr Gabriel Charettegch...@google

[Patch, Fortra] Add STAT_STOPPED_IMAGE to SYC ALL/SYNC IMAGES

2011-07-07 Thread Daniel Carrera
Hello, I'd like to submit the attached patch. This patch was just discussed in the gfortran list. It fixes a couple of TODO items in the MPI library. It is a simple patch. libgfortran/ChangeLog 2011-07-07 Daniel Carrera * mpi.c (_gfortran_caf_sync_all): Add STAT_STOPPED_IMA

Re: [Patch, Fortra, Coarray] Free allocated memory for static coarrays.

2011-06-16 Thread Daniel Carrera
Hi Tobias, New patch attached. In addition to the fixes you listed I also had to fix the call to MPI_Allgather. More below: Between "size," and "caf_register_t" is a instead of a simple " ". Fixed. As you mentioned yourself (in a private mail, commenting on my code): There is a "*" mis

[Patch, Fortra, Coarray] Free allocated memory for static coarrays.

2011-06-16 Thread Daniel Carrera
the stored memory in the other images. This will be needed when the images start sending data to each other. There is no test case attached because there is no way to automatically test for allocated memory. Here is my ChangeLog to go into libgfortran/ChangeLog: 2011-06-16 Daniel Carrera

Re: [PATCH, Fortran] (Coarray) Change declaration of CAF sync functions.

2011-06-10 Thread Daniel Carrera
On 06/10/2011 12:23 PM, Tobias Burnus wrote: + /* SYNC ALL => stat == null_pointer_node + SYNC ALL(stat=s) => stat has an integer type + + If "stat" has the wrong integer type, use a temp variable of + the right type and later cast the result back into "stat". */ Intending: The last two lines w

[PATCH, Fortran] (Coarray) Change declaration of CAF sync functions.

2011-06-10 Thread Daniel Carrera
for gcc/testsuite/gfortran.dg/coarray. Lastly, here is my ChangeLog: === ./gcc/fortran/ChangeLog =========== 2011-06-07 Daniel Carrera * trans-decl.c (gfc_build_builtin_function_decls): Updated declaration of caf_sync_all and caf_sync_images.