Commit ac566cbe by Arnaud Charlet

[multiple changes]

2016-04-27  Arnaud Charlet  <charleT@adacore.com>

	* sinput-l.ads, sem_ch13.adb: Minor editing.

2016-04-27  Doug Rupp  <rupp@adacore.com>

	* init.c (__gnat_adjust_context_for_raise) [arm-linux thumb]:
	Bump the pc so the lower order bit is set.

2016-04-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb, sem_case.ads (NO_Op): If appropriate warning is
	enabled, report an empty range in a case construct.

From-SVN: r235503
parent 6616e390
2016-04-27 Arnaud Charlet <charleT@adacore.com>
* sinput-l.ads, sem_ch13.adb: Minor editing.
2016-04-27 Doug Rupp <rupp@adacore.com>
* init.c (__gnat_adjust_context_for_raise) [arm-linux thumb]:
Bump the pc so the lower order bit is set.
2016-04-27 Ed Schonberg <schonberg@adacore.com>
* sem_case.adb, sem_case.ads (NO_Op): If appropriate warning is
enabled, report an empty range in a case construct.
2016-04-27 Arnaud Charlet <charlet@adacore.com> 2016-04-27 Arnaud Charlet <charlet@adacore.com>
* sinput.ads, a-cfdlli.adb, a-crbtgo.adb, a-chtgop.adb, a-cbhama.adb, * sinput.ads, a-cfdlli.adb, a-crbtgo.adb, a-chtgop.adb, a-cbhama.adb,
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* * * *
* C Implementation File * * C Implementation File *
* * * *
* Copyright (C) 1992-2015, Free Software Foundation, Inc. * * Copyright (C) 1992-2016, Free Software Foundation, Inc. *
* * * *
* 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- *
...@@ -503,6 +503,11 @@ __gnat_adjust_context_for_raise (int signo ATTRIBUTE_UNUSED, void *ucontext) ...@@ -503,6 +503,11 @@ __gnat_adjust_context_for_raise (int signo ATTRIBUTE_UNUSED, void *ucontext)
#elif defined (__ARMEL__) #elif defined (__ARMEL__)
/* ARM Bump has to be an even number because of odd/even architecture. */ /* ARM Bump has to be an even number because of odd/even architecture. */
mcontext->arm_pc+=2; mcontext->arm_pc+=2;
#ifdef __thumb2__
/* For thumb, the return address much have the low order bit set, otherwise
the unwwinder will reset to "arm" mode upon return. It's a feature. */
mcontext->arm_pc+=1;
#endif
#endif #endif
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1996-2015, Free Software Foundation, Inc. -- -- Copyright (C) 1996-2016, Free Software Foundation, Inc. --
-- -- -- --
-- 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- --
...@@ -1126,9 +1126,13 @@ package body Sem_Case is ...@@ -1126,9 +1126,13 @@ package body Sem_Case is
----------- -----------
procedure No_OP (C : Node_Id) is procedure No_OP (C : Node_Id) is
pragma Warnings (Off, C);
begin begin
null; if Nkind (C) = N_Range and then Warn_On_Redundant_Constructs then
Error_Msg_N ("choice is an empty range?", C);
else
null;
end if;
end No_OP; end No_OP;
----------------------------- -----------------------------
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1996-2013, Free Software Foundation, Inc. -- -- Copyright (C) 1996-2016, Free Software Foundation, Inc. --
-- -- -- --
-- 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- --
...@@ -86,9 +86,10 @@ with Types; use Types; ...@@ -86,9 +86,10 @@ with Types; use Types;
package Sem_Case is package Sem_Case is
procedure No_OP (C : Node_Id); procedure No_OP (C : Node_Id);
-- The no-operation routine. Does absolutely nothing. Can be used -- The no-operation routine. Does mostly nothing. Can be used
-- in the following generics for the parameters Process_Empty_Choice, -- in the following generics for the parameters Process_Empty_Choice,
-- or Process_Associated_Node. -- or Process_Associated_Node. In the case of an empty range choice,
-- routine emits a warning when Warn_On_Redundant_Constructs is enabled.
generic generic
with procedure Process_Associated_Node (A : Node_Id); with procedure Process_Associated_Node (A : Node_Id);
......
...@@ -6202,8 +6202,8 @@ package body Sem_Ch13 is ...@@ -6202,8 +6202,8 @@ package body Sem_Ch13 is
----------------------------------------------- -----------------------------------------------
procedure Analyze_Enumeration_Representation_Clause (N : Node_Id) is procedure Analyze_Enumeration_Representation_Clause (N : Node_Id) is
Ident : constant Node_Id := Identifier (N); Ident : constant Node_Id := Identifier (N);
Aggr : constant Node_Id := Array_Aggregate (N); Aggr : constant Node_Id := Array_Aggregate (N);
Enumtype : Entity_Id; Enumtype : Entity_Id;
Elit : Entity_Id; Elit : Entity_Id;
Expr : Node_Id; Expr : Node_Id;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-2014, Free Software Foundation, Inc. -- -- Copyright (C) 1992-2016, Free Software Foundation, Inc. --
-- -- -- --
-- 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- --
...@@ -119,7 +119,7 @@ private ...@@ -119,7 +119,7 @@ private
-- be applied, used to ensure that no incorrect adjustments are -- be applied, used to ensure that no incorrect adjustments are
-- made. Really it is a bug if anyone ever tries to adjust outside -- made. Really it is a bug if anyone ever tries to adjust outside
-- this range, but since we are only doing this anyway for getting -- this range, but since we are only doing this anyway for getting
-- better error messages, it is not critical -- better error messages, it is not critical.
end record; end record;
......
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