diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 948230a72ed..a7a11174cb9 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,18 @@ +2015-10-20 Bob Duff + + * a-coinve.adb, a-contai.adb: Update comments. + * pprint.ads: Minor reformatting. + +2015-10-20 Tristan Gingold + + * env.c, init.c: Handle arm64-darwin like arm-darwin. + * tracebak.c: Handle arm64-darwin. + +2015-10-20 Bob Duff + + * s-trasym.adb (Symbolic_Traceback): When giving the traceback + as hexadecimal code addresses, separate by blanks instead of LF. + 2015-10-20 Ed Schonberg * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate freeze diff --git a/gcc/ada/a-coinve.adb b/gcc/ada/a-coinve.adb index 5cc61b467a9..0f8d04085e4 100644 --- a/gcc/ada/a-coinve.adb +++ b/gcc/ada/a-coinve.adb @@ -750,7 +750,9 @@ package body Ada.Containers.Indefinite_Vectors is 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; diff --git a/gcc/ada/a-contai.adb b/gcc/ada/a-contai.adb index 43b9473950e..dc7c4bee96f 100644 --- a/gcc/ada/a-contai.adb +++ b/gcc/ada/a-contai.adb @@ -37,6 +37,7 @@ package body Ada.Containers is 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 diff --git a/gcc/ada/env.c b/gcc/ada/env.c index 1bf9ef06076..84698766797 100644 --- a/gcc/ada/env.c +++ b/gcc/ada/env.c @@ -50,7 +50,7 @@ #include #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 @@ -211,7 +211,7 @@ __gnat_environ (void) #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; diff --git a/gcc/ada/init.c b/gcc/ada/init.c index e40487f04b1..c76ae646b67 100644 --- a/gcc/ada/init.c +++ b/gcc/ada/init.c @@ -2234,7 +2234,7 @@ char __gnat_alternate_stack[32 * 1024]; /* 1 * MINSIGSTKSZ */ 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 #include #include @@ -2244,7 +2244,7 @@ char __gnat_alternate_stack[32 * 1024]; /* 1 * MINSIGSTKSZ */ 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; diff --git a/gcc/ada/pprint.ads b/gcc/ada/pprint.ads index 8fc1036b1e4..71976ab9e87 100644 --- a/gcc/ada/pprint.ads +++ b/gcc/ada/pprint.ads @@ -6,7 +6,7 @@ -- -- -- 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- -- @@ -41,15 +41,14 @@ package Pprint is 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. diff --git a/gcc/ada/s-trasym.adb b/gcc/ada/s-trasym.adb index 1dd0d71529e..b98d1c334dd 100644 --- a/gcc/ada/s-trasym.adb +++ b/gcc/ada/s-trasym.adb @@ -30,8 +30,8 @@ ------------------------------------------------------------------------------ -- 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 @@ -67,9 +67,10 @@ package body System.Traceback.Symbolic is 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; diff --git a/gcc/ada/tracebak.c b/gcc/ada/tracebak.c index 1e53ab51b98..3ea9531ba3e 100644 --- a/gcc/ada/tracebak.c +++ b/gcc/ada/tracebak.c @@ -274,6 +274,8 @@ __gnat_backtrace (void **array, #define PC_ADJUST -4 #elif defined (__arm__) #define PC_ADJUST -2 +#elif defined (__arm64__) +#define PC_ADJUST -4 #else #error Unhandled darwin architecture. #endif