From 5865a63df4a19147d7a5ae804e97aa79371dfd7b Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Fri, 20 Feb 2015 11:40:20 +0000 Subject: 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 --- gcc/ada/gcc-interface/decl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gcc/ada/gcc-interface/decl.c') 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 -- cgit v1.1