aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config.gcc15
-rw-r--r--gcc/config/rs6000/aix-stdint.h51
3 files changed, 67 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cdb96fb..38ac46d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-04-08 David Edelsohn <edelsohn@gnu.org>
+
+ * config.gcc (aix tm_file): Add aix-stdint.h.
+ (aix tm clause use_gcc_stdint): Set to wrap.
+ * config/rs6000/aix-stdint.h: New file.
+
2009-04-08 Richard Guenther <rguenther@suse.de>
PR middle-end/36291
diff --git a/gcc/config.gcc b/gcc/config.gcc
index ff94f8f..2247424 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1905,43 +1905,48 @@ powerpc-xilinx-eabi*)
use_gcc_stdint=wrap
;;
rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
- tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
+ tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
tmake_file=rs6000/t-aix43
extra_options="${extra_options} rs6000/aix64.opt"
use_collect2=yes
thread_file='aix'
+ use_gcc_stdint=provide
extra_headers=
;;
rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
- tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h"
+ tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h rs6000/aix-stdint.h"
extra_options="${extra_options} rs6000/aix64.opt"
tmake_file=rs6000/t-aix43
use_collect2=yes
thread_file='aix'
+ use_gcc_stdint=wrap
extra_headers=
;;
rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
- tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h rs6000/aix-stdint.h"
tmake_file=rs6000/t-aix52
extra_options="${extra_options} rs6000/aix64.opt"
use_collect2=yes
thread_file='aix'
+ use_gcc_stdint=wrap
extra_headers=
;;
rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
- tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h rs6000/aix-stdint.h"
tmake_file=rs6000/t-aix52
extra_options="${extra_options} rs6000/aix64.opt"
use_collect2=yes
thread_file='aix'
+ use_gcc_stdint=wrap
extra_headers=altivec.h
;;
rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
- tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h rs6000/aix-stdint.h"
tmake_file=rs6000/t-aix52
extra_options="${extra_options} rs6000/aix64.opt"
use_collect2=yes
thread_file='aix'
+ use_gcc_stdint=wrap
extra_headers=altivec.h
;;
s390-*-linux*)
diff --git a/gcc/config/rs6000/aix-stdint.h b/gcc/config/rs6000/aix-stdint.h
new file mode 100644
index 0000000..8b20c15
--- /dev/null
+++ b/gcc/config/rs6000/aix-stdint.h
@@ -0,0 +1,51 @@
+/* Definitions for <stdint.h> types on systems using AIX.
+ Copyright (C) 2009 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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/>. */
+
+#define SIG_ATOMIC_TYPE "int"
+
+#define INT8_TYPE "signed char"
+#define INT16_TYPE "short int"
+#define INT32_TYPE "int"
+#define INT64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
+#define UINT8_TYPE "unsigned char"
+#define UINT16_TYPE "short unsigned int"
+#define UINT32_TYPE "unsigned int"
+#define UINT64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
+
+#define INT_LEAST8_TYPE "signed char"
+#define INT_LEAST16_TYPE "short int"
+#define INT_LEAST32_TYPE "int"
+#define INT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
+#define UINT_LEAST8_TYPE "unsigned char"
+#define UINT_LEAST16_TYPE "short unsigned int"
+#define UINT_LEAST32_TYPE "unsigned int"
+#define UINT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
+
+#define INT_FAST8_TYPE "signed char"
+#define INT_FAST16_TYPE "short int"
+#define INT_FAST32_TYPE "int"
+#define INT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
+#define UINT_FAST8_TYPE "unsigned char"
+#define UINT_FAST16_TYPE "short unsigned int"
+#define UINT_FAST32_TYPE "unsigned int"
+#define UINT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
+
+#define INTPTR_TYPE "long int"
+#define UINTPTR_TYPE "long unsigned int"
+