- 29 Dec, 2003 5 commits
-
-
cp: PR c++/12774 * typeck.c (comp_array_types): Fold non-dependent domains for ABI-1. testsuite: PR c++/12774 * g++.dg/template/array1-1.C: New test. * g++.dg/template/array1-2.C: New test. From-SVN: r75204
Nathan Sidwell committed -
PR c++/13289 * semantics.c (finish_id_expression): Only check if the type of a template argument is integral or enumeration when it is not dependent. * g++.dg/parse/nontype1.C: New test. From-SVN: r75200
Kriang Lerdsuwanakij committed -
PR c++/12403 * parser.c (cp_parser_template_declaration_after_export): Set up template specialization scope in case of explicit specialization. * g++.dg/parse/explicit1.C: New test. * g++.old-deja/g++.pt/explicit71.C: Adjust expected error. From-SVN: r75199
Kriang Lerdsuwanakij committed -
PR c++/13081 * decl.c (duplicate_decls): Preserve inline-ness when redeclaring a function template. PR c++/12613 * decl.c (reshape_init): Reject GNU colon-style designated initializers in arrays. PR c++/13081 * g++.dg/opt/inline6.C: New test. PR c++/12613 * g++.dg/parse/error9.C: New test. From-SVN: r75192
Mark Mitchell committed -
PR c++/13009 * call.c (build_special_member_call): Do not assume that we have a pointer to the complete object in an assignment operator. PR c++/13009 * g++.dg/init/assign1.C: New test. From-SVN: r75189
Mark Mitchell committed
-
- 28 Dec, 2003 1 commit
-
-
PR c++/13070 * decl.c (duplicate_decls): When setting the type of an anticipated declaration, merge the existing type attributes. * g++.dg/warn/format3.C: New test case. From-SVN: r75185
Roger Sayle committed
-
- 25 Dec, 2003 1 commit
-
-
PR c++/13268, c++/13339 * class.c (add_method): Return early when method is error_mark_node. * pt.c (tsubst_friend_function): Return early when new_friend is error_mark_node. From-SVN: r75022
Andrew Pinski committed
-
- 23 Dec, 2003 2 commits
-
-
* c-common.c (flag_abi_version): Default to 2. * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_ABI_VERSION uniformly for versions above 2. * doc/invoke.texi: Update documentation for -fabi-version. * cp-lang.c (cp_expr_size): Return zero for empty classes. * cp-tree.h (warn_if_uknown_interface): Remove unused function. * decl2.c (warn_if_unknown_interface): Likewise. * g++.dg/abi/macro0.C: New test. * g++.dg/abi/macro1.C: Likewise. * g++.dg/abi/macro2.C: Likewise. * g++.dg/abi/bitfield5.C: Add explicit -fabi-version=1 option. * g++.dg/abi/bitfield7.C: Likewise. * g++.dg/abi/dtor2.C: Likewise. * g++.dg/abi/mangle11.C: Likewise. * g++.dg/abi/mangle12.C: Likewise. * g++.dg/abi/mangle14.C: Likewise. * g++.dg/abi/mangle17.C: Likewise. * g++.dg/abi/vbase10.C: Likewise. * g++.dg/abi/vbase14.C: Likewise. * g++.dg/template/qualttp17.C: Likewise. From-SVN: r74973
Mark Mitchell committed -
PR c++/13387 * cp-lang.c (cxx_get_alias_set): Correct logic for a base type. From-SVN: r74968
Nathan Sidwell committed
-
- 22 Dec, 2003 6 commits
-
-
* c-common.c (flag_external_templates): Remove. (flag_alt_external_templates): Likewise. * c-common.h (flag_external_templates): Remove. (flag_alt_external_templates): Likewise. * c-opts.c (c_common_handle_option): Unsupport -falt-external-templates and -ftemplates. * doc/invoke.texi: Remove mention of -fexternal-templates and -falt-external-templates. * decl.c (start_function): Do not check flag_alt_external_templates or flag_external_templates. * decl2.c (warn_if_unknown_interface): Likewise. * lex.c (extract_interface_info): Likewise. * pt.c (lookup_template_class): Likewise. PR c++/12862 * name-lookup.c (pushdecl): Look up all namespace-scope entities in their corresponding namespace. * g++.old-deja/g++.jason/template18.C: Remove. * g++.old-deja/g++.jason/template37.C: Likewise. PR c++/12862 * g++.dg/lookup/ns1.C: New test. From-SVN: r74954
Mark Mitchell committed -
PR c++/12397 * typeck.c (finish_class_member_access_expr): Don't tree IDENTIFIER_NODEs as non-dependent expressions. PR c++/12397 * g++.dg/template/lookup3.C: New test. From-SVN: r74949
Mark Mitchell committed -
2003-12-22 Andrew Pinski <pinskia@physics.uc.edu> PR c++/5050 * tree.c (cp_start_inlining): Remove. (cp_end_inlining): Remove. * cp-lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING): Do not define. (LANG_HOOKS_TREE_INLINING_END_INLINING): Do not define. * cp-tree.h (cp_start_inlining): Do not declare. (cp_end_inlining): Do not declare. PR c++/5050 * g++.dg/template/recurse1.C: New test. From-SVN: r74947
Andrew Pinski committed -
PR c++/12479 * parser.c (cp_parser_declaration_seq_opt): Only issue "extra ;" pedwarn when not in a system header. PR c++/12479 * g++.dg/parse/semicolon1.C: New test. * g++.dg/parse/semicolon1.h: Likewise. From-SVN: r74940
Mark Mitchell committed -
re PR c++/13438 (internal compiler error: tree check: expected identifier_node, have integer_cst in c_parse_error at c-common.c:5921) PR c++/13438 * cp-tree.h (cp_tree_index): Remove CPTI_RECORD_TYPE, CPTI_UNION_TYPE, CPTI_ENUM_TYPE. (record_type_node): Remove. (union_type_node): Likewise. (enum_type_node): Likewise. * decl.c: Remove mention of above tree nodes in comment. * lex.c (cxx_init): Do not assign to record_type_node, union_type_node, or enum_type_node. Simplify handling of class_type_node. PR c++/13438 * g++.dg/parse/error8.C: New test. From-SVN: r74931
Mark Mitchell committed -
PR c++/11554 * init.c (sort_mem_initializers): Add warning. PR c++/11554 * testsuite/g++.dg/warn/ctor-init-1.C: New test. From-SVN: r74926
Mark Mitchell committed
-
- 21 Dec, 2003 1 commit
-
-
* call.c: Fix comment formatting. * class.c: Likewise. * cp-tree.h: Likewise. * cvt.c: Likewise. * cxx-pretty-print.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * error.c: Likewise. * except.c: Likewise. * init.c: Likewise. * name-lookup.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * rtti.c: Likewise. * semantics.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. From-SVN: r74916
Kazu Hirata committed
-
- 20 Dec, 2003 1 commit
-
-
* tree.c (get_unwidened): Decide whether to narrow a bitfield reference based on TYPE_SIZE, not TYPE_PRECISION. * cp/cvt.c (convert_to_void): Don't warn about the RHS of a comma being useless if TREE_NO_UNUSED_WARNING is set. * stmt.c (parse_output_constraint): Warn about in-out constraint that doesn't allow a register. (parse_input_constraint): Warn about matching constraint that doesn't allow a register. From-SVN: r74871
Jason Merrill committed
-
- 19 Dec, 2003 3 commits
-
-
* cvt.c: Remove uses of "register" specifier in declarations of arguments and local variables. * decl.c: Likewise. * decl2.c: Likewise. * expr.c: Likewise. * friend.c: Likewise. * lex.c: Likewise. * name-lookup.c: Likewise. * repo.c: Likewise. * search.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. From-SVN: r74855
Kazu Hirata committed -
PR c++/12795 * name-lookup.c (pushdecl): Do not treated any functions as being "nested" in C++. PR c++/12795 * g++.dg/ext/attrib10.C: New test. From-SVN: r74849
Mark Mitchell committed -
PR c++/13371 * typeck.c (build_modify_expr): Stabilize lhs if we're narrowing. From-SVN: r74846
Jason Merrill committed
-
- 18 Dec, 2003 5 commits
-
-
* c-decl.c (check_bitfield_type_and_width): Remove enum special case suppression of pedwarn. * system.h (ENUM_BITFIELD): Use __extension__. (CHAR_BITFIELD): Likewise. cp/ * cp-tree.h (struct lang_type_header): Remove __extension__. testsuite/ * gcc.dg/bitfld-1.c: Expect warnings for enum bitfields. From-SVN: r74797
Richard Henderson committed -
PR c++/12253 * init.c (build_vec_init): Initialization of an element from an initializer list is also a full-expression. * parser.c, pt.c, semantics.c: Rename constant_expression_p to integral_constant_expression_p. From-SVN: r74790
Jason Merrill committed -
re PR c++/13262 ("xxx is private within this context" when initializing a *self-contained* template class) PR c++/13262 * pt.c (instantiate_decl): Wrap push_nested_class and pop_nested_class around cp_finish_decl call for static member variable. * g++.dg/template/access13.C: New test. From-SVN: r74780
Kriang Lerdsuwanakij committed -
PR c++/9154 * parser.c (cp_parser_template_argument): A type-id followed by '>>' is just an user typo, and should be accepted as last resort if any other parsing fails. (cp_parser_enclosed_template_argument_list): If the argument list is parsed correctly, but the next token is '>>', emit a diagnostic. (cp_parser_next_token_ends_template_argument): Accept '>>' as delimiter of template argument, it will be later detected as a typo. From-SVN: r74776
Giovanni Bajo committed -
2003-12-17 Kelley Cook <kcook@gcc.gnu.org> * Make-lang.in: Replace cp/g++.1 with $(docobjdir)/g++.1. From-SVN: r74766
Kelley Cook committed
-
- 17 Dec, 2003 2 commits
-
-
PR c++/10603 PR c++/12827 * parser.c (cp_parser_error): Help c_parse_error print good messages if the next token is a keyword. (cp_parser_parameter_declaration_list): When resynchronizing after a bad parameter declaration, stop if a comma is found. (cp_parser_parameter_declaration): Avoid backtracking. PR c++/10603 * g++.dg/parse/error6.C: New test. PR c++/12827 * g++.dg/parse/error7.C: New test. From-SVN: r74743
Mark Mitchell committed -
PR c++/12218 * varasm.c (initializer_constant_valid_p): Allow a conversion from an integral constant to an OFFSET_TYPE. PR c++/12696 * decl.c (reshape_init): Recover quickly from errors. PR c++/12218 * g++.dg/init/pm3.C: New test. PR c++/12696 * g++.dg/init/error1.C: New test. From-SVN: r74731
Mark Mitchell committed
-
- 16 Dec, 2003 10 commits
-
-
cp: PR c++/9043 C++ ABI change: Mangling array indices in templates. * decl.c (compute_array_index_type): Reorganize for earlier template errors. Use value_dependent_expression_p for abi-2. * mangle.c (write_array_type): Check broken mangling for expression indices on abi-1 testsuite: PR c++/9043 * g++.dg/abi/mangle20-1.C: New test. * g++.dg/abi/mangle20-2.C: New test. From-SVN: r74707
Nathan Sidwell committed -
From-SVN: r74703
Giovanni Bajo committed -
PR c++/13275 * c-common.h (enum rid): Add RID_OFFSETOF. * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF. * ginclude/stddef.h (offsetof): Reimplement for C++, using __offsetof__. * doc/extend.texi: Document __offsetof__. PR c++/13275 * lex.c (reswords): Add "__offsetof" and "__offsetof__". * parser.c (cp_parser): Add in_offsetof_p. (cp_parser_new): Initialize it. (cp_parser_primary_expression): Handle __offsetof__ (...). (cp_parser_postfix_expression): Allow casts to pointer type and uses of "->" in a constant expression if implementing offsetof. (cp_parser_unary_expression): Allow the use of "&" in a constant expression if implementing offsetof. PR c++/13275 * g++.dg/other/offsetof2.C: Remove XFAIL. * g++.dg/parse/offsetof1.C: New test. * g++.gd/parse/offsetof2.C: Likewise. From-SVN: r74702
Mark Mitchell committed -
* semantics.c (finish_id_expression): Refactor the code to handle template parameters, and emit a more informative error message when they are used within non integral constant expressions. From-SVN: r74700
Giovanni Bajo committed -
cp: PR c++/13387 * class.c (finish_struct_1): Compute mode and alias set for CLASSTYPE_AS_BASE. * call.c (build_over_call): Use CLASSTYPE_AS_BASE for trivial assignment of a class, as necessary. * cp-lang.c (cxx_get_alias_set): The alias set as a base is the same as for the complete type. testsuite: PR c++/13387 * g++.dg/expr/assign1.C: New test. From-SVN: r74683
Nathan Sidwell committed -
cp: PR c++/13242 C++ ABI change. Mangling template parameters of reference type * mangle.c (write_template_args): Remove unreachable code. (write_template_arg): Look through an argument of reference type. testsuite: PR c++/13242 * g++.dg/abi/mangle19-1.C: New test. * g++.dg/abi/mangle19-2.C: New test. From-SVN: r74682
Nathan Sidwell committed -
PR c++/2294 * name-lookup.c (push_overloaded_decl): always construct an OVERLOAD if the declaration comes from an using declaration. From-SVN: r74667
Giovanni Bajo committed -
PR c++/10926 * decl2.c (grokfield): Robustify. PR c++/11116 * parser.c (cp_parser_throw_expression): Determine whether or not an assignment-expression is present by doing one-token lookahead. PR c++/10926 * g++.dg/template/error9.C: New test. PR c++/11116 * g++.dg/template/error8.C: New test. From-SVN: r74664
Mark Mitchell committed -
PR c++/13269 * parser.c (cp_parser_function_definition_after_declarator): Stop scanning tokens when reaching EOF. PR c++/13269 * g++.dg/parse/error5.C: New test. From-SVN: r74661
Mark Mitchell committed -
PR c++/12989 * typeck.c (cxx_sizeof_or_alignof_expr): Robustify. PR c++/12989 * g++.dg/expr/sizeof1.C: New test. From-SVN: r74660
Mark Mitchell committed
-
- 15 Dec, 2003 3 commits
-
-
PR c++/13310 * pt.c (dependent_template_p): Handle OVERLOADs. PR c++/13310 * g++.dg/template/crash15.C: New test. From-SVN: r74649
Mark Mitchell committed -
PR c++/13243 PR c++/12573 * parser.c (cp_parser_postfix_expression): Tighten handling of integral constant expressions. (cp_parser_unary_expression): Likewise. * pt.c (value_dependent_expression_p): Remove handling for COMPONENT_REFs. PR c++/13243 PR c++/12573 * g++.dg/template/crash14.C: New test. * g++.dg/template/dependent-expr3.C: Add dg-error markers. From-SVN: r74637
Mark Mitchell committed -
cp: * class.c (add_method): Disallow destructor for java classes. * decl.c (xref_basetypes): Check java class inheritance. * decl2.c (check_java_method): Skip artificial params. testsuite: * g++.dg/other/java1.C: New test. From-SVN: r74629
Nathan Sidwell committed
-