]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix AIX build break in gcc/diagnostics/sarif-sink.cc.
authorSangamesh Mallayya <swamy.sangamesh@gmail.com>
Thu, 29 Jan 2026 13:04:40 +0000 (07:04 -0600)
committerSangamesh Mallayya <swamy.sangamesh@gmail.com>
Thu, 29 Jan 2026 13:08:03 +0000 (07:08 -0600)
In AIX, build fails while trying to compile gcc/diagnostics/sarif-sink.cc.
Here is the snapshot of the error we are getting.

In file included from /opt/freeware/src/packages/BUILD/gcc/gcc/system.h:46,
                 from /opt/freeware/src/packages/BUILD/gcc/gcc/diagnostics/sarif-sink.cc:34:
/opt/freeware/lib/gcc/powerpc-ibm-aix7.3.0.0/13/include-fixed/stdio.h:593:12: error: conflicting declaration of C function 'int fgetpos64(FILE*, fpos64_t*)'
  593 | extern int fgetpos64(FILE *, fpos64_t *);
      |            ^~~~~~~~~

This happens when we include sys/types.h before defining _LARGE_FILES.
We can see similar errors with this sample program.

#include <sys/types.h>
#define _LARGE_FILES 1
#include <stdio.h>
int main()
{
   return 0;
}

In gcc/diagnostics/sarif-sink.cc we are including config.h after #include <sys/un.h> which intern
 including sys/types.h and causing the conflicting errors.
Including config.h before including sys/un.h should solve this error.

The patch is to fix the build break on AIX.

gcc/ChangeLog:
* diagnostics/sarif-sink.cc: Move config.h at the begining.

gcc/diagnostics/sarif-sink.cc

index 78743df7f1dbe19d648a14c440fb07c2621749f1..94db35ca864de2b098f2cd0b582a6d38b4de0f4c 100644 (file)
@@ -18,6 +18,8 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
+#include "config.h"
+
 #ifdef __MINGW32__
 #include <winsock2.h>
 #include <afunix.h>
@@ -26,7 +28,6 @@ along with GCC; see the file COPYING3.  If not see
 #include <sys/socket.h>
 #endif
 
-#include "config.h"
 #define INCLUDE_LIST
 #define INCLUDE_MAP
 #define INCLUDE_STRING