aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/g-regist.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/g-regist.adb')
-rw-r--r--gcc/ada/g-regist.adb18
1 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ada/g-regist.adb b/gcc/ada/g-regist.adb
index ba63b3c..4d98963 100644
--- a/gcc/ada/g-regist.adb
+++ b/gcc/ada/g-regist.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2014, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -529,16 +529,24 @@ package body GNAT.Registry is
function To_C_Mode (Mode : Key_Mode) return REGSAM is
use type REGSAM;
- KEY_READ : constant := 16#20019#;
- KEY_WRITE : constant := 16#20006#;
+ KEY_READ : constant := 16#20019#;
+ KEY_WRITE : constant := 16#20006#;
+ KEY_WOW64_64KEY : constant := 16#00100#;
+ KEY_WOW64_32KEY : constant := 16#00200#;
begin
case Mode is
when Read_Only =>
- return KEY_READ;
+ return KEY_READ + KEY_WOW64_32KEY;
when Read_Write =>
- return KEY_READ + KEY_WRITE;
+ return KEY_READ + KEY_WRITE + KEY_WOW64_32KEY;
+
+ when Read_Only_64 =>
+ return KEY_READ + KEY_WOW64_64KEY;
+
+ when Read_Write_64 =>
+ return KEY_READ + KEY_WRITE + KEY_WOW64_64KEY;
end case;
end To_C_Mode;