Re: build failure with GCC 9.1.0

Even Rouault <[email protected]>
Newsgroups gmane.comp.gis.proj-4.devel
Message-ID <23442682.HIVWkISaI8@even-i700>
> I am afraid it is not enough. Please find attached 4 additional patches :
> 
>      - proj-6.2.0-hanato.gpatch and proj-6.2.0-mbtfpp.gpatch
> 
> In files src/projections/hatano.cpp and src/projections/mbtfpp.cpp,
> change the CS define to CSz in order to avoid overriding the CS system
> definition

ok for those ones.

> 
>      - proj-6.2.0-isea.gpatch :
> 
> In file src/projections/isea.cpp, change the quad variable name as it is
> overriding another system definition
> 
> $ grep quad  /usr/include/sys/types.h
> typedef struct _quad { int val[2]; } quad_t;    /* used by UFS */
> typedef quad_t          quad;                   /* used by UFS */
> 

I'm quite surprised about that one. The compiler should be smart enough to see 
that in "int quad;" quad is a variable name, not a struct. Which error message 
do you get exactly ?

Can you try to compile the following test.cpp file ?

```
typedef struct _quad { int val[2]; } quad_t;    /* used by UFS */
typedef quad_t          quad;                   /* used by UFS */

struct foo
{
    int quad;
};

int main()
{
    int quad = 0;
    return quad;
}
```

$ g++ -std=c++11 test.cpp -c

Works fine on Linux. If adding, -Wshadow, it will complain though about the 
int quad = 0 shadowing the global declaration of typedef quad_t quad;


>      - proj-6.2.0-io.gpatch

It is essentially the same as my pull request, or am I missing somethig ?

> Note : I quite understood what I changed in the first 3 patches. Not
> sure in the last one. Can you please review it ?

Which one do you mean by the last one, the one for io.cpp ?

Even


-- 
Spatialys - Geospatial professional services
http://www.spatialys.com
_______________________________________________
PROJ mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/proj
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.