From 06a16f58d6c14487c0598fe6f1c5cd68ba68301e Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Tue, 7 Apr 2009 17:16:34 +0200 Subject: [multiple changes] 2009-04-07 Emmanuel Briot * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when looking for the end of a parenthesis group 2009-04-07 Tristan Gingold * gsocket.h Don't #include resolvLib.h if __RTP__ is defined. * socket.c Don't use resolvLib_ macros if not defined. From-SVN: r145680 --- gcc/ada/ChangeLog | 11 +++++++++++ gcc/ada/gsocket.h | 2 ++ gcc/ada/s-regexp.adb | 5 +++-- gcc/ada/socket.c | 17 +++++++++++++++++ 4 files changed, 33 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7404808..d65d598 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,14 @@ +2009-04-07 Emmanuel Briot + + * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when + looking for the end of a parenthesis group + +2009-04-07 Tristan Gingold + + * gsocket.h Don't #include resolvLib.h if __RTP__ is defined. + + * socket.c Don't use resolvLib_ macros if not defined. + 2009-04-07 Robert Dewar * g-socket.adb: Minor reformatting. diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h index 0dca1a9..5d866e0 100644 --- a/gcc/ada/gsocket.h +++ b/gcc/ada/gsocket.h @@ -66,7 +66,9 @@ #include #include #include +#ifndef __RTP__ #include +#endif #define SHUT_RD 0 #define SHUT_WR 1 #define SHUT_RDWR 2 diff --git a/gcc/ada/s-regexp.adb b/gcc/ada/s-regexp.adb index 268ec21..37c189a 100755 --- a/gcc/ada/s-regexp.adb +++ b/gcc/ada/s-regexp.adb @@ -32,7 +32,6 @@ ------------------------------------------------------------------------------ with Ada.Unchecked_Deallocation; --- with Ada.Exceptions; with System.Case_Util; @@ -205,6 +204,7 @@ package body System.Regexp is J : Integer := S'First; Parenthesis_Level : Integer := 0; Curly_Level : Integer := 0; + Last_Open : Integer := S'First - 1; -- Start of processing for Create_Mapping @@ -282,6 +282,7 @@ package body System.Regexp is when Open_Paren => if not Glob then Parenthesis_Level := Parenthesis_Level + 1; + Last_Open := J; else Add_In_Map (Open_Paren); end if; @@ -296,7 +297,7 @@ package body System.Regexp is & "expression", J); end if; - if S (J - 1) = Open_Paren then + if J = Last_Open + 1 then Raise_Exception ("Empty parenthesis not allowed in regular " & "expression", J); diff --git a/gcc/ada/socket.c b/gcc/ada/socket.c index 1716a96..86d054f 100644 --- a/gcc/ada/socket.c +++ b/gcc/ada/socket.c @@ -352,22 +352,39 @@ __gnat_get_h_errno (void) { case 0: return 0; +#ifdef S_resolvLib_HOST_NOT_FOUND case S_resolvLib_HOST_NOT_FOUND: +#endif case S_hostLib_UNKNOWN_HOST: + case S_hostLib_HOST_NOT_FOUND: return HOST_NOT_FOUND; +#ifdef S_resolvLib_TRY_AGAIN case S_resolvLib_TRY_AGAIN: +#endif + case S_hostLib_TRY_AGAIN: return TRY_AGAIN; +#ifdef S_resolvLib_NO_RECOVERY case S_resolvLib_NO_RECOVERY: +#endif +#ifdef S_resolvLib_BUFFER_2_SMALL case S_resolvLib_BUFFER_2_SMALL: +#endif +#ifdef S_resolvLib_INVALID_PARAMETER case S_resolvLib_INVALID_PARAMETER: +#endif +#ifdef S_resolvLib_INVALID_ADDRESS case S_resolvLib_INVALID_ADDRESS: +#endif case S_hostLib_INVALID_PARAMETER: + case S_hostLib_NO_RECOVERY: return NO_RECOVERY; +#ifdef S_resolvLib_NO_DATA case S_resolvLib_NO_DATA: return NO_DATA; +#endif default: return -1; -- cgit v1.1