]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cgraph.c
Add type to DEFCIFCODE to describe the inline failure
authorH.J. Lu <hongjiu.lu@intel.com>
Mon, 20 Jan 2014 21:08:26 +0000 (21:08 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Mon, 20 Jan 2014 21:08:26 +0000 (13:08 -0800)
commit1cf11770053ce827551849ab721edccb17b4fdde
tree50ccb405fa1d7c6f984e4ac16406a0427cd1910a
parent8586e4bd470382106dc8ba09d7d2d819dbb15488
Add type to DEFCIFCODE to describe the inline failure

Report inline error during early inlining if the inline failure is
CIF_FINAL_ERROR.

gcc/

PR middle-end/59789
* cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
(cgraph_inline_failed_type): New function.
* cgraph.h (DEFCIFCODE): Add type.
(cgraph_inline_failed_type_t): New enum.
(cgraph_inline_failed_type): New prototype.
* cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
OPTIMIZATION_MISMATCH.
* tree-inline.c (expand_call_inline): Emit errors during
early_inlining if cgraph_inline_failed_type returns
CIF_FINAL_ERROR.

gcc/testsuite/

PR middle-end/59789
* gcc.target/i386/pr59789.c: New testcase.

From-SVN: r206858
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraph.h
gcc/cif-code.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr59789.c [new file with mode: 0644]
gcc/tree-inline.c