public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jack Howarth <howarth@bromo.med.uc.edu>
To: Andrew Pinski <pinskia@gmail.com>
Cc: Diego Novillo <dnovillo@google.com>,
	Hans-Peter Nilsson <hp@bitrange.com>,
	       gcc-patches@gcc.gnu.org
Subject: Re: VEC re-write [patch 01/25]
Date: Mon, 19 Nov 2012 20:16:00 -0000	[thread overview]
Message-ID: <20121119201515.GA15266@bromo.med.uc.edu> (raw)
In-Reply-To: <20121119195707.GA15344@bromo.med.uc.edu>

On Mon, Nov 19, 2012 at 02:57:08PM -0500, Jack Howarth wrote:
> On Sun, Nov 18, 2012 at 11:15:22AM -0800, Andrew Pinski wrote:
> > On Sun, Nov 18, 2012 at 9:12 AM, Diego Novillo <dnovillo@google.com> wrote:
> > > On Sun, Nov 18, 2012 at 12:05 PM, Hans-Peter Nilsson <hp@bitrange.com> wrote:
> > >> On Sat, 17 Nov 2012, Diego Novillo wrote:
> > >>> I have now committed all 25 parts of this patch as rev 193595.  Please
> > >>> CC me on any problems that you think may be related to this rewrite.
> > >>
> > >> That seems to have trigged some bug in gcc-4.4-era.  See
> > >> PR55381.  There are a lot of suspicious warnings from vec.h.
> > >> It smells a bit like a host gcc bug, but I'll have to find a
> > >> newer version where it builds to confirm.  (If so, "hopefully"
> > >> it's as "simple" as upping the minimum host gcc version or
> > >> blacklisting gcc-4.4.x.)
> > >
> > > Yeah, I got those warnings in my sparc and hppa builds, but they are
> > > harmless.  Strictly speaking offsetof cannot be applied to non-PODs.
> > > The only thing that makes that class non-POD is the protected
> > > attribute, but that does not alter the physical layout.  So the
> > > compiler is emitting a harmless warning (newer versions have
> > > tightened the check to warn when you are using offsetof on a non-base
> > > class).
> > 
> > But then we are no longer writing in C++.   Is there a reason why this
> > warning does not break the build?  We should not be using offsetof
> > with non-PODs.
> > 
> > Thanks,
> > Andrew Pinski
> 
> The changes to tree-data-ref.c have broken the bootstrap on x86_64-apple-darwin11/12
> using the Apple clang 4.1 compiler...
> 
> clang++ -c   -g -DIN_GCC   -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../gcc-4.8-20121119/gcc -I../../gcc-4.8-20121119/gcc/. -I../../gcc-4.8-20121119/gcc/../include -I../../gcc-4.8-20121119/gcc/../libcpp/include -I/sw/include -I/sw/include  -I../../gcc-4.8-20121119/gcc/../libdecnumber -I../../gcc-4.8-20121119/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-4.8-20121119/gcc/../libbacktrace -DCLOOG_INT_GMP -I/sw/include -I/sw/include -I/sw/include ../../gcc-4.8-20121119/gcc/tree-data-ref.c -o tree-data-ref.o
> clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:1599:31: error: second argument to 'va_arg' is of non-POD type 'affine_fn' (aka 'vec<tree>') [-Wnon-pod-varargs]
>     ret->fns[i] = va_arg (ap, affine_fn);
>                   ~~~~~~~~~~~~^~~~~~~~~~
> /usr/bin/../lib/clang/4.1/include/stdarg.h:35:50: note: expanded from macro 'va_arg'
> #define va_arg(ap, type)    __builtin_va_arg(ap, type)
>                                                  ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:1665:34: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>           *overlaps_a = conflict_fn (1, affine_fn_cst (integer_zero_node));
>                                         ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:1666:34: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>           *overlaps_b = conflict_fn (1, affine_fn_cst (integer_zero_node));
>                                         ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:1812:37: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>       *overlaps_a = conflict_fn (1, affine_fn_cst (integer_zero_node));
>                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:1813:37: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>       *overlaps_b = conflict_fn (1, affine_fn_cst (integer_zero_node));
>                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:1858:39: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>                       *overlaps_a = conflict_fn (1, affine_fn_cst (integer_zero_node));
>                                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:1862:39: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>                       *overlaps_b = conflict_fn (1, affine_fn_cst (tmp));
>                                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:1938:39: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>                       *overlaps_a = conflict_fn (1, affine_fn_cst (integer_zero_node));
>                                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:1941:39: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>                       *overlaps_b = conflict_fn (1, affine_fn_cst (tmp));
>                                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:2203:37: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>       *overlaps_a = conflict_fn (2, ova1, ova2);
>                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:2203:43: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>       *overlaps_a = conflict_fn (2, ova1, ova2);
>                                           ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:2204:37: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>       *overlaps_b = conflict_fn (1, ovb);
>                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:2208:37: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>       *overlaps_a = conflict_fn (1, affine_fn_cst (integer_zero_node));
>                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:2209:37: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>       *overlaps_b = conflict_fn (1, affine_fn_cst (integer_zero_node));
>                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:2404:37: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>       *overlaps_a = conflict_fn (1, affine_fn_cst (integer_zero_node));
>                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:2405:37: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>       *overlaps_b = conflict_fn (1, affine_fn_cst (integer_zero_node));
>                                     ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:2462:34: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>           *overlaps_a = conflict_fn (1, ova);
>                                         ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:2463:34: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>           *overlaps_b = conflict_fn (1, ovb);
>                                         ^
> ../../gcc-4.8-20121119/gcc/tree-data-ref.c:2604:11: error: cannot pass object of non-POD type 'affine_fn' (aka 'vec<tree>') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
>                                affine_fn_univar (build_int_cst (NULL_TREE, x1),
>                                ^
> fatal error: too many errors emitted, stopping now [-ferror-limit=]
> 20 errors generated.
> 

The same failures are also seen under x86_64-apple-darwin12 when using the llvm.org's 3.2 release branch clang compilers
to bootstrap gcc trunk (so it isn't limited to Apple's clang compilers).

> > 
> > >
> > > My cris-elf builds worked fine, but config-list.mk only builds stage
> > > 1, it does not build libgfortran.  Can you give me instructions on how
> > > to build your target on my x86 workstation?
> > >
> > >
> > > Thanks.  Diego.

  reply	other threads:[~2012-11-19 20:16 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-15 21:53 Diego Novillo
     [not found] ` <50A61414.8070908@redhat.com>
2012-11-16 12:13   ` Diego Novillo
2012-11-16 12:22     ` Pedro Alves
2012-11-16 23:16 ` Ian Lance Taylor
2012-11-18  2:57 ` Diego Novillo
2012-11-18 17:05   ` Hans-Peter Nilsson
2012-11-18 17:12     ` Diego Novillo
2012-11-18 17:43       ` Hans-Peter Nilsson
2012-11-18 17:48         ` Diego Novillo
2012-11-18 19:15       ` Andrew Pinski
2012-11-19 19:57         ` Jack Howarth
2012-11-19 20:16           ` Jack Howarth [this message]
2012-11-25 13:11       ` Richard Biener
2012-11-25 15:25         ` Diego Novillo
2012-11-18 18:25     ` Andreas Tobler
2012-11-18 19:12       ` Hans-Peter Nilsson
2012-11-18 19:32         ` Andreas Tobler
2012-11-18 19:50           ` Hans-Peter Nilsson
2012-11-20 13:57   ` Ulrich Weigand
2012-11-18 21:28 David Edelsohn
2012-11-19  1:04 ` Diego Novillo
2012-11-19  1:14   ` David Edelsohn
2012-11-19  3:18     ` Ian Lance Taylor
2012-11-19 14:46       ` David Edelsohn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121119201515.GA15266@bromo.med.uc.edu \
    --to=howarth@bromo.med.uc.edu \
    --cc=dnovillo@google.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hp@bitrange.com \
    --cc=pinskia@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).