diff options
author | Ed Schonberg <schonberg@adacore.com> | 2011-08-02 15:04:46 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-02 17:04:46 +0200 |
commit | d2b10647195d645708ad8cfc09fa0adf4a394224 (patch) | |
tree | f56b7bc0e4d5ca310780b045799c0f003bb066b2 /gcc/ada/sem_util.ads | |
parent | c7b9d548d3533d6b48dcdfb882e5ce424f3d53c4 (diff) | |
download | gcc-d2b10647195d645708ad8cfc09fa0adf4a394224.zip gcc-d2b10647195d645708ad8cfc09fa0adf4a394224.tar.gz gcc-d2b10647195d645708ad8cfc09fa0adf4a394224.tar.bz2 |
sem_ch6 (Analyze_Expression_Function): treat the function as Inline_Always...
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch6 (Analyze_Expression_Function): treat the function as
Inline_Always, and introduce a subprogram declaration for it when it is
not a completion.
* inline.adb (Add_Inlined_Body): recognize bodies that come from
expression functions, so that the back-end can determine whether they
can in fact be inlined.
* sem_util.adb (Is_Expression_Function): predicate to determine whether
a function body comes from an expression function.
From-SVN: r177173
Diffstat (limited to 'gcc/ada/sem_util.ads')
-rw-r--r-- | gcc/ada/sem_util.ads | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads index aeb3557..163e647 100644 --- a/gcc/ada/sem_util.ads +++ b/gcc/ada/sem_util.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2010, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- -- -- -- 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- -- @@ -741,6 +741,10 @@ package Sem_Util is -- First determine whether type T is an interface and then check whether -- it is of protected, synchronized or task kind. + function Is_Expression_Function (Subp : Entity_Id) return Boolean; + -- Predicate to determine whether a function entity comes from a rewritten + -- expression function, and should be inlined unconditionally. + function Is_False (U : Uint) return Boolean; pragma Inline (Is_False); -- The argument is a Uint value which is the Boolean'Pos value of a Boolean |