[PATCH] disable var-tracking for math/test-tgmath2.c
Markus Trippelsdorf
markus@trippelsdorf.de
Thu Oct 18 19:00:00 GMT 2012
On 2012.10.18 at 14:25 -0400, Carlos O'Donell wrote:
> On Tue, Oct 16, 2012 at 4:48 PM, Markus Trippelsdorf
> <markus@trippelsdorf.de> wrote:
> > On 2012.10.16 at 11:57 -0700, Roland McGrath wrote:
> >> Maybe we should split the code up into more functions or something. If
> >> there are things like that we can do that improve the compilation speed
> >> without reducing our test coverage, there's no reason not to do them. But
> >> frankly I'd rather have slow compilation of a test case persist through a
> >> few more GCC versions than do a cheesy hack like this.
> >
> > The test coverage is unchanged by the patch.
> > And gcc disables var-tracking anyway as soon as the size limit is exceeded.
> > (clang doesn't and takes over 15 minutes to compile the file with -g)
>
> It does decrease test coverage, because now we
> aren't compiling the test applications in the
> same way that users would. What if -fno-var-tracking
> was hiding a glibc implementation bug?
I would say that's impossible, because -fno-var-tracking only affects
the generation of debugging information.
> I would also rather have a slow compilation that
> matches the user use cases than a fast compilation
> that might potentially hide defects.
I really doubt that any sane user uses lines with over 3 million
characters like this test case does.
> Can you provide a patch that adds acomment in the Makefile
> that talks about the slow compilation, and references
> the gcc and llvm upstream bugs that need to be fixed
> in order to speed up the compilation?
Sure. The clang bug is already fixed (it compiles now in ~30 seconds).
diff --git a/math/Makefile b/math/Makefile
index 7759873..9e17695 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -126,6 +126,9 @@ CFLAGS-test-float.c = -fno-inline -ffloat-store -fno-builtin -frounding-math
CFLAGS-test-double.c = -fno-inline -ffloat-store -fno-builtin -frounding-math
CFLAGS-test-ldouble.c = -fno-inline -ffloat-store -fno-builtin -frounding-math
CFLAGS-test-tgmath.c = -fno-builtin
+# The following testcase uses very long lines (>3 million), so it may take a
+# while to compile it. See: http://llvm.org/bugs/show_bug.cgi?id=14106 and
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54402
CFLAGS-test-tgmath2.c = -fno-builtin
CFLAGS-test-tgmath-ret.c = -fno-builtin
CFLAGS-test-powl.c = -fno-builtin
--
Markus
More information about the Libc-alpha
mailing list