rpms/gcc/devel gcc41-amdfam10.patch, NONE, 1.1 gcc41-rh227983.patch, NONE, 1.1 gcc41.spec, 1.141, 1.142 gcc41-i386-tune-core2.patch, 1.1, NONE gcc41-ssse3.patch, 1.1, NONE
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Sat Feb 10 19:16:46 UTC 2007
- Previous message (by thread): rpms/kernel/FC-5 linux-2.6-CIFS-null-terminator.patch, NONE, 1.1 linux-2.6-drivers-8139too-poll.patch, NONE, 1.1 kernel-2.6.spec, 1.2287, 1.2288
- Next message (by thread): rpms/gcc/devel .cvsignore,1.194,1.195 sources,1.196,1.197
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jakub
Update of /cvs/dist/rpms/gcc/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv5496
Modified Files:
gcc41.spec
Added Files:
gcc41-amdfam10.patch gcc41-rh227983.patch
Removed Files:
gcc41-i386-tune-core2.patch gcc41-ssse3.patch
Log Message:
4.1.1-56
gcc41-amdfam10.patch:
config.gcc | 12
config/i386/ammintrin.h | 73 +++++
config/i386/athlon.md | 378 +++++++++++++++++++++++---
config/i386/emmintrin.h | 6
config/i386/i386.c | 422 +++++++++++++++++++++++++++---
config/i386/i386.h | 17 +
config/i386/i386.md | 334 ++++++++++++++++++++---
config/i386/i386.opt | 16 +
config/i386/pmmintrin.h | 6
config/i386/sse.md | 129 ++++++++-
config/i386/tmmintrin.h | 6
config/i386/xmmintrin.h | 4
doc/extend.texi | 17 +
doc/invoke.texi | 11
testsuite/gcc.dg/i386-cpuid.h | 115 +++++++-
testsuite/gcc.target/i386/sse4a-extract.c | 100 +++++++
testsuite/gcc.target/i386/sse4a-insert.c | 110 +++++++
testsuite/gcc.target/i386/sse4a-montsd.c | 64 ++++
testsuite/gcc.target/i386/sse4a-montss.c | 64 ++++
19 files changed, 1733 insertions(+), 151 deletions(-)
--- NEW FILE gcc41-amdfam10.patch ---
2007-02-08 Harsha Jagasia <harsha.jagasia at amd.com>
* config/i386/xmmintrin.h: Make inclusion of emmintrin.h
conditional to __SSE2__.
* config/i386/emmintrin.h: Generate #error if __SSE2__ is not
defined.
* config/i386/pmmintrin.h: Generate #error if __SSE3__ is not
defined.
* config/i386/tmmintrin.h: Generate #error if __SSSE3__ is not
defined.
2007-02-05 Harsha Jagasia <harsha.jagasia at amd.com>
* config/i386/athlon.md (athlon_fldxf_k8, athlon_fld_k8,
athlon_fstxf_k8, athlon_fst_k8, athlon_fist, athlon_fmov,
athlon_fadd_load, athlon_fadd_load_k8, athlon_fadd, athlon_fmul,
athlon_fmul_load, athlon_fmul_load_k8, athlon_fsgn,
athlon_fdiv_load, athlon_fdiv_load_k8, athlon_fdiv_k8,
athlon_fpspc_load, athlon_fpspc, athlon_fcmov_load,
athlon_fcmov_load_k8, athlon_fcmov_k8, athlon_fcomi_load_k8,
athlon_fcomi, athlon_fcom_load_k8, athlon_fcom): Added amdfam10.
* config/i386/i386.md (x86_sahf_1, cmpfp_i_mixed, cmpfp_i_sse,
cmpfp_i_i387, cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387,
swapsi, swaphi_1, swapqi_1, swapdi_rex64, fix_truncsfdi_sse,
fix_truncdfdi_sse, fix_truncsfsi_sse, fix_truncdfsi_sse,
x86_fldcw_1, floatsisf2_mixed, floatsisf2_sse, floatdisf2_mixed,
floatdisf2_sse, floatsidf2_mixed, floatsidf2_sse,
floatdidf2_mixed, floatdidf2_sse, muldi3_1_rex64, mulsi3_1,
mulsi3_1_zext, mulhi3_1, mulqi3_1, umulqihi3_1, mulqihi3_insn,
umulditi3_insn, umulsidi3_insn, mulditi3_insn, mulsidi3_insn,
umuldi3_highpart_rex64, umulsi3_highpart_insn,
umulsi3_highpart_zext, smuldi3_highpart_rex64,
smulsi3_highpart_insn, smulsi3_highpart_zext, x86_64_shld,
x86_shld_1, x86_64_shrd, sqrtsf2_mixed, sqrtsf2_sse,
sqrtsf2_i387, sqrtdf2_mixed, sqrtdf2_sse, sqrtdf2_i387,
sqrtextendsfdf2_i387, sqrtxf2, sqrtextendsfxf2_i387,
sqrtextenddfxf2_i387): Added amdfam10_decode.
* config/i386/athlon.md (athlon_idirect_amdfam10,
athlon_ivector_amdfam10, athlon_idirect_load_amdfam10,
athlon_ivector_load_amdfam10, athlon_idirect_both_amdfam10,
athlon_ivector_both_amdfam10, athlon_idirect_store_amdfam10,
athlon_ivector_store_amdfam10): New define_insn_reservation.
(athlon_idirect_loadmov, athlon_idirect_movstore): Added
amdfam10.
* config/i386/athlon.md (athlon_call_amdfam10,
athlon_pop_amdfam10, athlon_lea_amdfam10): New
define_insn_reservation.
(athlon_branch, athlon_push, athlon_leave_k8, athlon_imul_k8,
athlon_imul_k8_DI, athlon_imul_mem_k8, athlon_imul_mem_k8_DI,
athlon_idiv, athlon_idiv_mem, athlon_str): Added amdfam10.
* config/i386/athlon.md (athlon_sseld_amdfam10,
athlon_mmxld_amdfam10, athlon_ssest_amdfam10,
athlon_mmxssest_short_amdfam10): New define_insn_reservation.
* config/i386/athlon.md (athlon_sseins_amdfam10): New
define_insn_reservation.
* config/i386/i386.md (sseins): Added sseins to define_attr type
and define_attr unit.
* config/i386/sse.md: Set type attribute to sseins for insertq
and insertqi.
* config/i386/athlon.md (sselog_load_amdfam10, sselog_amdfam10,
ssecmpvector_load_amdfam10, ssecmpvector_amdfam10,
ssecomi_load_amdfam10, ssecomi_amdfam10,
sseaddvector_load_amdfam10, sseaddvector_amdfam10): New
define_insn_reservation.
(ssecmp_load_k8, ssecmp, sseadd_load_k8, seadd): Added amdfam10.
* config/i386/athlon.md (cvtss2sd_load_amdfam10,
cvtss2sd_amdfam10, cvtps2pd_load_amdfam10, cvtps2pd_amdfam10,
cvtsi2sd_load_amdfam10, cvtsi2ss_load_amdfam10,
cvtsi2sd_amdfam10, cvtsi2ss_amdfam10, cvtsd2ss_load_amdfam10,
cvtsd2ss_amdfam10, cvtpd2ps_load_amdfam10, cvtpd2ps_amdfam10,
cvtsX2si_load_amdfam10, cvtsX2si_amdfam10): New
define_insn_reservation.
* config/i386/sse.md (cvtsi2ss, cvtsi2ssq, cvtss2si,
cvtss2siq, cvttss2si, cvttss2siq, cvtsi2sd, cvtsi2sdq,
cvtsd2si, cvtsd2siq, cvttsd2si, cvttsd2siq,
cvtpd2dq, cvttpd2dq, cvtsd2ss, cvtss2sd,
cvtpd2ps, cvtps2pd): Added amdfam10_decode attribute.
* config/i386/athlon.md (athlon_ssedivvector_amdfam10,
athlon_ssedivvector_load_amdfam10, athlon_ssemulvector_amdfam10,
athlon_ssemulvector_load_amdfam10): New define_insn_reservation.
(athlon_ssediv, athlon_ssediv_load_k8, athlon_ssemul,
athlon_ssemul_load_k8): Added amdfam10.
* config/i386/i386.h (TARGET_SSE_UNALIGNED_MOVE_OPTIMAL): New macro.
(x86_sse_unaligned_move_optimal): New variable.
* config/i386/i386.c (x86_sse_unaligned_move_optimal): Enable for
m_AMDFAM10.
(ix86_expand_vector_move_misalign): Add code to generate movupd/movups
for unaligned vector SSE double/single precision loads for AMDFAM10.
* config/i386/i386.h (TARGET_AMDFAM10): New macro.
(TARGET_CPU_CPP_BUILTINS): Add code for amdfam10.
Define TARGET_CPU_DEFAULT_amdfam10.
(TARGET_CPU_DEFAULT_NAMES): Add amdfam10.
(processor_type): Add PROCESSOR_AMDFAM10.
* config/i386/i386.md: Add amdfam10 as a new cpu attribute to match
processor_type in config/i386/i386.h.
Enable imul peepholes for TARGET_AMDFAM10.
* config.gcc: Add support for --with-cpu option for amdfam10.
* config/i386/i386.c (amdfam10_cost): New variable.
(m_AMDFAM10): New macro.
(m_ATHLON_K8_AMDFAM10): New macro.
(x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_simode_fiop,
x86_promote_QImode, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_sse_typeless_stores,
x86_use_ffreep, x86_use_incdec, x86_four_jump_limit,
x86_schedule, x86_use_bt, x86_cmpxchg16b, x86_pad_returns):
Enable/disable for amdfam10.
(override_options): Add amdfam10_cost to processor_target_table.
Set up PROCESSOR_AMDFAM10 for amdfam10 entry in
processor_alias_table.
(ix86_issue_rate): Add PROCESSOR_AMDFAM10.
(ix86_adjust_cost): Add code for amdfam10.
* config/i386/i386.opt: Add new Advanced Bit Manipulation (-mabm)
instruction set feature flag. Add new (-mpopcnt) flag for popcnt
instruction. Add new SSE4A (-msse4a) instruction set feature flag.
* config/i386/i386.h: Add builtin definition for SSE4A.
* config/i386/i386.md: Add support for ABM instructions
(popcnt and lzcnt).
* config/i386/sse.md: Add support for SSE4A instructions
(movntss, movntsd, extrq, insertq).
* config/i386/i386.c: Add support for ABM and SSE4A builtins.
Add -march=amdfam10 flag.
* config/i386/ammintrin.h: Add support for SSE4A intrinsics.
* doc/invoke.texi: Add documentation on flags for sse4a, abm, popcnt
and amdfam10.
* doc/extend.texi: Add documentation for SSE4A builtins.
2007-02-05 Dwarakanath Rajagopal <dwarak.rajagopal at amd.com>
* gcc.dg/i386-cpuid.h: Test whether SSE4A is supported
for running tests.
* gcc.target/i386/sse4a-extract.c: New test.
* gcc.target/i386/sse4a-insert.c: New test.
* gcc.target/i386/sse4a-montsd.c: New test.
* gcc.target/i386/sse4a-montss.c: New test.
2006-12-15 H.J. Lu <hongjiu.lu at intel.com>
* gcc.dg/i386-cpuid.h (bit_SSSE3): New.
2006-11-30 H.J. Lu <hongjiu.lu at intel.com>
* gcc.dg/i386-cpuid.h (bit_SSE3): New.
(i386_get_cpuid): New function.
(i386_cpuid_ecx): Likewise.
(i386_cpuid_edx): Likewise.
(i386_cpuid): Updated to call i386_cpuid_edx.
--- gcc/doc/extend.texi.jj 2007-02-09 16:18:25.000000000 +0100
+++ gcc/doc/extend.texi 2007-02-09 21:26:06.000000000 +0100
@@ -6931,6 +6931,23 @@ v4si __builtin_ia32_pabsd128 (v4si)
v8hi __builtin_ia32_pabsw128 (v8hi)
@end smallexample
+The following built-in functions are available when @option{-msse4a} is used.
+
+ at smallexample
+void _mm_stream_sd (double*,__m128d);
+Generates the @code{movntsd} machine instruction.
+void _mm_stream_ss (float*,__m128);
+Generates the @code{movntss} machine instruction.
+__m128i _mm_extract_si64 (__m128i, __m128i);
+Generates the @code{extrq} machine instruction with only SSE register operands.
+__m128i _mm_extracti_si64 (__m128i, int, int);
+Generates the @code{extrq} machine instruction with SSE register and immediate operands.
+__m128i _mm_insert_si64 (__m128i, __m128i);
+Generates the @code{insertq} machine instruction with only SSE register operands.
+__m128i _mm_inserti_si64 (__m128i, __m128i, int, int);
+Generates the @code{insertq} machine instruction with SSE register and immediate operands.
+ at end smallexample
+
The following built-in functions are available when @option{-m3dnow} is used.
All of them generate the machine instruction that is part of the name.
--- gcc/doc/invoke.texi.jj 2007-02-09 16:18:25.000000000 +0100
+++ gcc/doc/invoke.texi 2007-02-09 21:56:44.000000000 +0100
@@ -522,7 +522,7 @@ Objective-C and Objective-C++ Dialects}.
-mno-fp-ret-in-387 -msoft-float -msvr3-shlib @gol
-mno-wide-multiply -mrtd -malign-double @gol
-mpreferred-stack-boundary=@var{num} @gol
--mmmx -msse -msse2 -msse3 -mssse3 -m3dnow @gol
[...3215 lines suppressed...]
+ case PROCESSOR_AMDFAM10:
case PROCESSOR_GENERIC32:
case PROCESSOR_GENERIC64:
memory = get_attr_memory (insn);
@@ -14370,6 +14572,14 @@ enum ix86_builtins
IX86_BUILTIN_PABSW128,
IX86_BUILTIN_PABSD128,
+ /* AMDFAM10 - SSE4A New Instructions. */
+ IX86_BUILTIN_MOVNTSD,
+ IX86_BUILTIN_MOVNTSS,
+ IX86_BUILTIN_EXTRQI,
+ IX86_BUILTIN_EXTRQ,
+ IX86_BUILTIN_INSERTQI,
+ IX86_BUILTIN_INSERTQ,
+
IX86_BUILTIN_VEC_INIT_V2SI,
IX86_BUILTIN_VEC_INIT_V4HI,
IX86_BUILTIN_VEC_INIT_V8QI,
@@ -15102,6 +15312,18 @@ ix86_init_mmx_sse_builtins (void)
= build_function_type_list (void_type_node,
pchar_type_node, V16QI_type_node, NULL_TREE);
+ tree v2di_ftype_v2di_unsigned_unsigned
+ = build_function_type_list (V2DI_type_node, V2DI_type_node,
+ unsigned_type_node, unsigned_type_node,
+ NULL_TREE);
+ tree v2di_ftype_v2di_v2di_unsigned_unsigned
+ = build_function_type_list (V2DI_type_node, V2DI_type_node, V2DI_type_node,
+ unsigned_type_node, unsigned_type_node,
+ NULL_TREE);
+ tree v2di_ftype_v2di_v16qi
+ = build_function_type_list (V2DI_type_node, V2DI_type_node, V16QI_type_node,
+ NULL_TREE);
+
tree float80_type;
tree float128_type;
tree ftype;
@@ -15435,6 +15657,20 @@ ix86_init_mmx_sse_builtins (void)
def_builtin (MASK_SSSE3, "__builtin_ia32_palignr", di_ftype_di_di_int,
IX86_BUILTIN_PALIGNR);
+ /* AMDFAM10 SSE4A New built-ins */
+ def_builtin (MASK_SSE4A, "__builtin_ia32_movntsd",
+ void_ftype_pdouble_v2df, IX86_BUILTIN_MOVNTSD);
+ def_builtin (MASK_SSE4A, "__builtin_ia32_movntss",
+ void_ftype_pfloat_v4sf, IX86_BUILTIN_MOVNTSS);
+ def_builtin (MASK_SSE4A, "__builtin_ia32_extrqi",
+ v2di_ftype_v2di_unsigned_unsigned, IX86_BUILTIN_EXTRQI);
+ def_builtin (MASK_SSE4A, "__builtin_ia32_extrq",
+ v2di_ftype_v2di_v16qi, IX86_BUILTIN_EXTRQ);
+ def_builtin (MASK_SSE4A, "__builtin_ia32_insertqi",
+ v2di_ftype_v2di_v2di_unsigned_unsigned, IX86_BUILTIN_INSERTQI);
+ def_builtin (MASK_SSE4A, "__builtin_ia32_insertq",
+ v2di_ftype_v2di_v2di, IX86_BUILTIN_INSERTQ);
+
/* Access to the vec_init patterns. */
ftype = build_function_type_list (V2SI_type_node, integer_type_node,
integer_type_node, NULL_TREE);
@@ -15923,9 +16159,9 @@ ix86_expand_builtin (tree exp, rtx targe
enum insn_code icode;
tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0);
tree arglist = TREE_OPERAND (exp, 1);
- tree arg0, arg1, arg2;
- rtx op0, op1, op2, pat;
- enum machine_mode tmode, mode0, mode1, mode2, mode3;
+ tree arg0, arg1, arg2, arg3;
+ rtx op0, op1, op2, op3, pat;
+ enum machine_mode tmode, mode0, mode1, mode2, mode3, mode4;
unsigned int fcode = DECL_FUNCTION_CODE (fndecl);
switch (fcode)
@@ -16340,6 +16576,114 @@ ix86_expand_builtin (tree exp, rtx targe
emit_insn (pat);
return target;
+ case IX86_BUILTIN_MOVNTSD:
+ return ix86_expand_store_builtin (CODE_FOR_sse4a_vmmovntv2df, arglist);
+
+ case IX86_BUILTIN_MOVNTSS:
+ return ix86_expand_store_builtin (CODE_FOR_sse4a_vmmovntv4sf, arglist);
+
+ case IX86_BUILTIN_INSERTQ:
+ case IX86_BUILTIN_EXTRQ:
+ icode = (fcode == IX86_BUILTIN_EXTRQ
+ ? CODE_FOR_sse4a_extrq
+ : CODE_FOR_sse4a_insertq);
+ arg0 = TREE_VALUE (arglist);
+ arg1 = TREE_VALUE (TREE_CHAIN (arglist));
+ op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0);
+ op1 = expand_expr (arg1, NULL_RTX, VOIDmode, 0);
+ tmode = insn_data[icode].operand[0].mode;
+ mode1 = insn_data[icode].operand[1].mode;
+ mode2 = insn_data[icode].operand[2].mode;
+ if (! (*insn_data[icode].operand[1].predicate) (op0, mode1))
+ op0 = copy_to_mode_reg (mode1, op0);
+ if (! (*insn_data[icode].operand[2].predicate) (op1, mode2))
+ op1 = copy_to_mode_reg (mode2, op1);
+ if (optimize || target == 0
+ || GET_MODE (target) != tmode
+ || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
+ target = gen_reg_rtx (tmode);
+ pat = GEN_FCN (icode) (target, op0, op1);
+ if (! pat)
+ return NULL_RTX;
+ emit_insn (pat);
+ return target;
+
+ case IX86_BUILTIN_EXTRQI:
+ icode = CODE_FOR_sse4a_extrqi;
+ arg0 = TREE_VALUE (arglist);
+ arg1 = TREE_VALUE (TREE_CHAIN (arglist));
+ arg2 = TREE_VALUE (TREE_CHAIN (TREE_CHAIN (arglist)));
+ op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0);
+ op1 = expand_expr (arg1, NULL_RTX, VOIDmode, 0);
+ op2 = expand_expr (arg2, NULL_RTX, VOIDmode, 0);
+ tmode = insn_data[icode].operand[0].mode;
+ mode1 = insn_data[icode].operand[1].mode;
+ mode2 = insn_data[icode].operand[2].mode;
+ mode3 = insn_data[icode].operand[3].mode;
+ if (! (*insn_data[icode].operand[1].predicate) (op0, mode1))
+ op0 = copy_to_mode_reg (mode1, op0);
+ if (! (*insn_data[icode].operand[2].predicate) (op1, mode2))
+ {
+ error ("index mask must be an immediate");
+ return gen_reg_rtx (tmode);
+ }
+ if (! (*insn_data[icode].operand[3].predicate) (op2, mode3))
+ {
+ error ("length mask must be an immediate");
+ return gen_reg_rtx (tmode);
+ }
+ if (optimize || target == 0
+ || GET_MODE (target) != tmode
+ || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
+ target = gen_reg_rtx (tmode);
+ pat = GEN_FCN (icode) (target, op0, op1, op2);
+ if (! pat)
+ return NULL_RTX;
+ emit_insn (pat);
+ return target;
+
+ case IX86_BUILTIN_INSERTQI:
+ icode = CODE_FOR_sse4a_insertqi;
+ arg0 = TREE_VALUE (arglist);
+ arg1 = TREE_VALUE (TREE_CHAIN (arglist));
+ arg2 = TREE_VALUE (TREE_CHAIN (TREE_CHAIN (arglist)));
+ arg3 = TREE_VALUE (TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (arglist))));
+ op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0);
+ op1 = expand_expr (arg1, NULL_RTX, VOIDmode, 0);
+ op2 = expand_expr (arg2, NULL_RTX, VOIDmode, 0);
+ op3 = expand_expr (arg3, NULL_RTX, VOIDmode, 0);
+ tmode = insn_data[icode].operand[0].mode;
+ mode1 = insn_data[icode].operand[1].mode;
+ mode2 = insn_data[icode].operand[2].mode;
+ mode3 = insn_data[icode].operand[3].mode;
+ mode4 = insn_data[icode].operand[4].mode;
+
+ if (! (*insn_data[icode].operand[1].predicate) (op0, mode1))
+ op0 = copy_to_mode_reg (mode1, op0);
+
+ if (! (*insn_data[icode].operand[2].predicate) (op1, mode2))
+ op1 = copy_to_mode_reg (mode2, op1);
+
+ if (! (*insn_data[icode].operand[3].predicate) (op2, mode3))
+ {
+ error ("index mask must be an immediate");
+ return gen_reg_rtx (tmode);
+ }
+ if (! (*insn_data[icode].operand[4].predicate) (op3, mode4))
+ {
+ error ("length mask must be an immediate");
+ return gen_reg_rtx (tmode);
+ }
+ if (optimize || target == 0
+ || GET_MODE (target) != tmode
+ || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
+ target = gen_reg_rtx (tmode);
+ pat = GEN_FCN (icode) (target, op0, op1, op2, op3);
+ if (! pat)
+ return NULL_RTX;
+ emit_insn (pat);
+ return target;
+
case IX86_BUILTIN_VEC_INIT_V2SI:
case IX86_BUILTIN_VEC_INIT_V4HI:
case IX86_BUILTIN_VEC_INIT_V8QI:
--- gcc/config/i386/xmmintrin.h.jj 2006-10-05 00:29:29.000000000 +0200
+++ gcc/config/i386/xmmintrin.h 2007-02-09 21:26:06.000000000 +0100
@@ -1241,7 +1241,9 @@ do { \
} while (0)
/* For backward source compatibility. */
-#include <emmintrin.h>
+#ifdef __SSE2__
+# include <emmintrin.h>
+#endif
#endif /* __SSE__ */
#endif /* _XMMINTRIN_H_INCLUDED */
gcc41-rh227983.patch:
java/util/TimeZone.java | 256 +++++++++++++++++++++++++-----------------------
scripts/timezones.pl | 35 ++++++
2 files changed, 168 insertions(+), 123 deletions(-)
--- NEW FILE gcc41-rh227983.patch ---
2007-02-09 Jakub Jelinek <jakub at redhat.com>
PR 23566
* scripts/timezones.pl: Parse each file in 2 passes, in one parse
just Rule lines, in the other everything else. Pass 0 instead of
$savings as second argument to parseRule when parsing the start
rule.
* java/util/TimeZone.java (timezones): Regenerate from tzdata2007a.
--- libjava/classpath/scripts/timezones.pl.jj 2007-01-17 16:11:04.000000000 +0100
+++ libjava/classpath/scripts/timezones.pl 2007-02-09 11:00:54.000000000 +0100
@@ -213,6 +213,10 @@ foreach $file (@TIMEZONEFILES) {
# print STDERR "$file\n";
open INPUT, "$TIMEZONEDIR/$file" or die "Can't open $TIMEZONEDIR/$file";
my $in_time_zone = 0;
+ # As Zone can reference even Rule which is defined after the
+ # current line, parse the file in 2 passes.
+
+ # First pass, parse just Rule lines:
while (<INPUT>) {
$_ = $1 if /^([^\#]*)\#/;
next if /^\s*$/;
@@ -239,6 +243,35 @@ foreach $file (@TIMEZONEFILES) {
} elsif ($entries[0] eq "Zone") {
$in_time_zone = 1;
shift @entries;
+ shift @entries;
+ } elsif (!(($entries[0] eq "Remove") || ($entries[0] eq "Link"))) {
+ die "Unknown command: $_";
+ }
+ }
+ if ($in_time_zone) {
+ die "early end of Zone: $_" if ($entries[0] =~ /^[A-Za-z]+/);
+ if (@entries <= 3) {
+ $in_time_zone = 0;
+ }
+ }
+ }
+ close INPUT;
+ open INPUT, "$TIMEZONEDIR/$file" or die "Can't open $TIMEZONEDIR/$file";
+ $in_time_zone = 0;
+
+ # Second pass, parse all but Rule lines.
+ while (<INPUT>) {
+ $_ = $1 if /^([^\#]*)\#/;
+ next if /^\s*$/;
+ my @entries = split;
+# $, = ","; print "'$_' -> [", at entries,"]\n";
+ if (!$in_time_zone) {
+ if ($entries[0] eq "Rule") {
+ # Do nothing, this was already handled in the
+ # first pass.
+ } elsif ($entries[0] eq "Zone") {
+ $in_time_zone = 1;
+ shift @entries;
$timezonename = shift @entries;
} elsif ($entries[0] eq "Remove") {
my $found = 0;
@@ -295,7 +328,7 @@ foreach $file (@TIMEZONEFILES) {
my $savings = $rule->[2];
my $endrule = parseRule($rawoffset, $savings,
$rule->[0]);
- my $startrule = parseRule($rawoffset, $savings,
+ my $startrule = parseRule($rawoffset, 0,
$rule->[1]);
$rule = [ $endrule, $startrule, $savings ];
# print "start",@{$rule->[1]}, "end", @{$rule->[0]},
--- libjava/classpath/java/util/TimeZone.java.jj 2006-10-05 00:31:11.000000000 +0200
+++ libjava/classpath/java/util/TimeZone.java 2007-02-09 11:05:13.000000000 +0100
@@ -1,5 +1,5 @@
/* java.util.TimeZone
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -153,8 +153,8 @@ public abstract class TimeZone implement
timezones0.put("Pacific/Pago_Pago", tz);
tz = new SimpleTimeZone
(-10000 * 3600, "America/Adak",
- Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
+ Calendar.MARCH, 2, Calendar.SUNDAY, 2000 * 3600,
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 2000 * 3600);
timezones0.put("America/Adak", tz);
tz = new SimpleTimeZone(-10000 * 3600, "HST");
timezones0.put("HST", tz);
@@ -167,8 +167,8 @@ public abstract class TimeZone implement
timezones0.put("Pacific/Marquesas", tz);
tz = new SimpleTimeZone
(-9000 * 3600, "AST",
- Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
+ Calendar.MARCH, 2, Calendar.SUNDAY, 2000 * 3600,
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 2000 * 3600);
timezones0.put("AST", tz);
timezones0.put("America/Anchorage", tz);
timezones0.put("America/Juneau", tz);
@@ -177,55 +177,56 @@ public abstract class TimeZone implement
tz = new SimpleTimeZone(-9000 * 3600, "Pacific/Gambier");
timezones0.put("Pacific/Gambier", tz);
tz = new SimpleTimeZone
- (-8000 * 3600, "PST",
+ (-8000 * 3600, "America/Tijuana",
Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
+ timezones0.put("America/Tijuana", tz);
+ tz = new SimpleTimeZone
+ (-8000 * 3600, "PST",
+ Calendar.MARCH, 2, Calendar.SUNDAY, 2000 * 3600,
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 2000 * 3600);
timezones0.put("PST", tz);
timezones0.put("PST8PDT", tz);
timezones0.put("America/Dawson", tz);
timezones0.put("America/Los_Angeles", tz);
- timezones0.put("America/Tijuana", tz);
timezones0.put("America/Vancouver", tz);
timezones0.put("America/Whitehorse", tz);
timezones0.put("US/Pacific-New", tz);
tz = new SimpleTimeZone(-8000 * 3600, "Pacific/Pitcairn");
timezones0.put("Pacific/Pitcairn", tz);
tz = new SimpleTimeZone
- (-7000 * 3600, "MST",
+ (-7000 * 3600, "America/Chihuahua",
Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
+ timezones0.put("America/Chihuahua", tz);
+ timezones0.put("America/Mazatlan", tz);
+ tz = new SimpleTimeZone(-7000 * 3600, "MST7");
+ timezones0.put("MST7", tz);
+ timezones0.put("PNT", tz);
+ timezones0.put("America/Dawson_Creek", tz);
+ timezones0.put("America/Hermosillo", tz);
+ timezones0.put("America/Phoenix", tz);
+ tz = new SimpleTimeZone
+ (-7000 * 3600, "MST",
+ Calendar.MARCH, 2, Calendar.SUNDAY, 2000 * 3600,
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 2000 * 3600);
timezones0.put("MST", tz);
timezones0.put("MST7MDT", tz);
timezones0.put("America/Boise", tz);
timezones0.put("America/Cambridge_Bay", tz);
- timezones0.put("America/Chihuahua", tz);
timezones0.put("America/Denver", tz);
timezones0.put("America/Edmonton", tz);
timezones0.put("America/Inuvik", tz);
- timezones0.put("America/Mazatlan", tz);
timezones0.put("America/Shiprock", tz);
timezones0.put("America/Yellowknife", tz);
- tz = new SimpleTimeZone(-7000 * 3600, "MST7");
- timezones0.put("MST7", tz);
- timezones0.put("PNT", tz);
- timezones0.put("America/Dawson_Creek", tz);
- timezones0.put("America/Hermosillo", tz);
- timezones0.put("America/Phoenix", tz);
tz = new SimpleTimeZone
- (-6000 * 3600, "CST",
+ (-6000 * 3600, "America/Cancun",
Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
- timezones0.put("CST", tz);
- timezones0.put("CST6CDT", tz);
timezones0.put("America/Cancun", tz);
- timezones0.put("America/Chicago", tz);
- timezones0.put("America/Menominee", tz);
timezones0.put("America/Merida", tz);
timezones0.put("America/Mexico_City", tz);
timezones0.put("America/Monterrey", tz);
- timezones0.put("America/North_Dakota/Center", tz);
- timezones0.put("America/Rainy_River", tz);
- timezones0.put("America/Rankin_Inlet", tz);
tz = new SimpleTimeZone(-6000 * 3600, "America/Belize");
timezones0.put("America/Belize", tz);
timezones0.put("America/Costa_Rica", tz);
@@ -237,53 +238,62 @@ public abstract class TimeZone implement
timezones0.put("America/Tegucigalpa", tz);
timezones0.put("Pacific/Galapagos", tz);
tz = new SimpleTimeZone
- (-6000 * 3600, "America/Winnipeg",
- Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
+ (-6000 * 3600, "CST",
+ Calendar.MARCH, 2, Calendar.SUNDAY, 2000 * 3600,
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 2000 * 3600);
+ timezones0.put("CST", tz);
+ timezones0.put("CST6CDT", tz);
+ timezones0.put("America/Chicago", tz);
+ timezones0.put("America/Indiana/Knox", tz);
+ timezones0.put("America/Indiana/Petersburg", tz);
+ timezones0.put("America/Indiana/Vincennes", tz);
+ timezones0.put("America/Menominee", tz);
+ timezones0.put("America/North_Dakota/Center", tz);
+ timezones0.put("America/North_Dakota/New_Salem", tz);
+ timezones0.put("America/Rainy_River", tz);
+ timezones0.put("America/Rankin_Inlet", tz);
timezones0.put("America/Winnipeg", tz);
tz = new SimpleTimeZone
(-6000 * 3600, "Pacific/Easter",
- Calendar.OCTOBER, 2, Calendar.SATURDAY, 23000 * 3600,
+ Calendar.OCTOBER, 2, Calendar.SATURDAY, 22000 * 3600,
Calendar.MARCH, 2, Calendar.SATURDAY, 22000 * 3600);
timezones0.put("Pacific/Easter", tz);
- tz = new SimpleTimeZone
- (-5000 * 3600, "America/Grand_Turk",
- Calendar.APRIL, 1, Calendar.SUNDAY, 0 * 3600,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);
- timezones0.put("America/Grand_Turk", tz);
- tz = new SimpleTimeZone
- (-5000 * 3600, "America/Havana",
- Calendar.APRIL, 1, Calendar.SUNDAY, 1000 * 3600,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 1000 * 3600);
- timezones0.put("America/Havana", tz);
tz = new SimpleTimeZone(-5000 * 3600, "EST5");
timezones0.put("EST5", tz);
timezones0.put("IET", tz);
+ timezones0.put("America/Atikokan", tz);
timezones0.put("America/Bogota", tz);
timezones0.put("America/Cayman", tz);
timezones0.put("America/Eirunepe", tz);
timezones0.put("America/Guayaquil", tz);
- timezones0.put("America/Indiana/Indianapolis", tz);
- timezones0.put("America/Indiana/Knox", tz);
- timezones0.put("America/Indiana/Marengo", tz);
- timezones0.put("America/Indiana/Vevay", tz);
- timezones0.put("America/Indianapolis", tz);
timezones0.put("America/Jamaica", tz);
timezones0.put("America/Lima", tz);
timezones0.put("America/Panama", tz);
- timezones0.put("America/Port-au-Prince", tz);
timezones0.put("America/Rio_Branco", tz);
tz = new SimpleTimeZone
+ (-5000 * 3600, "America/Havana",
+ Calendar.APRIL, 1, Calendar.SUNDAY, 0 * 3600,
+ Calendar.OCTOBER, -1, Calendar.SUNDAY, 1000 * 3600);
+ timezones0.put("America/Havana", tz);
+ tz = new SimpleTimeZone
+ (-5000 * 3600, "America/Grand_Turk",
+ Calendar.APRIL, 1, Calendar.SUNDAY, 0 * 3600,
+ Calendar.OCTOBER, -1, Calendar.SUNDAY, 0 * 3600);
+ timezones0.put("America/Grand_Turk", tz);
+ timezones0.put("America/Port-au-Prince", tz);
+ tz = new SimpleTimeZone
(-5000 * 3600, "EST",
- Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
+ Calendar.MARCH, 2, Calendar.SUNDAY, 2000 * 3600,
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 2000 * 3600);
timezones0.put("EST", tz);
timezones0.put("EST5EDT", tz);
timezones0.put("America/Detroit", tz);
+ timezones0.put("America/Indiana/Indianapolis", tz);
+ timezones0.put("America/Indiana/Marengo", tz);
+ timezones0.put("America/Indiana/Vevay", tz);
timezones0.put("America/Iqaluit", tz);
timezones0.put("America/Kentucky/Louisville", tz);
timezones0.put("America/Kentucky/Monticello", tz);
- timezones0.put("America/Louisville", tz);
timezones0.put("America/Montreal", tz);
timezones0.put("America/Nassau", tz);
timezones0.put("America/New_York", tz);
@@ -291,12 +301,18 @@ public abstract class TimeZone implement
timezones0.put("America/Pangnirtung", tz);
timezones0.put("America/Thunder_Bay", tz);
timezones0.put("America/Toronto", tz);
+ tz = new SimpleTimeZone
+ (-4000 * 3600, "America/Asuncion",
+ Calendar.OCTOBER, 3, Calendar.SUNDAY, 0 * 3600,
+ Calendar.MARCH, 2, Calendar.SUNDAY, 0 * 3600);
+ timezones0.put("America/Asuncion", tz);
tz = new SimpleTimeZone(-4000 * 3600, "PRT");
timezones0.put("PRT", tz);
timezones0.put("America/Anguilla", tz);
timezones0.put("America/Antigua", tz);
timezones0.put("America/Aruba", tz);
timezones0.put("America/Barbados", tz);
+ timezones0.put("America/Blanc-Sablon", tz);
timezones0.put("America/Boa_Vista", tz);
timezones0.put("America/Caracas", tz);
timezones0.put("America/Curacao", tz);
@@ -318,38 +334,30 @@ public abstract class TimeZone implement
timezones0.put("America/St_Vincent", tz);
timezones0.put("America/Tortola", tz);
tz = new SimpleTimeZone
- (-4000 * 3600, "America/Asuncion",
- Calendar.OCTOBER, 3, Calendar.SUNDAY, 0 * 3600,
- Calendar.MARCH, 2, Calendar.SUNDAY, 0 * 3600);
- timezones0.put("America/Asuncion", tz);
- tz = new SimpleTimeZone
(-4000 * 3600, "America/Campo_Grande",
- Calendar.OCTOBER, 3, Calendar.SUNDAY, 0 * 3600,
- Calendar.FEBRUARY, 3, Calendar.SUNDAY, 0 * 3600);
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 0 * 3600,
+ Calendar.FEBRUARY, -1, Calendar.SUNDAY, 0 * 3600);
timezones0.put("America/Campo_Grande", tz);
timezones0.put("America/Cuiaba", tz);
tz = new SimpleTimeZone
(-4000 * 3600, "America/Goose_Bay",
- Calendar.APRIL, 1, Calendar.SUNDAY, 60000,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 60000);
+ Calendar.MARCH, 2, Calendar.SUNDAY, 60000,
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 60000);
timezones0.put("America/Goose_Bay", tz);
tz = new SimpleTimeZone
- (-4000 * 3600, "America/Santiago",
- Calendar.OCTOBER, 9, -Calendar.SUNDAY, 1000 * 3600,
- Calendar.MARCH, 9, -Calendar.SUNDAY, 0 * 3600);
- timezones0.put("America/Santiago", tz);
- tz = new SimpleTimeZone
(-4000 * 3600, "America/Glace_Bay",
- Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
+ Calendar.MARCH, 2, Calendar.SUNDAY, 2000 * 3600,
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 2000 * 3600);
timezones0.put("America/Glace_Bay", tz);
timezones0.put("America/Halifax", tz);
+ timezones0.put("America/Moncton", tz);
timezones0.put("America/Thule", tz);
timezones0.put("Atlantic/Bermuda", tz);
tz = new SimpleTimeZone
- (-4000 * 3600, "Antarctica/Palmer",
+ (-4000 * 3600, "America/Santiago",
Calendar.OCTOBER, 9, -Calendar.SUNDAY, 0 * 3600,
Calendar.MARCH, 9, -Calendar.SUNDAY, 0 * 3600);
+ timezones0.put("America/Santiago", tz);
timezones0.put("Antarctica/Palmer", tz);
tz = new SimpleTimeZone
(-4000 * 3600, "Atlantic/Stanley",
@@ -358,31 +366,35 @@ public abstract class TimeZone implement
timezones0.put("Atlantic/Stanley", tz);
tz = new SimpleTimeZone
(-3500 * 3600, "CNT",
- Calendar.APRIL, 1, Calendar.SUNDAY, 60000,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 60000);
+ Calendar.MARCH, 2, Calendar.SUNDAY, 60000,
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 60000);
timezones0.put("CNT", tz);
timezones0.put("America/St_Johns", tz);
tz = new SimpleTimeZone
(-3000 * 3600, "America/Godthab",
- Calendar.MARCH, 30, -Calendar.SATURDAY, 23000 * 3600,
+ Calendar.MARCH, 30, -Calendar.SATURDAY, 22000 * 3600,
Calendar.OCTOBER, 30, -Calendar.SATURDAY, 23000 * 3600);
timezones0.put("America/Godthab", tz);
tz = new SimpleTimeZone
(-3000 * 3600, "America/Miquelon",
- Calendar.APRIL, 1, Calendar.SUNDAY, 2000 * 3600,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
+ Calendar.MARCH, 2, Calendar.SUNDAY, 2000 * 3600,
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 2000 * 3600);
timezones0.put("America/Miquelon", tz);
tz = new SimpleTimeZone
+ (-3000 * 3600, "America/Montevideo",
+ Calendar.OCTOBER, 1, Calendar.SUNDAY, 2000 * 3600,
+ Calendar.MARCH, 2, Calendar.SUNDAY, 2000 * 3600);
+ timezones0.put("America/Montevideo", tz);
+ tz = new SimpleTimeZone
(-3000 * 3600, "America/Sao_Paulo",
- Calendar.OCTOBER, 3, Calendar.SUNDAY, 0 * 3600,
- Calendar.FEBRUARY, 3, Calendar.SUNDAY, 0 * 3600);
+ Calendar.NOVEMBER, 1, Calendar.SUNDAY, 0 * 3600,
+ Calendar.FEBRUARY, -1, Calendar.SUNDAY, 0 * 3600);
timezones0.put("America/Sao_Paulo", tz);
tz = new SimpleTimeZone(-3000 * 3600, "AGT");
timezones0.put("AGT", tz);
timezones0.put("America/Araguaina", tz);
timezones0.put("America/Argentina/Buenos_Aires", tz);
timezones0.put("America/Argentina/Catamarca", tz);
- timezones0.put("America/Argentina/ComodRivadavia", tz);
timezones0.put("America/Argentina/Cordoba", tz);
timezones0.put("America/Argentina/Jujuy", tz);
timezones0.put("America/Argentina/La_Rioja", tz);
@@ -396,7 +408,6 @@ public abstract class TimeZone implement
timezones0.put("America/Cayenne", tz);
timezones0.put("America/Fortaleza", tz);
timezones0.put("America/Maceio", tz);
- timezones0.put("America/Montevideo", tz);
timezones0.put("America/Paramaribo", tz);
timezones0.put("America/Recife", tz);
timezones0.put("Antarctica/Rothera", tz);
@@ -405,7 +416,7 @@ public abstract class TimeZone implement
timezones0.put("Atlantic/South_Georgia", tz);
tz = new SimpleTimeZone
(-1000 * 3600, "America/Scoresbysund",
- Calendar.MARCH, -1, Calendar.SUNDAY, 1000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 0 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 1000 * 3600);
timezones0.put("America/Scoresbysund", tz);
timezones0.put("Atlantic/Azores", tz);
@@ -429,22 +440,23 @@ public abstract class TimeZone implement
timezones0.put("Africa/Nouakchott", tz);
timezones0.put("Africa/Ouagadougou", tz);
timezones0.put("Africa/Sao_Tome", tz);
- timezones0.put("Africa/Timbuktu", tz);
timezones0.put("America/Danmarkshavn", tz);
timezones0.put("Atlantic/Reykjavik", tz);
timezones0.put("Atlantic/St_Helena", tz);
- timezones0.put("Europe/Belfast", tz);
- timezones0.put("Europe/Dublin", tz);
- timezones0.put("Europe/London", tz);
tz = new SimpleTimeZone
(0 * 3600, "WET",
- Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 1000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600);
timezones0.put("WET", tz);
timezones0.put("Atlantic/Canary", tz);
- timezones0.put("Atlantic/Faeroe", tz);
+ timezones0.put("Atlantic/Faroe", tz);
timezones0.put("Atlantic/Madeira", tz);
+ timezones0.put("Europe/Dublin", tz);
+ timezones0.put("Europe/Guernsey", tz);
+ timezones0.put("Europe/Isle_of_Man", tz);
+ timezones0.put("Europe/Jersey", tz);
timezones0.put("Europe/Lisbon", tz);
+ timezones0.put("Europe/London", tz);
tz = new SimpleTimeZone(1000 * 3600, "Africa/Algiers");
timezones0.put("Africa/Algiers", tz);
timezones0.put("Africa/Bangui", tz);
@@ -458,7 +470,6 @@ public abstract class TimeZone implement
timezones0.put("Africa/Ndjamena", tz);
timezones0.put("Africa/Niamey", tz);
timezones0.put("Africa/Porto-Novo", tz);
- timezones0.put("Africa/Tunis", tz);
tz = new SimpleTimeZone
(1000 * 3600, "Africa/Windhoek",
Calendar.SEPTEMBER, 1, Calendar.SUNDAY, 2000 * 3600,
@@ -466,12 +477,13 @@ public abstract class TimeZone implement
timezones0.put("Africa/Windhoek", tz);
tz = new SimpleTimeZone
(1000 * 3600, "CET",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("CET", tz);
timezones0.put("ECT", tz);
timezones0.put("MET", tz);
timezones0.put("Africa/Ceuta", tz);
+ timezones0.put("Africa/Tunis", tz);
timezones0.put("Arctic/Longyearbyen", tz);
timezones0.put("Atlantic/Jan_Mayen", tz);
timezones0.put("Europe/Amsterdam", tz);
@@ -490,6 +502,7 @@ public abstract class TimeZone implement
timezones0.put("Europe/Monaco", tz);
timezones0.put("Europe/Oslo", tz);
timezones0.put("Europe/Paris", tz);
+ timezones0.put("Europe/Podgorica", tz);
timezones0.put("Europe/Prague", tz);
timezones0.put("Europe/Rome", tz);
timezones0.put("Europe/San_Marino", tz);
@@ -505,7 +518,7 @@ public abstract class TimeZone implement
timezones0.put("Europe/Zurich", tz);
tz = new SimpleTimeZone
(2000 * 3600, "ART",
- Calendar.APRIL, -1, Calendar.FRIDAY, 1000 * 3600,
+ Calendar.APRIL, -1, Calendar.FRIDAY, 0 * 3600,
Calendar.SEPTEMBER, -1, Calendar.THURSDAY, 24000 * 3600);
timezones0.put("ART", tz);
timezones0.put("Africa/Cairo", tz);
@@ -526,8 +539,8 @@ public abstract class TimeZone implement
timezones0.put("Asia/Jerusalem", tz);
tz = new SimpleTimeZone
(2000 * 3600, "Asia/Amman",
- Calendar.MARCH, -1, Calendar.THURSDAY, 1000 * 3600,
- Calendar.SEPTEMBER, -1, Calendar.THURSDAY, 1000 * 3600);
+ Calendar.MARCH, -1, Calendar.THURSDAY, 0 * 3600,
+ Calendar.OCTOBER, -1, Calendar.FRIDAY, 1000 * 3600);
timezones0.put("Asia/Amman", tz);
tz = new SimpleTimeZone
(2000 * 3600, "Asia/Beirut",
@@ -541,12 +554,12 @@ public abstract class TimeZone implement
timezones0.put("Asia/Damascus", tz);
tz = new SimpleTimeZone
(2000 * 3600, "Asia/Gaza",
- Calendar.APRIL, 3, Calendar.FRIDAY, 0 * 3600,
+ Calendar.APRIL, 1, 0, 0 * 3600,
Calendar.OCTOBER, 3, Calendar.FRIDAY, 0 * 3600);
timezones0.put("Asia/Gaza", tz);
tz = new SimpleTimeZone
(2000 * 3600, "EET",
- Calendar.MARCH, -1, Calendar.SUNDAY, 4000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 4000 * 3600);
timezones0.put("EET", tz);
timezones0.put("Asia/Istanbul", tz);
@@ -568,25 +581,25 @@ public abstract class TimeZone implement
timezones0.put("Europe/Zaporozhye", tz);
tz = new SimpleTimeZone
(2000 * 3600, "Europe/Kaliningrad",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Europe/Kaliningrad", tz);
timezones0.put("Europe/Minsk", tz);
tz = new SimpleTimeZone
(3000 * 3600, "Asia/Baghdad",
- Calendar.APRIL, 1, 0, 4000 * 3600,
+ Calendar.APRIL, 1, 0, 3000 * 3600,
Calendar.OCTOBER, 1, 0, 4000 * 3600);
timezones0.put("Asia/Baghdad", tz);
tz = new SimpleTimeZone
- (3000 * 3600, "Asia/Tbilisi",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ (3000 * 3600, "Europe/Moscow",
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
- timezones0.put("Asia/Tbilisi", tz);
timezones0.put("Europe/Moscow", tz);
+ timezones0.put("Europe/Volgograd", tz);
tz = new SimpleTimeZone(3000 * 3600, "EAT");
timezones0.put("EAT", tz);
timezones0.put("Africa/Addis_Ababa", tz);
- timezones0.put("Africa/Asmera", tz);
+ timezones0.put("Africa/Asmara", tz);
timezones0.put("Africa/Dar_es_Salaam", tz);
timezones0.put("Africa/Djibouti", tz);
timezones0.put("Africa/Kampala", tz);
@@ -606,64 +619,61 @@ public abstract class TimeZone implement
timezones0.put("Asia/Tehran", tz);
tz = new SimpleTimeZone
(4000 * 3600, "Asia/Baku",
- Calendar.MARCH, -1, Calendar.SUNDAY, 1000 * 3600,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 1000 * 3600);
+ Calendar.MARCH, -1, Calendar.SUNDAY, 4000 * 3600,
+ Calendar.OCTOBER, -1, Calendar.SUNDAY, 5000 * 3600);
timezones0.put("Asia/Baku", tz);
tz = new SimpleTimeZone
(4000 * 3600, "Asia/Yerevan",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Asia/Yerevan", tz);
timezones0.put("Europe/Samara", tz);
tz = new SimpleTimeZone(4000 * 3600, "NET");
timezones0.put("NET", tz);
- timezones0.put("Asia/Aqtau", tz);
timezones0.put("Asia/Dubai", tz);
timezones0.put("Asia/Muscat", tz);
- timezones0.put("Asia/Oral", tz);
+ timezones0.put("Asia/Tbilisi", tz);
timezones0.put("Indian/Mahe", tz);
timezones0.put("Indian/Mauritius", tz);
timezones0.put("Indian/Reunion", tz);
tz = new SimpleTimeZone(4500 * 3600, "Asia/Kabul");
timezones0.put("Asia/Kabul", tz);
tz = new SimpleTimeZone
- (5000 * 3600, "Asia/Bishkek",
- Calendar.MARCH, -1, Calendar.SUNDAY, 2500 * 3600,
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 2500 * 3600);
- timezones0.put("Asia/Bishkek", tz);
- tz = new SimpleTimeZone
(5000 * 3600, "Asia/Yekaterinburg",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Asia/Yekaterinburg", tz);
tz = new SimpleTimeZone(5000 * 3600, "PLT");
timezones0.put("PLT", tz);
+ timezones0.put("Asia/Aqtau", tz);
timezones0.put("Asia/Aqtobe", tz);
timezones0.put("Asia/Ashgabat", tz);
timezones0.put("Asia/Dushanbe", tz);
timezones0.put("Asia/Karachi", tz);
+ timezones0.put("Asia/Oral", tz);
timezones0.put("Asia/Samarkand", tz);
timezones0.put("Asia/Tashkent", tz);
timezones0.put("Indian/Kerguelen", tz);
timezones0.put("Indian/Maldives", tz);
- tz = new SimpleTimeZone(5500 * 3600, "IST");
+ tz = new SimpleTimeZone(5500 * 3600, "BST");
+ timezones0.put("BST", tz);
timezones0.put("IST", tz);
timezones0.put("Asia/Calcutta", tz);
+ timezones0.put("Asia/Colombo", tz);
tz = new SimpleTimeZone(5750 * 3600, "Asia/Katmandu");
timezones0.put("Asia/Katmandu", tz);
- tz = new SimpleTimeZone(6000 * 3600, "BST");
- timezones0.put("BST", tz);
+ tz = new SimpleTimeZone(6000 * 3600, "Antarctica/Mawson");
timezones0.put("Antarctica/Mawson", tz);
timezones0.put("Antarctica/Vostok", tz);
timezones0.put("Asia/Almaty", tz);
- timezones0.put("Asia/Colombo", tz);
+ timezones0.put("Asia/Bishkek", tz);
timezones0.put("Asia/Dhaka", tz);
timezones0.put("Asia/Qyzylorda", tz);
timezones0.put("Asia/Thimphu", tz);
timezones0.put("Indian/Chagos", tz);
tz = new SimpleTimeZone
(6000 * 3600, "Asia/Novosibirsk",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Asia/Novosibirsk", tz);
timezones0.put("Asia/Omsk", tz);
@@ -687,7 +697,7 @@ public abstract class TimeZone implement
timezones0.put("Asia/Hovd", tz);
tz = new SimpleTimeZone
(7000 * 3600, "Asia/Krasnoyarsk",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Asia/Krasnoyarsk", tz);
tz = new SimpleTimeZone(8000 * 3600, "CTT");
@@ -710,7 +720,7 @@ public abstract class TimeZone implement
timezones0.put("Australia/Perth", tz);
tz = new SimpleTimeZone
(8000 * 3600, "Asia/Irkutsk",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Asia/Irkutsk", tz);
tz = new SimpleTimeZone
@@ -718,6 +728,8 @@ public abstract class TimeZone implement
Calendar.MARCH, -1, Calendar.SATURDAY, 2000 * 3600,
Calendar.SEPTEMBER, -1, Calendar.SATURDAY, 2000 * 3600);
timezones0.put("Asia/Ulaanbaatar", tz);
+ tz = new SimpleTimeZone(8750 * 3600, "Australia/Eucla");
+ timezones0.put("Australia/Eucla", tz);
tz = new SimpleTimeZone
(9000 * 3600, "Asia/Choibalsan",
Calendar.MARCH, -1, Calendar.SATURDAY, 2000 * 3600,
@@ -733,12 +745,12 @@ public abstract class TimeZone implement
timezones0.put("Pacific/Palau", tz);
tz = new SimpleTimeZone
(9000 * 3600, "Asia/Yakutsk",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Asia/Yakutsk", tz);
tz = new SimpleTimeZone
(9500 * 3600, "Australia/Adelaide",
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Australia/Adelaide", tz);
timezones0.put("Australia/Broken_Hill", tz);
@@ -753,21 +765,21 @@ public abstract class TimeZone implement
timezones0.put("Pacific/Port_Moresby", tz);
timezones0.put("Pacific/Saipan", tz);
timezones0.put("Pacific/Truk", tz);
- timezones0.put("Pacific/Yap", tz);
tz = new SimpleTimeZone
(10000 * 3600, "Asia/Sakhalin",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Asia/Sakhalin", tz);
timezones0.put("Asia/Vladivostok", tz);
tz = new SimpleTimeZone
- (10000 * 3600, "Australia/Hobart",
- Calendar.OCTOBER, 1, Calendar.SUNDAY, 3000 * 3600,
+ (10000 * 3600, "Australia/Currie",
+ Calendar.OCTOBER, 1, Calendar.SUNDAY, 2000 * 3600,
Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600);
+ timezones0.put("Australia/Currie", tz);
timezones0.put("Australia/Hobart", tz);
tz = new SimpleTimeZone
(10000 * 3600, "AET",
- Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.OCTOBER, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("AET", tz);
timezones0.put("Australia/Melbourne", tz);
@@ -779,7 +791,7 @@ public abstract class TimeZone implement
timezones0.put("Australia/Lord_Howe", tz);
tz = new SimpleTimeZone
(11000 * 3600, "Asia/Magadan",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Asia/Magadan", tz);
tz = new SimpleTimeZone(11000 * 3600, "SST");
@@ -793,7 +805,7 @@ public abstract class TimeZone implement
timezones0.put("Pacific/Norfolk", tz);
tz = new SimpleTimeZone
(12000 * 3600, "NST",
- Calendar.OCTOBER, 1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.OCTOBER, 1, Calendar.SUNDAY, 2000 * 3600,
Calendar.MARCH, 3, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("NST", tz);
timezones0.put("Antarctica/McMurdo", tz);
@@ -801,7 +813,7 @@ public abstract class TimeZone implement
timezones0.put("Pacific/Auckland", tz);
tz = new SimpleTimeZone
(12000 * 3600, "Asia/Anadyr",
- Calendar.MARCH, -1, Calendar.SUNDAY, 3000 * 3600,
+ Calendar.MARCH, -1, Calendar.SUNDAY, 2000 * 3600,
Calendar.OCTOBER, -1, Calendar.SUNDAY, 3000 * 3600);
timezones0.put("Asia/Anadyr", tz);
timezones0.put("Asia/Kamchatka", tz);
@@ -816,7 +828,7 @@ public abstract class TimeZone implement
timezones0.put("Pacific/Wallis", tz);
tz = new SimpleTimeZone
(12750 * 3600, "Pacific/Chatham",
- Calendar.OCTOBER, 1, Calendar.SUNDAY, 3750 * 3600,
+ Calendar.OCTOBER, 1, Calendar.SUNDAY, 2750 * 3600,
Calendar.MARCH, 3, Calendar.SUNDAY, 3750 * 3600);
timezones0.put("Pacific/Chatham", tz);
tz = new SimpleTimeZone(13000 * 3600, "Pacific/Enderbury");
Index: gcc41.spec
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41.spec,v
retrieving revision 1.141
retrieving revision 1.142
diff -u -r1.141 -r1.142
--- gcc41.spec 2 Feb 2007 21:17:24 -0000 1.141
+++ gcc41.spec 10 Feb 2007 19:16:44 -0000 1.142
@@ -1,10 +1,10 @@
-%define DATE 20070202
+%define DATE 20070209
%define gcc_version 4.1.1
-%define gcc_release 55
+%define gcc_release 56
%define _unpackaged_files_terminate_build 0
%define multilib_64_archs sparc64 ppc64 s390x x86_64
%define include_gappletviewer 1
-%ifarch %{ix86} x86_64 ia64 ppc
+%ifarch %{ix86} x86_64 ia64 ppc alpha
%define build_ada 1
%else
%define build_ada 0
@@ -116,7 +116,7 @@
Patch7: gcc41-ada-tweaks.patch
Patch8: gcc41-java-slow_pthread_self.patch
Patch9: gcc41-ppc32-retaddr.patch
-Patch10: gcc41-i386-tune-core2.patch
+Patch10: gcc41-amdfam10.patch
Patch11: gcc41-dsohandle.patch
Patch12: gcc41-rh184446.patch
Patch13: gcc41-pr20297-test.patch
@@ -124,7 +124,7 @@
Patch15: gcc41-tests.patch
Patch16: gcc41-pr25874.patch
Patch17: gcc41-pr30189.patch
-Patch18: gcc41-ssse3.patch
+Patch18: gcc41-rh227983.patch
Patch19: gcc41-hash-style-gnu.patch
Patch20: gcc41-pr30001.patch
Patch21: gcc41-java-libdotdotlib.patch
@@ -429,7 +429,7 @@
%patch7 -p0 -b .ada-tweaks~
%patch8 -p0 -b .java-slow_pthread_self~
%patch9 -p0 -b .ppc32-retaddr~
-%patch10 -p0 -b .i386-tune-core2~
+%patch10 -p0 -b .amdfam10~
%patch11 -p0 -b .dsohandle~
%patch12 -p0 -b .rh184446~
%patch13 -p0 -E -b .pr20297-test~
@@ -437,7 +437,7 @@
%patch15 -p0 -b .tests~
%patch16 -p0 -b .pr25874~
%patch17 -p0 -b .pr30189~
-%patch18 -p0 -b .ssse3~
+%patch18 -p0 -b .rh227983~
%patch19 -p0 -b .hash-style-gnu~
%patch20 -p0 -b .pr30001~
%patch21 -p0 -b .java-libdotdotlib~
@@ -1529,6 +1529,15 @@
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
%changelog
+* Sat Feb 10 2007 Jakub Jelinek <jakub at redhat.com> 4.1.1-56
+- update from gcc-4_1-branch (-r121479:121738)
+ - PRs c++/29487, target/29487, target/30370
+- merge gomp fixes from gcc-4_2-branch (-r121689:121690)
+ PR c++/30703
+- add AMDfam10 support (Harsha Jagasia, #222897)
+- set build_ada to 1 on alpha (#224247)
+- regenerate libjava.util.TimeZone data from tzdata2007a (#227888)
+
* Fri Feb 2 2007 Jakub Jelinek <jakub at redhat.com> 4.1.1-55
- update from gcc-4_1-branch (-r121069:121479)
- PRs c++/28988, fortran/30278, libstdc++/30586, middle-end/29683,
--- gcc41-i386-tune-core2.patch DELETED ---
--- gcc41-ssse3.patch DELETED ---
- Previous message (by thread): rpms/kernel/FC-5 linux-2.6-CIFS-null-terminator.patch, NONE, 1.1 linux-2.6-drivers-8139too-poll.patch, NONE, 1.1 kernel-2.6.spec, 1.2287, 1.2288
- Next message (by thread): rpms/gcc/devel .cvsignore,1.194,1.195 sources,1.196,1.197
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list