diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-10-27 12:53:08 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-10-27 12:53:08 +0100 |
commit | 7f54dc834806d508cef6a77a24d9308fd54cf196 (patch) | |
tree | ac137321c5bd0bf31fbe615f3701e547de1b7c3a /gcc/ada/namet.adb | |
parent | 7317ef4ae5bd8ad06f37a8101d21c05b30a04a66 (diff) | |
download | gcc-7f54dc834806d508cef6a77a24d9308fd54cf196.zip gcc-7f54dc834806d508cef6a77a24d9308fd54cf196.tar.gz gcc-7f54dc834806d508cef6a77a24d9308fd54cf196.tar.bz2 |
[multiple changes]
2015-10-27 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Allocator): Do not perform legality check
on allocators for limited objects in a qualified expression,
because expression has not been resolved.
* sem_res.adb (Resolve_Allocator): Perform check on legality of
limited objects after resolution. Add sem_ch3.adb to context.
2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Refined_Global_In_Decl_Part): Add variable
States.
(Check_Refined_Global_Item): An object or state acts as a
constituent only when the corresponding encapsulating state
appears in pragma Global.
(Collect_Global_Item): Add a state with non-null visible refinement to
list States.
2015-10-27 Gary Dismukes <dismukes@adacore.com>
* sem_util.ads, par.adb, sem_ch6.adb: Minor reformatting and a few
typo corrections.
2015-10-27 Pierre-Marie de Rodat <derodat@adacore.com>
* namet.ads, namet.adb (Name_Equals): New function.
* namet.h (Name_Equals): New macro.
2015-10-27 Arnaud Charlet <charlet@adacore.com>
* exp_ch6.adb (Build_Procedure_Form): Use 'RESULT' for the extra
parameter, to avoid ambiguity when generating tmps using _xxx which
might end up reusing _result.
From-SVN: r229424
Diffstat (limited to 'gcc/ada/namet.adb')
-rw-r--r-- | gcc/ada/namet.adb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/ada/namet.adb b/gcc/ada/namet.adb index 6def9f2..cfaec6e 100644 --- a/gcc/ada/namet.adb +++ b/gcc/ada/namet.adb @@ -1639,6 +1639,36 @@ package body Namet is end if; end Write_Name_Decoded; + ----------------- + -- Name_Equals -- + ----------------- + + function Name_Equals (N1, N2 : Name_Id) return Boolean is + begin + if N1 = N2 then + return True; + end if; + + declare + L1 : constant Int := Int (Name_Entries.Table (N1).Name_Len); + L2 : constant Int := Int (Name_Entries.Table (N2).Name_Len); + begin + if L1 /= L2 then + return False; + end if; + + declare + use Name_Chars; + + I1 : constant Int := Name_Entries.Table (N1).Name_Chars_Index; + I2 : constant Int := Name_Entries.Table (N2).Name_Chars_Index; + begin + return (Name_Chars.Table (1 + I1 .. I1 + L1) + = Name_Chars.Table (1 + I2 .. I2 + L2)); + end; + end; + end Name_Equals; + -- Package initialization, initialize tables begin |