diff options
author | Arnaud Charlet <charlet@adacore.com> | 2015-02-20 11:40:20 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-02-20 12:40:20 +0100 |
commit | 5865a63df4a19147d7a5ae804e97aa79371dfd7b (patch) | |
tree | 93d89925917fc8332fa1b4da06756d2da5572dd4 | |
parent | 07aff4e355ed0d2c6a360a4d587855f4cec530de (diff) | |
download | gcc-5865a63df4a19147d7a5ae804e97aa79371dfd7b.zip gcc-5865a63df4a19147d7a5ae804e97aa79371dfd7b.tar.gz gcc-5865a63df4a19147d7a5ae804e97aa79371dfd7b.tar.bz2 |
Makefile.in: Remove references to nucleus.
* gcc-interface/Makefile.in: Remove references to nucleus.
* gcc-interface/decl.c (gnat_to_gnu_entity, case E_Procedure): Set
extern_flag to true for Inline_Always subprograms with
Intrinsic convention.
From-SVN: r220851
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/Makefile.in | 21 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/decl.c | 7 |
3 files changed, 13 insertions, 22 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index c06fb21..c255ca6 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2015-02-20 Arnaud Charlet <charlet@adacore.com> + + * gcc-interface/Makefile.in: Remove references to nucleus. + * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Procedure): Set + extern_flag to true for Inline_Always subprograms with + Intrinsic convention. + 2015-02-20 Yannick Moy <moy@adacore.com> * sem_prag.ads: Minor typo in comment. diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index df2d84c..60c1b5b 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -2355,27 +2355,6 @@ ifeq ($(strip $(filter-out darwin%,$(target_os))),) GCC_LINK_FLAGS=-static-libstdc++ endif -# ARM Nucleus -ifeq ($(strip $(filter-out arm nucleus%,$(target_cpu) $(target_os))),) - LIBGNAT_TARGET_PAIRS = \ - system.ads<system-nucleus-arm.ads \ - a-numaux.ads<a-numaux-vxworks.ads \ - a-intnam.ads<a-intnam-nucleus.ads \ - s-inmaop.adb<s-inmaop-posix.adb \ - s-intman.adb<s-intman-posix.adb \ - s-osinte.ads<s-osinte-nucleus.ads \ - s-osinte.adb<s-osinte-nucleus.adb \ - s-osprim.adb<s-osprim-nucleus.adb \ - s-parame.adb<s-parame-vxworks.adb \ - s-taprop.adb<s-taprop-posix.adb \ - s-taspri.ads<s-taspri-posix.ads \ - s-tpopsp.adb<s-tpopsp-posix.adb \ - $(DUMMY_SOCKETS_TARGET_PAIRS) - - LIBRARY_VERSION := $(LIB_VERSION) - GNATRTL_SOCKETS_OBJS = -endif - ifeq ($(EH_MECHANISM),-gcc) LIBGNAT_TARGET_PAIRS += \ a-exexpr.adb<a-exexpr-gcc.adb \ diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index c0ca2f3..06031b1 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -4165,8 +4165,13 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) ? is_required : (Is_Inlined (gnat_entity) ? is_enabled : is_disabled); bool public_flag = Is_Public (gnat_entity) || imported_p; + /* Subprograms marked both Intrinsic and Always_Inline need not + have a body of their own. */ bool extern_flag - = (Is_Public (gnat_entity) && !definition) || imported_p; + = ((Is_Public (gnat_entity) && !definition) + || imported_p + || (Convention (gnat_entity) == Convention_Intrinsic + && Has_Pragma_Inline_Always (gnat_entity))); bool artificial_flag = !Comes_From_Source (gnat_entity); /* The semantics of "pure" in Ada essentially matches that of "const" in the back-end. In particular, both properties are orthogonal to |