aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Rice <ratmice@yahoo.com>2004-12-09 15:54:15 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2004-12-09 07:54:15 -0800
commit8748c00f940d9b1c721bb81dec6a45dd96ec0210 (patch)
tree4f28e1a4da7aafcfa915a445026e21d827b96416
parent354e22e18a16bca6c815347110b6fda802ce82be (diff)
downloadgcc-8748c00f940d9b1c721bb81dec6a45dd96ec0210.zip
gcc-8748c00f940d9b1c721bb81dec6a45dd96ec0210.tar.gz
gcc-8748c00f940d9b1c721bb81dec6a45dd96ec0210.tar.bz2
re PR preprocessor/18102 (darwin framework header search depends on order of options)
2004-12-09 Matt Rice <ratmice@yahoo.com> PR preprocessor/18102 * c-incpath.c (remove_duplicates): Check for construct equality. From-SVN: r91953
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c-incpath.c9
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ab6efa3..7f810dd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-12-09 Matt Rice <ratmice@yahoo.com>
+
+ PR preprocessor/18102
+ * c-incpath.c (remove_duplicates): Check for construct
+ equality.
+
2004-12-09 Dorit Naishlos <dorit@il.ibm.com>
* genopinit.c (vec_realign_store_optab): Initialization removed.
diff --git a/gcc/c-incpath.c b/gcc/c-incpath.c
index 177af98..b141c07 100644
--- a/gcc/c-incpath.c
+++ b/gcc/c-incpath.c
@@ -211,7 +211,8 @@ remove_duplicates (cpp_reader *pfile, struct cpp_dir *head,
/* Remove this one if it is in the system chain. */
reason = REASON_DUP_SYS;
for (tmp = system; tmp; tmp = tmp->next)
- if (INO_T_EQ (tmp->ino, cur->ino) && tmp->dev == cur->dev)
+ if (INO_T_EQ (tmp->ino, cur->ino) && tmp->dev == cur->dev
+ && cur->construct == tmp->construct)
break;
if (!tmp)
@@ -219,14 +220,16 @@ remove_duplicates (cpp_reader *pfile, struct cpp_dir *head,
/* Duplicate of something earlier in the same chain? */
reason = REASON_DUP;
for (tmp = head; tmp != cur; tmp = tmp->next)
- if (INO_T_EQ (cur->ino, tmp->ino) && cur->dev == tmp->dev)
+ if (INO_T_EQ (cur->ino, tmp->ino) && cur->dev == tmp->dev
+ && cur->construct == tmp->construct)
break;
if (tmp == cur
/* Last in the chain and duplicate of JOIN? */
&& !(cur->next == NULL && join
&& INO_T_EQ (cur->ino, join->ino)
- && cur->dev == join->dev))
+ && cur->dev == join->dev
+ && cur->construct == join->construct))
{
/* Unique, so keep this directory. */
pcur = &cur->next;