[petsc-dev] Problem with the reorganization of complex with clang

Satish Balay balay at mcs.anl.gov
Thu May 13 17:23:09 CDT 2021


This gets the build going...

diff --git a/src/sys/dll/cxx/demangle.cxx b/src/sys/dll/cxx/demangle.cxx
index 31810ea15f..793a97d285 100644
--- a/src/sys/dll/cxx/demangle.cxx
+++ b/src/sys/dll/cxx/demangle.cxx
@@ -1,3 +1,4 @@
+#define PETSC_SKIP_COMPLEX
 #include <petsc/private/petscimpl.h>
 
 #ifdef PETSC_HAVE_CXXABI_H

Satish

On Thu, 13 May 2021, Satish Balay wrote:

> >         CXX arch-ci-linux-clang-avx/obj/sys/dll/cxx/demangle.o
> 
> It is built with a c++ compiler - so __cplusplus should be defined. [PETSC_HAVE_CXXABI is not defined]
> 
> Do you need to build this sourcefile file in a clanguage=C build?
> 
> I'm not sure if a c++/complex build  is checked with this compiler.
> 
> [eventhough its clang build - I see the compiler is using system incldues aka from gcc-4.8.5 - so perhaps some things don't work?]
> 
> One option is to add the following to this sourcefile:
> 
> #define PETSC_SKIP_COMPLEX
> 
> Satish
> 
> 
> On Thu, 13 May 2021, Matthew Knepley wrote:
> 
> > In this CI run (linux-clang-avg):
> > 
> >   https://gitlab.com/petsc/petsc/-/jobs/1260342204
> > 
> > The compile fails building a C++ file, demangle.cxx. It fails at the first
> > line,
> > including <petsc/private/petscimpl.h>, down in petscsystypes.h. It bombs
> > during the definition of complex because it looks like the compiler is not
> > defining __cplusplus, and thus takes the wrong branch. Is this what is
> > happening?
> > I cannot access this machine.
> > 
> >   Thanks,
> > 
> >       Matt
> > 
> > 
> 
> 



More information about the petsc-dev mailing list