Re: [petsc-dev] What needs to be done before a release?
On Jun 1, 2012, at 12:47 PM, Barry Smith wrote:
On Jun 1, 2012, at 12:37 PM, Blaise Bourdin wrote:
What compiler is this? I don't have access to any solaris box, and have pretty bad memories of sun's fortran compilers. My understanding of the C interoperability is that these are perfectly legal look at the example at http://fortranwiki.org/fortran/show/c_loc
I pushed a change to bagenum.F Could you have a look and see if you get the same error in PetscBagRegisterEnum?
Also, this binding needs an explicit interface (technically, the old one too, but Barry's trick for getting farray length was a workaround the lack of explicit interface).
Huh, what? We don't want to require an explicit interface! Where is this change? What is the url of the change you made? Did you put it in petsc-dev or petsc-3.3? Why do you need to change it to require an explicit interface.
Be like Jed and when you say you made some change include the url business so people can jump immediately to the change you are talking about instead of wasting 1/2 and hour trying to find something they cannot find.
Apologies, will do next time. That would also have helped me realize that I had pushed to my own clone, not petsc-3.3 or petsc-dev repository... I am attaching the patch I was planing on submitting. Out of curiosity, what is the rationale for not wanting an explicit interface? As far as I understand, the fortran standard mandates an explicit interface in this situation (array of strings). I would understand in the situation of pure f77 compatibility for instance, but we threw this away with the iso_c_binding module anyway... Perhaps introducing f2003 in petsc was a bad idea, considering the large variety of compilers you need to support. If you feel that it introduces more issues than solving problems, feel free to strip the PetscOptionsEnum and PetscBagRegisterEnum bindings. They could easily be packaged separately for the few people who will ever need them. Blaise
Barry
I can't figure out where to put it. so for the moment, it is in ex5f90
Blaise
thanks, Satish
On Thu, 31 May 2012, Satish Balay wrote:
Barry is looking at using this flag and reorganizing the f2003 code. [perhaps the interface functions that need this functionality won't be compiled selectively - based on this flag]
Satish
On Thu, 31 May 2012, Jed Brown wrote:
So how do we deal with this function not being implemented unless an F2003 compiler is used? Just #ifdef its body and produce a run-time error when an old compiler is used? Satish, are you doing this?
On Thu, May 31, 2012 at 11:36 AM, Satish Balay <[email protected]> wrote:
Added configure check.
http://petsc.cs.iit.edu/petsc/releases/BuildSystem-3.3/rev/a6a959d40d3d
Satish
On Thu, 31 May 2012, Jed Brown wrote:
And we have our first petsc-maint breakage due to this Fortran 2003 thingy.
On Thu, May 31, 2012 at 9:03 AM, Satish Balay <[email protected]> wrote:
This code is using "use,intrinsic :: iso_c_binding"
Isn't this a fortran 2003 thingy? Perhaps there should be a configure checks for it.
Satish
On Wed, 30 May 2012, Barry Smith wrote:
Blaise,
I have pushed PetscOptionsGetEnum() and PetscBagRegisterEnum()
for f90 to petsc-dev tests are in src/sys/examples/tutorials
Barry
-- Department of Mathematics and Center for Computation & Technology Louisiana State University, Baton Rouge, LA 70803, USA Tel. +1 (225) 578 1612, Fax +1 (225) 578 4276 http://www.math.lsu.edu/~bourdin
-- Department of Mathematics and Center for Computation & Technology Louisiana State University, Baton Rouge, LA 70803, USA Tel. +1 (225) 578 1612, Fax +1 (225) 578 4276 http://www.math.lsu.edu/~bourdin
participants (1)
-
Blaise Bourdin