[multiple changes]
2016-04-27 Vincent Celier <celier@adacore.com> * gnatcmd.adb: For "gnat ls -V -P", recognize switch --unchecked-shared-lib-imports and set the flag Opt.Unchecked_Shared_Lib_Imports accordingly. 2016-04-27 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): A generic subprogram is never a primitive operation, and thus a classwide condition for it is not legal. 2016-04-27 Hristian Kirtchev <kirtchev@adacore.com> * sem_aggr.adb, sem_dim.adb, sem_dim.ads, einfo.adb: Minor reformatting. From-SVN: r235494
This commit is contained in:
parent
888be6b18a
commit
a6ac73115a
|
@ -1,3 +1,20 @@
|
||||||
|
2016-04-27 Vincent Celier <celier@adacore.com>
|
||||||
|
|
||||||
|
* gnatcmd.adb: For "gnat ls -V -P", recognize switch
|
||||||
|
--unchecked-shared-lib-imports and set the flag
|
||||||
|
Opt.Unchecked_Shared_Lib_Imports accordingly.
|
||||||
|
|
||||||
|
2016-04-27 Ed Schonberg <schonberg@adacore.com>
|
||||||
|
|
||||||
|
* sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part):
|
||||||
|
A generic subprogram is never a primitive operation, and thus
|
||||||
|
a classwide condition for it is not legal.
|
||||||
|
|
||||||
|
2016-04-27 Hristian Kirtchev <kirtchev@adacore.com>
|
||||||
|
|
||||||
|
* sem_aggr.adb, sem_dim.adb, sem_dim.ads, einfo.adb: Minor
|
||||||
|
reformatting.
|
||||||
|
|
||||||
2016-04-27 Hristian Kirtchev <kirtchev@adacore.com>
|
2016-04-27 Hristian Kirtchev <kirtchev@adacore.com>
|
||||||
|
|
||||||
* sem_res.adb (Flag_Effectively_Volatile_Objects): New routine.
|
* sem_res.adb (Flag_Effectively_Volatile_Objects): New routine.
|
||||||
|
|
|
@ -3935,17 +3935,13 @@ package body Einfo is
|
||||||
|
|
||||||
procedure Set_Corresponding_Function (Id : E; V : E) is
|
procedure Set_Corresponding_Function (Id : E; V : E) is
|
||||||
begin
|
begin
|
||||||
pragma Assert
|
pragma Assert (Ekind (Id) = E_Procedure and then Rewritten_For_C (V));
|
||||||
(Ekind (Id) = E_Procedure
|
|
||||||
and then Rewritten_For_C (V));
|
|
||||||
Set_Node32 (Id, V);
|
Set_Node32 (Id, V);
|
||||||
end Set_Corresponding_Function;
|
end Set_Corresponding_Function;
|
||||||
|
|
||||||
procedure Set_Corresponding_Procedure (Id : E; V : E) is
|
procedure Set_Corresponding_Procedure (Id : E; V : E) is
|
||||||
begin
|
begin
|
||||||
pragma Assert
|
pragma Assert (Ekind (Id) = E_Function and then Rewritten_For_C (Id));
|
||||||
(Ekind (Id) = E_Function
|
|
||||||
and then Rewritten_For_C (Id));
|
|
||||||
Set_Node32 (Id, V);
|
Set_Node32 (Id, V);
|
||||||
end Set_Corresponding_Procedure;
|
end Set_Corresponding_Procedure;
|
||||||
|
|
||||||
|
|
|
@ -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- --
|
||||||
|
@ -983,6 +983,14 @@ begin
|
||||||
|
|
||||||
Remove_Switch (Arg_Num);
|
Remove_Switch (Arg_Num);
|
||||||
|
|
||||||
|
-- --unchecked-shared-lib-imports
|
||||||
|
|
||||||
|
elsif Argv.all = "--unchecked-shared-lib-imports" then
|
||||||
|
Opt.Unchecked_Shared_Lib_Imports := True;
|
||||||
|
Remove_Switch (Arg_Num);
|
||||||
|
|
||||||
|
-- gnat list -U
|
||||||
|
|
||||||
elsif
|
elsif
|
||||||
The_Command = List
|
The_Command = List
|
||||||
and then Argv'Length = 2
|
and then Argv'Length = 2
|
||||||
|
|
|
@ -2052,8 +2052,8 @@ package body Sem_Aggr is
|
||||||
Set_Parent (Expr, Parent (Expression (Assoc)));
|
Set_Parent (Expr, Parent (Expression (Assoc)));
|
||||||
Analyze (Expr);
|
Analyze (Expr);
|
||||||
|
|
||||||
-- Compute its dimensions now, rather than at the end
|
-- Compute its dimensions now, rather than at the end of
|
||||||
-- of resolution, because in the case of multidimensional
|
-- resolution, because in the case of multidimensional
|
||||||
-- aggregates subsequent expansion may lead to spurious
|
-- aggregates subsequent expansion may lead to spurious
|
||||||
-- errors.
|
-- errors.
|
||||||
|
|
||||||
|
|
|
@ -2277,8 +2277,8 @@ package body Sem_Dim is
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
|
||||||
procedure Check_Expression_Dimensions
|
procedure Check_Expression_Dimensions
|
||||||
(Expr : Node_Id;
|
(Expr : Node_Id;
|
||||||
Typ : Entity_Id)
|
Typ : Entity_Id)
|
||||||
is
|
is
|
||||||
begin
|
begin
|
||||||
if Is_Floating_Point_Type (Etype (Expr)) then
|
if Is_Floating_Point_Type (Etype (Expr)) then
|
||||||
|
|
|
@ -165,14 +165,14 @@ package Sem_Dim is
|
||||||
-- literal default value in the list of formals Formals.
|
-- literal default value in the list of formals Formals.
|
||||||
|
|
||||||
procedure Check_Expression_Dimensions
|
procedure Check_Expression_Dimensions
|
||||||
(Expr : Node_Id;
|
(Expr : Node_Id;
|
||||||
Typ : Entity_Id);
|
Typ : Entity_Id);
|
||||||
-- Compute dimensions of a floating-point expression and compare them
|
-- Compute dimensions of a floating-point expression and compare them with
|
||||||
-- with the dimensions of a the given type. Used to verify dimensions
|
-- the dimensions of a the given type. Used to verify dimensions of the
|
||||||
-- of the components of a multidimensional array type, for which components
|
-- components of a multidimensional array type, for which components are
|
||||||
-- are typically themselves arrays. The resolution of such arrays delays
|
-- typically themselves arrays. The resolution of such arrays delays the
|
||||||
-- the resolution of the ultimate components to a separate phase, which
|
-- resolution of the ultimate components to a separate phase, which forces
|
||||||
-- forces this separate dimension verification.
|
-- this separate dimension verification.
|
||||||
|
|
||||||
procedure Copy_Dimensions (From, To : Node_Id);
|
procedure Copy_Dimensions (From, To : Node_Id);
|
||||||
-- Copy dimension vector of node From to node To. Note that To must be a
|
-- Copy dimension vector of node From to node To. Note that To must be a
|
||||||
|
|
|
@ -23319,11 +23319,12 @@ package body Sem_Prag is
|
||||||
if Class_Present (N) then
|
if Class_Present (N) then
|
||||||
|
|
||||||
-- Verify that a class-wide condition is legal, i.e. the operation is
|
-- Verify that a class-wide condition is legal, i.e. the operation is
|
||||||
-- a primitive of a tagged type.
|
-- a primitive of a tagged type. Note that a generic subprogram is
|
||||||
|
-- not a primitive operation.
|
||||||
|
|
||||||
Disp_Typ := Find_Dispatching_Type (Spec_Id);
|
Disp_Typ := Find_Dispatching_Type (Spec_Id);
|
||||||
|
|
||||||
if No (Disp_Typ) then
|
if No (Disp_Typ) or else Is_Generic_Subprogram (Spec_Id) then
|
||||||
Error_Msg_Name_1 := Original_Aspect_Pragma_Name (N);
|
Error_Msg_Name_1 := Original_Aspect_Pragma_Name (N);
|
||||||
|
|
||||||
if From_Aspect_Specification (N) then
|
if From_Aspect_Specification (N) then
|
||||||
|
|
Loading…
Reference in New Issue