+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-coinve.adb, a-contai.adb: Update comments.
+ * pprint.ads: Minor reformatting.
+
+2015-10-20 Tristan Gingold <gingold@adacore.com>
+
+ * env.c, init.c: Handle arm64-darwin like arm-darwin.
+ * tracebak.c: Handle arm64-darwin.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * s-trasym.adb (Symbolic_Traceback): When giving the traceback
+ as hexadecimal code addresses, separate by blanks instead of LF.
+
2015-10-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate freeze
end Finalize;
procedure Finalize (Object : in out Iterator) is
+ pragma Warnings (Off);
pragma Assert (T_Check); -- not called if check suppressed
+ pragma Warnings (On);
begin
Unbusy (Object.Container.TC);
end Finalize;
procedure Adjust (Control : in out Reference_Control_Type) is
pragma Warnings (Off);
+ -- GNAT warns here if checks are turned off, but assertions on
pragma Assert (T_Check); -- not called if check suppressed
pragma Warnings (On);
begin
#include <stdlib.h>
#endif
-#if defined (__APPLE__) && !defined (__arm__)
+#if defined (__APPLE__) && !(defined (__arm__) || defined (__arm64__))
/* On Darwin, _NSGetEnviron must be used for shared libraries; but it is not
available on iOS. */
#include <crt_externs.h>
#elif defined (__sun__)
extern char **_environ;
return _environ;
-#elif defined (__APPLE__) && !defined (__arm__)
+#elif defined (__APPLE__) && !(defined (__arm__) || defined (__arm64__))
return *_NSGetEnviron ();
#elif ! (defined (__vxworks))
extern char **environ;
Tell the kernel to re-use alt stack when delivering a signal. */
#define UC_RESET_ALT_STACK 0x80000000
-#ifndef __arm__
+#if !(defined (__arm__) || defined (__arm64__))
#include <mach/mach_vm.h>
#include <mach/mach_init.h>
#include <mach/vm_statistics.h>
static int
__gnat_is_stack_guard (mach_vm_address_t addr)
{
-#ifndef __arm__
+#if !(defined (__arm__) || defined (__arm64__))
kern_return_t kret;
vm_region_submap_info_data_64_t info;
mach_vm_address_t start;
-- --
-- S p e c --
-- --
--- Copyright (C) 2008-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 2008-2015, 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- --
with function String_Image (S : String_Id) return String;
with function Ident_Image (Expr : Node_Id;
Orig_Expr : Node_Id;
- Expand_Type : Boolean)
- return String;
+ Expand_Type : Boolean) return String;
-- Will be called for printing N_Identifier and N_Defining_Identifier
-- nodes
-- ??? Expand_Type argument should be removed
- function Expression_Image (Expr : Node_Id;
- Default : String)
- return String;
+ function Expression_Image
+ (Expr : Node_Id;
+ Default : String) return String;
-- Given a Node for an expression, return a String that is meaningful for
-- the programmer. If the expression comes from source, it is copied from
-- there.
------------------------------------------------------------------------------
-- This is the default implementation for platforms where the full capability
--- is not supported. It returns tracebacks as lists of LF separated strings of
--- the form "0x..." corresponding to the addresses.
+-- is not supported. It returns tracebacks as lists of hexadecimal addresses
+-- of the form "0x...".
pragma Polling (Off);
-- We must turn polling off for this unit, because otherwise we can get
Last := Last + 2;
Result (Last + 1 .. Last + Img'Length) := Img;
Last := Last + Img'Length + 1;
- Result (Last) := ASCII.LF;
+ Result (Last) := ' ';
end loop;
+ Result (Last) := ASCII.LF;
return Result (1 .. Last);
end;
end if;
#define PC_ADJUST -4
#elif defined (__arm__)
#define PC_ADJUST -2
+#elif defined (__arm64__)
+#define PC_ADJUST -4
#else
#error Unhandled darwin architecture.
#endif