blob: 4fb654c957f99bca775d3e35349a89de4a484e24 [file] [log] [blame]
https://bugs.gentoo.org/461966
fix from upstream
From b5d63f81c1a83fd4c50b769a96a04f581b7db70c Mon Sep 17 00:00:00 2001
From: Joel Rosdahl <joel@rosdahl.net>
Date: Wed, 20 Mar 2013 22:18:16 +0100
Subject: [PATCH] Fix test suite failure on GCC 4.8
GCC 4.8 includes /usr/include/stdc-predef.h implicitly, and this shows up
in generated .d files.
---
test.sh | 35 +++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/test.sh b/test.sh
index 3ed9069..3e38387 100755
--- a/test.sh
+++ b/test.sh
@@ -3,7 +3,7 @@
# A simple test suite for ccache.
#
# Copyright (C) 2002-2007 Andrew Tridgell
-# Copyright (C) 2009-2012 Joel Rosdahl
+# Copyright (C) 2009-2013 Joel Rosdahl
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
@@ -562,6 +562,9 @@ int test3;
EOF
backdate test1.h test2.h test3.h
+ $COMPILER -c -Wp,-MD,expected.d test.c
+ expected_d_content=`cat expected.d`
+
##################################################################
# First compilation is a miss.
testname="first compilation"
@@ -677,7 +680,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -685,7 +688,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -698,7 +701,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -706,7 +709,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -760,7 +763,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -768,7 +771,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
##################################################################
# Check the scenario of running a ccache with direct mode on a cache
@@ -780,7 +783,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -788,7 +791,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 1
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -796,7 +799,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 2
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -804,7 +807,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 2
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
##################################################################
# Check that -MF works.
@@ -815,7 +818,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -823,7 +826,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
##################################################################
# Check that a missing .d file in the cache is handled correctly.
@@ -835,13 +838,13 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
$CCACHE $COMPILER -c -MD test.c
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
find $CCACHE_DIR -name '*.d' -exec rm -f '{}' \;
@@ -849,7 +852,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 1
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
##################################################################
# Check that stderr from both the preprocessor and the compiler is emitted
--
1.8.1.2