------- Comment #1 from rguenth at gcc dot gnu dot org  2010-01-26 22:32 -------
We can't inline it.  The sorry() is from

#0  sorry (
    gmsgid=0x8be6a24 "function %q+F can never be copied because it uses
variable sized variables") at /home/richard/src/trunk/gcc/diagnostic.c:639
#1  0x087dde5e in tree_inlinable_function_p (fn=0xb77a6e00)
    at /home/richard/src/trunk/gcc/tree-inline.c:3041
#2  0x087a2dc6 in compute_inline_parameters (node=0xb773b2e0)
    at /home/richard/src/trunk/gcc/ipa-inline.c:1865
#3  0x087a2ec0 in compute_inline_parameters_for_current ()
    at /home/richard/src/trunk/gcc/ipa-inline.c:1882
#4  0x0842644f in execute_one_pass (pass=0x8d22d80)
    at /home/richard/src/trunk/gcc/passes.c:1561

just drop the always_inline attribute.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c                           |middle-end
           Keywords|                            |rejects-valid
            Summary|Error on correct code:      |[4.5 Regression] Error on
                   |sorry, unimplemented:       |correct code: sorry,
                   |function ‘foo’ can never be |unimplemented: function
                   |copied because it uses      |‘foo’ can never be copied
                   |                            |because it uses
   Target Milestone|---                         |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42874

Reply via email to