OSDN Git Service

PR c++/29175
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index c6da5e2..1ac313b 100644 (file)
@@ -1,6 +1,193 @@
+2006-10-11  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/29175
+       * decl.c (check_initializer): Issue errors about trying to
+       initialize arrays whose elements have variable size.
+
+2006-10-11  Lee Millward  <lee.millward@codesourcery.com>
+
+       PR c++/29024
+        * cp-tree (struct cp_decl_specifier_seq): Rename to 
+        conflicting_specifiers_p
+        * parser.c (cp_parser_set_storage_class): Set
+        conflicting_specifiers_p for the input decl specifier 
+        if a typedef specifier is present. Rename uses of
+        multiple_specifiers_p to conflicting_specifiers_p.
+        (cp_parser_decl_specifier_seq) <RID_TYPEDEF>: If a storage 
+        class specifier has already been set for this declaration, 
+        set conflicting_specifiers_p to true on the decl_specs.
+        * decl.c (grokdeclarator): Rename uses of
+        multiple_specifiers_p to conflicting_specifiers_p.
+
+2006-10-10  Brooks Moses  <bmoses@stanford.edu>
+
+       * Make-lang.in: Added "c++.pdf" target support.
+
+2006-10-10  Richard Guenther  <rguenther@suse.de>
+
+       PR rtl-optimization/29323
+       * decl.c (finish_function): Set TREE_NOTHROW only for
+       functions that bind local.
+
+2006-10-09  Richard Henderson  <rth@redhat.com>
+
+       Revert emutls patch.
+
+2006-10-04  Richard Henderson  <rth@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * decl.c (grokvardecl): Don't error if !have_tls.
+       (grokdeclarator): Likewise.
+       * parser.c (cp_parser_omp_threadprivate): Likewise.
+
+2006-10-03  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/29020
+       * friend.c (do_friend): Improve comments; add assertion.
+       * parser.c (cp_parser_nested_name_specifier_opt): Resolve
+       typenames for qualified names used in declarations, even when
+       caching qualified name lookup.
+
+       PR c++/29138
+       * decl2.c (grokfield): Don't handle access declarations here.
+       * parser.c (cp_parser_using_declaration): Handle access
+       declarations too.
+       (cp_parser_block_declaration): Adjust calls to
+       cp_parser_using_declaration.
+       (cp_parser_member_declaration): Likewise.  Use
+       cp_parser_using_declaration to look for access_declarations.
+
+2006-10-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/29291
+       * init.c (build_new): Check for invalid init.
+
+2006-10-02  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/29226
+       * typeck.c (cxx_sizeof_or_alignof_type): Tidy.  In templates, do
+       not try to actually evaluate sizeof for a VLA type.
+
+2006-10-01  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/29105
+       * pt.c (tsubst_baselink): Substituteinto the qualifying scope.
+       * semantics.c (baselink_for_fns): Build a baselink, even when
+       processing a template.
+
+       PR c++/29080
+       * parser.c (cp_parser_postfix_dot_deref_expression): Use
+       BASELINK_ACCESS_BINFO as the qualifying scope when calling
+       adjust_result_of_qualified_name_lookup. 
+
+2006-09-25  Lee Millward  <lee.millward@codesourcery.com>
+
+        PR c++/27329
+        PR c++/26938
+        * cp-tree.h (redeclare_class_template): Adjust declaration
+        to return bool instead of void.
+        * pt.c (redeclare_class_template): Update definition.
+       Return false on error.
+        * decl.c (xref_tag): Return error_mark_node if
+       redeclare_class_template returned false.
+
+       PR c++/27667
+        * cp-tree.h (begin_specialization): Return bool 
+       instead of void.
+        * pt.c (check_specialization_scope): Likwise. 
+       Adjust comment. Return false if a specialization 
+       isn't permitted in the current scope.
+        (begin_specialization): Use the return value of  
+        check_specialization_scope.
+        * parser.c (cp_parser_explicit_specialization): If
+        begin_specialization returned false, skip the rest 
+       of the specialization.
+       
+2006-09-21  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/29016
+       * typeck.c (build_unary_op): Don't form an ADDR_EXPR around a
+       BASELINK.
+
+2006-09-21  Lee Millward  <lee.millward@codesourcery.com>
+
+       PR c++/28861
+       * decl.c (shadow_tag): Return error_mark_node
+        if maybe_process_partial_specialization failed.
+
+       PR c++/28303
+        * decl.c (grokdeclarator): Return error_mark_node on
+        declaration with two or more data types.
+       
+2006-09-20  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR target/27650
+       * class.c (check_for_override): Remove dllimport from virtual
+       methods.
+
+2006-09-18  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR c++/29087
+       * parser.c (cp_parser_labeled_statement): Return nothing.  Do
+       not take in_statement_expr and in_compound as arguments.  Rename
+       to cp_parser_label_for_labeled_statement.  Parse only the label,
+       not the statement.
+       (cp_parser_statement): Parse the statement of a labeled-statement
+       from here, using tail recursion.
+
+2006-09-14  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR C++/29002
+       * init.c (build_zero_init): If we have an error mark node for
+       the array size, return.
+
+2006-09-10  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/28991
+       * cp-objcp-common.c (cxx_staticp): New function.
+       * cp-objcp-common.h (LANG_HOOOKS_STATICP): Use it.
+       * cp-tree.h (cxx_staticp): New function.
+
+2006-09-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/28996
+       * cvt.c (convert_to_void): Strip COMPONENT_REF to functions.
+
+2006-09-08  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/28858
+       * parser.c (cp_parser_skip_until_found): Rename to
+       cp_parser_skip_to_end_of_template_parameter_list.  Remove last two
+       parameters.  Track levels of '< ... >'.  Stop at '{', '}', or ';'.
+       Reorganize.  Adjust comment.
+       (cp_parser_template_declaration_after_export): Adjust call.
+       (cp_parser_enclosed_template_argument_list): Likewise.
+
+2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR C++/28906
+       * init.c (build_new_1): Build a distinct type copy
+       for the array type that was returned from
+       build_cplus_array_type.
+
+2006-09-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/27371
+       * cvt.c (convert_to_void): Enable previous change.
+
+       PR c++/26957
+       * method.c (use_thunk): Clear DECL_HAS_VALUE_EXPR_P on copied
+       parms.
+
+2006-09-07  Simon Martin  <simartin@users.sourceforge.net>
+
+       PR c++/28284
+       * pt.c (fold_non_dependent_expr): Make sure expr is not
+       dereferenced if it is NULL.
+
 2006-09-06  Zak Kipling  <zak@transversal.com>
 
-        PR c++/26195
+       PR c++/26195
        * decl.c (make_rtl_for_nonlocal_decl),
        (start_preparsed_function): Don't use lbasename on
        input_filename when calling get_fileinfo.