This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/50712] [4.7 regression] invalid argument to gimple call


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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-10-13 10:10:50 UTC ---
More likely caused by adding checking to pass_split_functions.  It splits

MSVCRT_vfprintf_s (struct MSVCRT_FILE * file, const char * format, char *
valist)
{
  int D.2058;

<bb 2>:
  if (file_2(D) == 0B)
    goto <bb 3>;
  else
    goto <bb 4>;

<bb 3>:
  MSVCRT__invalid_parameter (0B, 0B, 0B, 0, 0);
  goto <bb 5>;

<bb 4>:
  D.2058_4 = pf_printf_a (&valist);

<bb 5>:
  # D.2058_1 = PHI <-1(3), D.2058_4(4)>
  return D.2058_1;

to

MSVCRT_vfprintf_s (struct MSVCRT_FILE * file, const char * format, char *
valist)
{
  int D.2058;

<bb 2>:
  if (file_2(D) == 0B)
    goto <bb 3>;
  else
    goto <bb 4>;

<bb 3>:
  D.2058_5 = MSVCRT_vfprintf_s.part.0 (file_2(D), format_3(D), valist);
  goto <bb 5>;

<bb 4>:
  D.2058_4 = pf_printf_a (&valist);

<bb 5>:
  # D.2058_1 = PHI <D.2058_5(3), D.2058_4(4)>
  return D.2058_1;

but fails to realize that for passing the address-taken parameter valist
it has to gimplify it.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]