]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/s-strcom.ads
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
[thirdparty/gcc.git] / gcc / ada / s-strcom.ads
CommitLineData
cacbc350
RK
1------------------------------------------------------------------------------
2-- --
3084fecd 3-- GNAT RUN-TIME LIBRARY COMPONENTS --
cacbc350 4-- --
fbf5a39b 5-- S Y S T E M . S T R I N G _ C O M P A R E --
cacbc350
RK
6-- --
7-- S p e c --
8-- --
748086b7 9-- Copyright (C) 2002-2009, Free Software Foundation, Inc. --
cacbc350
RK
10-- --
11-- GNAT is free software; you can redistribute it and/or modify it under --
12-- terms of the GNU General Public License as published by the Free Soft- --
748086b7 13-- ware Foundation; either version 3, or (at your option) any later ver- --
cacbc350
RK
14-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
748086b7
JJ
16-- or FITNESS FOR A PARTICULAR PURPOSE. --
17-- --
18-- As a special exception under Section 7 of GPL version 3, you are granted --
19-- additional permissions described in the GCC Runtime Library Exception, --
20-- version 3.1, as published by the Free Software Foundation. --
21-- --
22-- You should have received a copy of the GNU General Public License and --
23-- a copy of the GCC Runtime Library Exception along with this program; --
24-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
25-- <http://www.gnu.org/licenses/>. --
cacbc350
RK
26-- --
27-- GNAT was originally developed by the GNAT team at New York University. --
71ff80dc 28-- Extensive contributions were provided by Ada Core Technologies Inc. --
cacbc350
RK
29-- --
30------------------------------------------------------------------------------
31
fbf5a39b 32-- This package contains functions for runtime comparisons on strings
cacbc350 33
2d9ea47f
RD
34pragma Warnings (Off);
35pragma Compiler_Unit;
36pragma Warnings (On);
37
fbf5a39b 38package System.String_Compare is
cacbc350 39
fbf5a39b
AC
40 function Str_Compare
41 (Left : System.Address;
42 Right : System.Address;
43 Left_Len : Natural;
2d9ea47f 44 Right_Len : Natural) return Integer;
fbf5a39b
AC
45 -- Compare the string starting at address Left of length Left_Len
46 -- with the string starting at address Right of length Right_Len.
47 -- The comparison is in the normal Ada semantic sense of string
48 -- comparison. The result is -1,0,+1 for Left<Right, Left=Right,
49 -- Left>Right respectively. This function works with 4 byte words
50 -- if the operands are aligned on 4-byte boundaries and long enough.
cacbc350 51
fbf5a39b
AC
52 function Str_Compare_Bytes
53 (Left : System.Address;
54 Right : System.Address;
55 Left_Len : Natural;
2d9ea47f 56 Right_Len : Natural) return Integer;
fbf5a39b
AC
57 -- Same functionality as Str_Compare but always proceeds by bytes.
58 -- Used when the caller knows that the operands are unaligned, or
59 -- short enough that it makes no sense to go by words.
cacbc350 60
fbf5a39b 61end System.String_Compare;