summaryrefslogtreecommitdiff
path: root/gcc/ada/init.c
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-09-02 11:47:42 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2011-09-02 11:47:42 +0200
commitc5f5123f4a887df97deebeadb993ec95cbac2c22 (patch)
treef672ad321d9814186c763be811b55b8bc82bf7dd /gcc/ada/init.c
parent2bfa54844650a8583d41e06717a7374d9d53fd6e (diff)
downloadgcc-c5f5123f4a887df97deebeadb993ec95cbac2c22.tar.gz
[multiple changes]
2011-09-02 Robert Dewar <dewar@adacore.com> * exp_ch4.adb, exp_ch6.adb, prj-nmsc.adb: Minor reformatting. 2011-09-02 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Extract_Renamed_Object): Renamed to Find_Renamed_Object. This routine has been reimplemented and now uses tree traversal to locate a renamed object. (Is_Aliased): Replace call to Extract_Renamed_Object with Find_Renamed_Object. 2011-09-02 Tristan Gingold <gingold@adacore.com> * init.c: (__gnat_is_vms_v7): New function. 2011-09-02 Olivier Hainque <hainque@adacore.com> * tracebak.c (STOP_FRAME, ppc elf/vxworks case): Stop on frames that have a misaligned backchain, necessarily bogus. From-SVN: r178457
Diffstat (limited to 'gcc/ada/init.c')
-rw-r--r--gcc/ada/init.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ada/init.c b/gcc/ada/init.c
index 0e6fb11745c..02771d57c7c 100644
--- a/gcc/ada/init.c
+++ b/gcc/ada/init.c
@@ -1747,6 +1747,29 @@ __gnat_set_features (void)
__gnat_features_set = 1;
}
+/* Return true if the VMS version is 7.x. */
+
+#define SYI$_VERSION 0x1000
+
+int
+__gnat_is_vms_v7 (void)
+{
+ struct descriptor_s desc;
+ char version[8];
+ int status;
+ int code = SYI$_VERSION;
+
+ desc.len = sizeof (version);
+ desc.mbz = 0;
+ desc.adr = version;
+
+ status = lib$getsyi (&code, 0, &desc);
+ if ((status & 1) == 1 && version[1] == '7' && version[2] == '.')
+ return 1;
+ else
+ return 0;
+}
+
/*******************/
/* FreeBSD Section */
/*******************/