diff options
author | Jakub Jelinek <jakub@redhat.com> | 2004-12-09 13:44:15 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2004-12-09 13:44:15 +0000 |
commit | f650a7669ffc003536e3e4f1bdbf8ee2632cdc12 (patch) | |
tree | 866b796563fe9040efe0422f747289dd8bc814b2 | |
parent | 1d1ce00e42bafecf0c3c04218bbda5c1f23046fc (diff) |
cvs update -Pd -jgcc-3_4-branch:2004{1208,1209}
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-3_4-rhl-branch@91948 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 11 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/name-lookup.c | 1 | ||||
-rw-r--r-- | gcc/java/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/java/check-init.c | 5 | ||||
-rw-r--r-- | gcc/java/java-tree.h | 3 | ||||
-rw-r--r-- | gcc/java/parse.y | 9 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/version.c | 2 | ||||
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/c++config | 2 |
12 files changed, 52 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 97bbe5916c5..b2b1fc173d2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-12-07 David Mosberger <davidm@hpl.hp.com> + + PR target/18443 + * config/ia64/ia64.c (ia64_assemble_integer): Add support for + emitting unaligned pointer-sized integers. + 2004-11-26 Jakub Jelinek <jakub@redhat.com> * builtins.c (expand_builtin): Handle BUILT_IN_{,V,F,VF}PRINTF_CHK. diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 2b990da81da..33ed0a67713 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -3321,15 +3321,16 @@ static bool ia64_assemble_integer (rtx x, unsigned int size, int aligned_p) { if (size == POINTER_SIZE / BITS_PER_UNIT - && aligned_p && !(TARGET_NO_PIC || TARGET_AUTO_PIC) && GET_CODE (x) == SYMBOL_REF && SYMBOL_REF_FUNCTION_P (x)) { - if (POINTER_SIZE == 32) - fputs ("\tdata4\t@fptr(", asm_out_file); - else - fputs ("\tdata8\t@fptr(", asm_out_file); + static const char * const directive[2][2] = { + /* 64-bit pointer */ /* 32-bit pointer */ + { "\tdata8.ua\t@fptr(", "\tdata4.ua\t@fptr("}, /* unaligned */ + { "\tdata8\t@fptr(", "\tdata4\t@fptr("} /* aligned */ + }; + fputs (directive[(aligned_p != 0)][POINTER_SIZE == 32], asm_out_file); output_addr_const (asm_out_file, x); fputs (")\n", asm_out_file); return true; diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 64ba6d5e9f1..c0dfc2240ad 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2004-12-08 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/18100 + * name-lookup.c (push_class_level_binding): Diagnose nested + class template with the same name as enclosing class. + 2004-12-04 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> PR c++/17011, c++/17971 diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index d627e0031af..0b6dddb0191 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -2804,6 +2804,7 @@ push_class_level_binding (tree name, tree x) || TREE_CODE (x) == CONST_DECL || (TREE_CODE (x) == TYPE_DECL && !DECL_SELF_REFERENCE_P (x)) + || DECL_CLASS_TEMPLATE_P (x) /* A data member of an anonymous union. */ || (TREE_CODE (x) == FIELD_DECL && DECL_CONTEXT (x) != current_class_type)) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 59f7c2384b3..f2067b3da60 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,11 @@ +2004-12-07 Tom Tromey <tromey@redhat.com> + + PR java/14853: + * java-tree.h (extract_field_decl): Declare. + * parse.y (extract_field_decl): Renamed from + strip_out_static_field_access_decl. No longer static. + * check-init.c (get_variable_decl): Unwrap COMPOUND_EXPRs. + 2004-11-04 Release Manager * GCC 3.4.3 released. diff --git a/gcc/java/check-init.c b/gcc/java/check-init.c index c4e39484410..454aca5e19b 100644 --- a/gcc/java/check-init.c +++ b/gcc/java/check-init.c @@ -164,6 +164,11 @@ static void check_final_reassigned (tree, words); static tree get_variable_decl (tree exp) { + /* A static field can be wrapped in a COMPOUND_EXPR where the first + argument initializes the class. */ + if (TREE_CODE (exp) == COMPOUND_EXPR) + exp = extract_field_decl (exp); + if (TREE_CODE (exp) == VAR_DECL) { if (! TREE_STATIC (exp) || FIELD_FINAL (exp)) diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 22f41bd7523..64fb70a7440 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -1801,4 +1801,7 @@ enum }; #undef DEBUG_JAVA_BINDING_LEVELS + +extern tree extract_field_decl (tree); + #endif /* ! GCC_JAVA_TREE_H */ diff --git a/gcc/java/parse.y b/gcc/java/parse.y index eeda1afae56..dee92735871 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -259,7 +259,6 @@ static tree maybe_build_array_element_wfl (tree); static int array_constructor_check_entry (tree, tree); static const char *purify_type_name (const char *); static tree fold_constant_for_init (tree, tree); -static tree strip_out_static_field_access_decl (tree); static jdeplist *reverse_jdep_list (struct parser_ctxt *); static void static_ref_err (tree, tree, tree); static void parser_add_interface (tree, tree, tree); @@ -9512,12 +9511,12 @@ resolve_field_access (tree qual_wfl, tree *field_decl, tree *field_type) return field_ref; } -/* If NODE is an access to f static field, strip out the class +/* If NODE is an access to a static field, strip out the class initialization part and return the field decl, otherwise, return NODE. */ -static tree -strip_out_static_field_access_decl (tree node) +tree +extract_field_decl (tree node) { if (TREE_CODE (node) == COMPOUND_EXPR) { @@ -14070,7 +14069,7 @@ patch_unaryop (tree node, tree wfl_op) case PREINCREMENT_EXPR: /* 15.14.2 Prefix Decrement Operator -- */ case PREDECREMENT_EXPR: - op = decl = strip_out_static_field_access_decl (op); + op = decl = extract_field_decl (op); outer_field_flag = outer_field_expanded_access_p (op, NULL, NULL, NULL); /* We might be trying to change an outer field accessed using access method. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 638b43ac97b..5a24c0b8fc5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-12-08 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/18100 + * g++.dg/lookup/name-clash4.C: New test. + 2004-11-26 Jakub Jelinek <jakub@redhat.com> * gcc.c-torture/execute/printf-1.c: New test. diff --git a/gcc/version.c b/gcc/version.c index 2914062d01d..259f9773ca5 100644 --- a/gcc/version.c +++ b/gcc/version.c @@ -5,7 +5,7 @@ please modify this string to indicate that, e.g. by putting your organization's name in parentheses at the end of the string. */ -const char version_string[] = "3.4.3 20041207 (Red Hat 3.4.3-8)"; +const char version_string[] = "3.4.3 20041208 (Red Hat 3.4.3-9)"; /* This is the location of the online document giving instructions for reporting bugs. If you distribute a modified version of GCC, diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 573f764eb66..0d609ca83bb 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2004-12-06 Tom Tromey <tromey@redhat.com> + + For PR java/14853: + * testsuite/libjava.compile/PR14853.java: New file. + * testsuite/libjava.compile/PR14853.xfail: New file. + 2004-11-17 Michael Koch <konqueror@gmx.de> * java/net/URL.java (URL): Handle case when argument is null. diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index aee47d95100..7a8ca88533b 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -35,7 +35,7 @@ #include <bits/os_defines.h> // The current version of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20041207 +#define __GLIBCXX__ 20041208 // Allow use of "export template." This is currently not a feature // that g++ supports. |