diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2013-09-06 09:35:23 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2013-09-06 09:35:23 +0000 |
commit | 9a6af4504b8bc9b03020b1e96a3bad56d9929916 (patch) | |
tree | 8121b896402c877769568030f5397dcc4147e6bf | |
parent | 6660b45f391fa4e549dbf7aeb2fe7ce271dc84ae (diff) | |
download | gcc-9a6af4504b8bc9b03020b1e96a3bad56d9929916.zip gcc-9a6af4504b8bc9b03020b1e96a3bad56d9929916.tar.gz gcc-9a6af4504b8bc9b03020b1e96a3bad56d9929916.tar.bz2 |
ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the non-inlinable part.
* ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the
non-inlinable part.
From-SVN: r202315
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-split.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/warn10.adb | 12 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/warn10.ads | 11 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/warn10_pkg.ads | 12 |
6 files changed, 48 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 185c865..e5b74ed 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-09-06 Eric Botcazou <ebotcazou@adacore.com> + + * ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the + non-inlinable part. + 2013-09-06 Richard Biener <rguenther@suse.de> * lto-streamer.h (lto_global_var_decls): Remove. diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c index 5c3ee4f..5df14ec 100644 --- a/gcc/ipa-split.c +++ b/gcc/ipa-split.c @@ -1222,6 +1222,9 @@ split_function (struct split_point *split_point) DECL_BUILT_IN_CLASS (node->symbol.decl) = NOT_BUILT_IN; DECL_FUNCTION_CODE (node->symbol.decl) = (enum built_in_function) 0; } + /* If the original function is declared inline, there is no point in issuing + a warning for the non-inlinable part. */ + DECL_NO_INLINE_WARNING_P (node->symbol.decl) = 1; cgraph_node_remove_callees (cur_node); ipa_remove_all_references (&cur_node->symbol.ref_list); if (!split_part_return_p) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 96a5b6a..e3ad4be 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-09-06 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/warn10.ad[sb]: New test. + * gnat.dg/warn10_pkg.ads: New helper. + 2013-09-06 Joern Rennecke <joern.rennecke@embecosm.com> * gcc.dg/ipa/ipa-pta-14.c (scan-ipa-dump) [keeps_null_pointer_checks]: diff --git a/gcc/testsuite/gnat.dg/warn10.adb b/gcc/testsuite/gnat.dg/warn10.adb new file mode 100644 index 0000000..29b140d --- /dev/null +++ b/gcc/testsuite/gnat.dg/warn10.adb @@ -0,0 +1,12 @@ +-- { dg-do compile } +-- { dg-options "-O3 -gnatn -Winline" } + +package body Warn10 is + + procedure Do_Something(Driver : My_Driver) is + X : Float; + begin + X := Get_Input_Value( Driver, 1, 1); + end; + +end Warn10; diff --git a/gcc/testsuite/gnat.dg/warn10.ads b/gcc/testsuite/gnat.dg/warn10.ads new file mode 100644 index 0000000..01aa1e4 --- /dev/null +++ b/gcc/testsuite/gnat.dg/warn10.ads @@ -0,0 +1,11 @@ +with Warn10_Pkg; use Warn10_Pkg; + +package Warn10 is + + type My_Driver is new Root with record + Extra : Natural; + end record; + + procedure Do_Something(Driver : My_Driver); + +end Warn10; diff --git a/gcc/testsuite/gnat.dg/warn10_pkg.ads b/gcc/testsuite/gnat.dg/warn10_pkg.ads new file mode 100644 index 0000000..ac5b676 --- /dev/null +++ b/gcc/testsuite/gnat.dg/warn10_pkg.ads @@ -0,0 +1,12 @@ +package Warn10_Pkg is + + Size : constant Natural := 100; + type My_Array is array(1..Size, 1..Size) of Float; + + type Root is tagged record + Input_Values : My_Array; + end record; + + function Get_Input_Value( Driver : Root; I, J : Natural) return Float; + +end Warn10_Pkg; |