summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config.gcc2
-rw-r--r--gcc/config/vms/vms-stdint.h50
3 files changed, 57 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c31fad8eff7..8fc3e914a1e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2012-03-16 Tristan Gingold <gingold@adacore.com>
+ * config.gcc (*-*-*vms*): Define use_gcc_stdint and tm_file.
+ * config/vms/vms-stdint.h: New file.
+
+2012-03-16 Tristan Gingold <gingold@adacore.com>
+
* config.host (alpha64-dec-*vms*, alpha*-dec-*vms*)
(ia64-hp-*vms*): Replaced by ...
(*-*-*vms*): ... This new entry.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index a1f080aaf23..543944edcf4 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -740,6 +740,8 @@ case ${target} in
xm_file="vms/xm-vms.h"
c_target_objs="vms-c.o"
cxx_target_objs="vms-c.o"
+ use_gcc_stdint=provide
+ tm_file="${tm_file} vms/vms-stdint.h"
if test x$gnu_ld != xyes; then
# Build wrappers for native case.
extra_programs="ld\$(exeext) ar\$(exeext)"
diff --git a/gcc/config/vms/vms-stdint.h b/gcc/config/vms/vms-stdint.h
new file mode 100644
index 00000000000..8979f20fcde
--- /dev/null
+++ b/gcc/config/vms/vms-stdint.h
@@ -0,0 +1,50 @@
+/* Definitions for <stdint.h> types on VMS systems.
+ Copyright (C) 2012 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 long int"
+#define UINT8_TYPE "unsigned char"
+#define UINT16_TYPE "short unsigned int"
+#define UINT32_TYPE "unsigned int"
+#define UINT64_TYPE "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 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 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 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 long unsigned int"
+
+#define INTPTR_TYPE "long long int"
+#define UINTPTR_TYPE "long long unsigned int"