<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Dear Satish,</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Many thanks for your prompt reply. <br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Yes, you are right! I've changed the return type of my function to "PetscErrorCode", it is working now. silly me.....</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks,</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Feng<br>
</div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> Satish Balay <balay@mcs.anl.gov><br>
<b>Sent:</b> 03 March 2021 18:25<br>
<b>To:</b> feng wang <snailsoar@hotmail.com><br>
<b>Cc:</b> PETSc <petsc-users@mcs.anl.gov><br>
<b>Subject:</b> Re: [petsc-users] compile error of CHKERRQ when linking to PETSC</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">CHKERRQ() returns error code from the routine. However if the routine is set to return void - use CHKERRABORT()<br>
<br>
CHKERRABORT(PETSC_COMM_WORLD,ierr)<br>
<br>
Satish<br>
<br>
On Wed, 3 Mar 2021, feng wang wrote:<br>
<br>
> Dear All,<br>
> <br>
> I am new to PETSC and have exercised on a few simple programs to get myself familiar with PETSC and the simple codes work properly. So the environment for PETSC is set up with no problem. Now I am trying to do some work in my big code which is written in
 C++.  Somehow, I get the compile error for  "CHKERRQ", and the error message is:<br>
> <br>
> ~/cfd/petsc/include/petscerror.h:464:196: error: return-statement with a value, in function returning 'void' [-fpermissive]<br>
>        do {PetscErrorCode ierr__ = (ierr); if (PetscUnlikely(ierr__)) return PetscError(PETSC_COMM_SELF,__LINE__,PETSC_FUNCTION_NAME,__FILE__,ierr__,PETSC_ERROR_REPEAT," ");} while (0)<br>
>                                                                                                                                                                            ^<br>
> domain/cfd/petsc_nk.cpp:23:7: note: in expansion of macro ¡CHKERRQ¢<br>
>        CHKERRQ(ierr);<br>
> <br>
> Basically, it complains about "CHKERRQ", if I remove "CHKERRQ", the code compiles with no problem. Could someone please shine some light on this?<br>
> <br>
> Many thanks,<br>
> Feng<br>
> </div>
</span></font></div>
</div>
</body>
</html>