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
This commit is contained in:
Arnaud Charlet 2015-02-20 11:40:20 +00:00 committed by Arnaud Charlet
parent 07aff4e355
commit 5865a63df4
3 changed files with 13 additions and 22 deletions

View File

@ -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.

View File

@ -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 \

View File

@ -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