Commit 2995ebee by Arnaud Charlet

[multiple changes]

2009-06-11  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Resolve_Attribute, case 'access): Add missing
	accessibiliy check on access_to_subprogram in the context of an
	anonymous access that is not an access parameter.

2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>

	* tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
	
2009-06-11  Quentin Ochem  <ochem@adacore.com>

	* sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
	comments for message handled by GPS.

2009-06-11  Matthew Gingell  <gingell@adacore.com>

	* adaint.c: Use fopen64 instead of fopen on platforms where we know
	it's supported.

2009-06-11  Pascal Obry  <obry@adacore.com>

	* g-cgi.ads: Fix comment typo.

	* g-cgi.adb: Properly decode "+" in CGI parameters as spaces.

From-SVN: r148392
parent 6be6462e
2009-06-11 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Resolve_Attribute, case 'access): Add missing
accessibiliy check on access_to_subprogram in the context of an
anonymous access that is not an access parameter.
2009-06-11 Eric Botcazou <ebotcazou@adacore.com>
* tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
2009-06-11 Quentin Ochem <ochem@adacore.com>
* sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
comments for message handled by GPS.
2009-06-11 Matthew Gingell <gingell@adacore.com>
* adaint.c: Use fopen64 instead of fopen on platforms where we know
it's supported.
2009-06-11 Pascal Obry <obry@adacore.com>
* g-cgi.ads: Fix comment typo.
* g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
2009-06-10 Eric Botcazou <ebotcazou@adacore.com> 2009-06-10 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
......
...@@ -775,8 +775,16 @@ __gnat_fopen (char *path, char *mode, int encoding ATTRIBUTE_UNUSED) ...@@ -775,8 +775,16 @@ __gnat_fopen (char *path, char *mode, int encoding ATTRIBUTE_UNUSED)
#elif defined (VMS) #elif defined (VMS)
return decc$fopen (path, mode); return decc$fopen (path, mode);
#else #else
#if defined (__GLIBC__) || defined (sun)
/* GLIBC and Solaris provides fopen64, which allows IO on files
larger than 2GB on systems that support it. */
return fopen64 (path, mode);
#else
return fopen (path, mode); return fopen (path, mode);
#endif #endif
#endif
} }
FILE * FILE *
......
...@@ -2205,9 +2205,9 @@ package body Freeze is ...@@ -2205,9 +2205,9 @@ package body Freeze is
declare declare
Sz : constant Node_Id := Size_Clause (Rec); Sz : constant Node_Id := Size_Clause (Rec);
begin begin
Error_Msg_NE Error_Msg_NE -- CODEFIX
("size given for& too small", Sz, Rec); ("size given for& too small", Sz, Rec);
Error_Msg_N Error_Msg_N -- CODEFIX
("\use explicit pragma Pack " ("\use explicit pragma Pack "
& "or use pragma Implicit_Packing", Sz); & "or use pragma Implicit_Packing", Sz);
end; end;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 2001-2006, AdaCore -- -- Copyright (C) 2001-2009, AdaCore --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -123,6 +123,11 @@ package body GNAT.CGI is ...@@ -123,6 +123,11 @@ package body GNAT.CGI is
(Natural'Value ("16#" & S (K + 1 .. K + 2) & '#')); (Natural'Value ("16#" & S (K + 1 .. K + 2) & '#'));
K := K + 3; K := K + 3;
elsif S (K) = '+' then
-- + sign is decoded as a space
Result (J) := ' ';
K := K + 1;
else else
Result (J) := S (K); Result (J) := S (K);
K := K + 1; K := K + 1;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 2000-2006, AdaCore -- -- Copyright (C) 2000-2009, AdaCore --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
-- -- the HTML form) and that one of them is called "client_name". -- -- the HTML form) and that one of them is called "client_name".
-- if CGI.Argument_Count = 2 -- if CGI.Argument_Count = 2
-- and the CGI.Key_Exists ("client_name") -- and then CGI.Key_Exists ("client_name")
-- then -- then
-- Add_Client_To_Database (CGI.Value ("client_name")); -- Add_Client_To_Database (CGI.Value ("client_name"));
-- end if; -- end if;
......
...@@ -875,7 +875,8 @@ package body Scng is ...@@ -875,7 +875,8 @@ package body Scng is
end if; end if;
end if; end if;
Error_Msg_S ("missing string quote"); Error_Msg_S -- CODEFIX
("missing string quote");
end Error_Unterminated_String; end Error_Unterminated_String;
---------------- ----------------
......
...@@ -7834,16 +7834,16 @@ package body Sem_Attr is ...@@ -7834,16 +7834,16 @@ package body Sem_Attr is
-- Check the static accessibility rule of 3.10.2(32). -- Check the static accessibility rule of 3.10.2(32).
-- This rule also applies within the private part of an -- This rule also applies within the private part of an
-- instantiation. This rule does not apply to anonymous -- instantiation. This rule does not apply to anonymous
-- access-to-subprogram types (Ada 2005). -- access-to-subprogram types in access parameters.
elsif Attr_Id = Attribute_Access elsif Attr_Id = Attribute_Access
and then not In_Instance_Body and then not In_Instance_Body
and then
(Ekind (Btyp) = E_Access_Subprogram_Type
or else Is_Local_Anonymous_Access (Btyp))
and then Subprogram_Access_Level (Entity (P)) > and then Subprogram_Access_Level (Entity (P)) >
Type_Access_Level (Btyp) Type_Access_Level (Btyp)
and then Ekind (Btyp) /=
E_Anonymous_Access_Subprogram_Type
and then Ekind (Btyp) /=
E_Anonymous_Access_Protected_Subprogram_Type
then then
Error_Msg_F Error_Msg_F
("subprogram must not be deeper than access type", P); ("subprogram must not be deeper than access type", P);
......
...@@ -3523,11 +3523,11 @@ package body Sem_Warn is ...@@ -3523,11 +3523,11 @@ package body Sem_Warn is
if Nkind (Original_Node (X)) = N_Integer_Literal then if Nkind (Original_Node (X)) = N_Integer_Literal then
if Intval (X) = Low_Bound then if Intval (X) = Low_Bound then
Error_Msg_FE Error_Msg_FE -- CODEFIX
("\suggested replacement: `&''First`", X, Ent); ("\suggested replacement: `&''First`", X, Ent);
else else
Error_Msg_Uint_1 := Intval (X) - Low_Bound; Error_Msg_Uint_1 := Intval (X) - Low_Bound;
Error_Msg_FE Error_Msg_FE -- CODEFIX
("\suggested replacement: `&''First + ^`", X, Ent); ("\suggested replacement: `&''First + ^`", X, Ent);
end if; end if;
...@@ -3633,7 +3633,7 @@ package body Sem_Warn is ...@@ -3633,7 +3633,7 @@ package body Sem_Warn is
-- Replacement subscript is now in string buffer -- Replacement subscript is now in string buffer
Error_Msg_FE Error_Msg_FE -- CODEFIX
("\suggested replacement: `&~`", Original_Node (X), Ent); ("\suggested replacement: `&~`", Original_Node (X), Ent);
end if; end if;
......
...@@ -637,7 +637,8 @@ package body SFN_Scan is ...@@ -637,7 +637,8 @@ package body SFN_Scan is
loop loop
if At_EOF or else S (P) = LF or else S (P) = CR then if At_EOF or else S (P) = LF or else S (P) = CR then
Error ("missing string quote"); Error -- CODEFIX
("missing string quote");
elsif S (P) = HT then elsif S (P) = HT then
Error ("tab character in string"); Error ("tab character in string");
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* * * *
* C Implementation File * * C Implementation File *
* * * *
* Copyright (C) 2000-2008, AdaCore * * Copyright (C) 2000-2009, AdaCore *
* * * *
* GNAT is free software; you can redistribute it and/or modify it under * * 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- * * terms of the GNU General Public License as published by the Free Soft- *
...@@ -294,9 +294,11 @@ struct layout ...@@ -294,9 +294,11 @@ struct layout
#elif defined (i386) #elif defined (i386)
#ifdef __WIN32 #if defined (__WIN32)
#include <windows.h> #include <windows.h>
#define IS_BAD_PTR(ptr) (IsBadCodePtr((void *)ptr)) #define IS_BAD_PTR(ptr) (IsBadCodePtr((void *)ptr))
#elif defined (sun)
#define IS_BAD_PTR(ptr) ((unsigned long)ptr == -1)
#else #else
#define IS_BAD_PTR(ptr) 0 #define IS_BAD_PTR(ptr) 0
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment