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 <dnovi...@google.com> wrote: > > > On Sun, Nov 18, 2012 at 12:05 PM, Hans-Peter Nilsson <h...@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.