summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/vms-misc.c12
2 files changed, 8 insertions, 10 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 05a1656324..6334da07bd 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2010-05-28 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Workaround GCC PR middle-end/4210.
+ * vms-misc.c (vms_time_t_to_vms_time): Use ternary operator for val[2]
+ and val[3].
+
2010-05-27 Tristan Gingold <gingold@adacore.com>
* vms-misc.c: Define __NEW_STARLET. Remove trailing spaces.
diff --git a/bfd/vms-misc.c b/bfd/vms-misc.c
index c7bd346837..49b8274e77 100644
--- a/bfd/vms-misc.c
+++ b/bfd/vms-misc.c
@@ -585,16 +585,8 @@ vms_time_t_to_vms_time (time_t ut, unsigned int *hi, unsigned int *lo)
/* Put into val. */
val[0] = ut & 0xffff;
val[1] = (ut >> 16) & 0xffff;
- if (sizeof (ut) > 4)
- {
- val[2] = (ut >> 32) & 0xffff;
- val[3] = (ut >> 48) & 0xffff;
- }
- else
- {
- val[2] = 0;
- val[3] = 0;
- }
+ val[2] = sizeof (ut) > 4 ? (ut >> 32) & 0xffff : 0;
+ val[3] = sizeof (ut) > 4 ? (ut >> 48) & 0xffff : 0;
/* Add offset. */
tmp[0] = VMS_TIME_OFFSET & 0xffff;