[gcc/devel/c++-coroutines] Make warn_inline Optimization option.

Iain D Sandoe iains@gcc.gnu.org
Fri Jan 17 11:04:00 GMT 2020


https://gcc.gnu.org/g:a924bffba921d568fbd65210857e1b5031776bb8

commit a924bffba921d568fbd65210857e1b5031776bb8
Author: Martin Liska <mliska@suse.cz>
Date:   Tue Jan 7 10:15:38 2020 +0100

    Make warn_inline Optimization option.
    
    2020-01-07  Martin Liska  <mliska@suse.cz>
    
    	PR tree-optimization/92860
    	* common.opt: Make in Optimization option
    	as it is affected by -O0, which is an Optimization
    	option.
    	* tree-inline.c (tree_inlinable_function_p):
    	Use opt_for_fn for warn_inline.
    	(expand_call_inline): Likewise.
    2020-01-07  Martin Liska  <mliska@suse.cz>
    
    	PR tree-optimization/92860
    	* gcc.dg/pr92860-2.c: New test.
    
    From-SVN: r279947

Diff:
---
 gcc/ChangeLog                    | 10 ++++++++++
 gcc/common.opt                   |  2 +-
 gcc/testsuite/ChangeLog          |  5 +++++
 gcc/testsuite/gcc.dg/pr92860-2.c | 13 +++++++++++++
 gcc/tree-inline.c                |  4 ++--
 5 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 288c0e2..d4c3731 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,6 +1,16 @@
 2020-01-07  Martin Liska  <mliska@suse.cz>
 
 	PR tree-optimization/92860
+	* common.opt: Make in Optimization option
+	as it is affected by -O0, which is an Optimization
+	option.
+	* tree-inline.c (tree_inlinable_function_p):
+	Use opt_for_fn for warn_inline.
+	(expand_call_inline): Likewise.
+
+2020-01-07  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/92860
 	* common.opt: Make flag_ree as optimization
 	attribute. 
 
diff --git a/gcc/common.opt b/gcc/common.opt
index 02c7cdd..9fc9211 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -617,7 +617,7 @@ Common Var(warn_implicit_fallthrough) RejectNegative Joined UInteger Warning Int
 Warn when a switch case falls through.
 
 Winline
-Common Var(warn_inline) Warning
+Common Var(warn_inline) Warning Optimization
 Warn when an inlined function cannot be inlined.
 
 Winvalid-memory-model
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index dabc9d2..4e02fb4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,6 +1,11 @@
 2020-01-07  Martin Liska  <mliska@suse.cz>
 
 	PR tree-optimization/92860
+	* gcc.dg/pr92860-2.c: New test.
+
+2020-01-07  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/92860
 	* gcc.dg/pr92860.c: New test. 
 
 2020-01-07  Jakub Jelinek  <jakub@redhat.com>
diff --git a/gcc/testsuite/gcc.dg/pr92860-2.c b/gcc/testsuite/gcc.dg/pr92860-2.c
new file mode 100644
index 0000000..57af606
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr92860-2.c
@@ -0,0 +1,13 @@
+/* PR tree-optimization/92860 */
+/* { dg-do compile } */
+/* { dg-options "-Winline -O2 -fgnu89-inline" } */
+
+#pragma GCC push_options
+#pragma GCC optimize("-O0")
+#pragma GCC pop_options
+
+inline int q(void);		 /* { dg-warning "body not available" } */
+inline int t(void)
+{
+	return q();		 /* { dg-message "called from here" } */
+}
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 21a4525..58c6739 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -4009,7 +4009,7 @@ tree_inlinable_function_p (tree fn)
     return false;
 
   /* We only warn for functions declared `inline' by the user.  */
-  do_warning = (warn_inline
+  do_warning = (opt_for_fn (fn, warn_inline)
 		&& DECL_DECLARED_INLINE_P (fn)
 		&& !DECL_NO_INLINE_WARNING_P (fn)
 		&& !DECL_IN_SYSTEM_HEADER (fn));
@@ -4714,7 +4714,7 @@ expand_call_inline (basic_block bb, gimple *stmt, copy_body_data *id,
 	    inform (DECL_SOURCE_LOCATION (cfun->decl),
                    "called from this function");
 	}
-      else if (warn_inline
+      else if (opt_for_fn (fn, warn_inline)
 	       && DECL_DECLARED_INLINE_P (fn)
 	       && !DECL_NO_INLINE_WARNING_P (fn)
 	       && !DECL_IN_SYSTEM_HEADER (fn)



More information about the Gcc-cvs mailing list