| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66006 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cp-tree.h (duplicate_tag_error): Remove.
* class.c (duplicate_tag_error): Remove.
* semantics.c (begin_class_definition): Return immediately for a
duplicate class definition.
PR c++/10451
* decl.c (grokdeclarator): Correct logic for "mutable" errors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65998 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* search.c (lookup_fnfields_1): Handle empty slots in the method
vector.
PR c++/10446
* g++.dg/parse/crash3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65962 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/parse/elab1.C: New test.
PR c++/10428
* decl.c (check_elaborated_type_specifier): New function, split
out from ...
(xref_tag): ... here. Use the new function in more places.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65956 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_primary_expression): Reorganize logic for
dealing with name lookup failures.
PR c++/10381
* g++.dg/parse/lookup3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65656 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* c-common.c (finish_label_address_expr): Handle the
error_mark_node.
PR c++/10278
* g++.dg/parse/crash2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65116 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_declarator_id): Clear parser->scope.
PR c++/9639
* g++.dg/parse/crash1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64495 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
simultaneous type/non-type bindings.
* g++.dg/parse/namespace9.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64323 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (build_ptrmemfunc_type): Revert change of 2003-03-09.
* g++.dg/init/ref5.C: New test.
* g++.dg/parse/ptrmem1.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64316 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/parse/namespace8.C: New test.
PR c++/9336
* decl2.c (do_nonmember_using_decl): Do not call duplicate decls
to merge old and new declarations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64216 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cp-tree.h (begin_mem_initializers): Remove.
* parser.c (cp_parser_mem_initializer_list): Inline it here.
Do not call finish_mem_initializers if not in a constructor.
(cp_parser_class_head): Fix typo in error message.
* semantics.c (begin_mem_initializers): Remove.
* testsuite/g++.dg/parser/constructor1.C: New test.
PR c++/9823
* g++.dg/parser/constructor1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63999 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/parse/builtin1.C: New test.
PR c++/9982
* g++.dg/abi/cookie1.C: New test.
* g++.dg/abi/cookie2.C: Likewise.
PR c++/9524
* g++.dg/parse/field1.C: New test.
PR c++/9912
* g++.dg/parse/class1.C: New test.
* g++.dg/parse/namespace7.C: Likewise.
* g++.old-deja/g++.other/decl5.C: Remove XFAILs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63977 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* g++.dg/parse/namespace6.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63452 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
PR c++/9778
* cp/pt.c (tsubst_copy_and_build): For a templated function inside a
scope, process template arguments.
* testsuite/g++.dg/parse/template6.C: New test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63379 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cp-tree.h (CLASSTYPE_PRIMARY_TEMPLATE): New macro.
* parser.c (cp_parser_diagnose_invalid_type_name): Use it.
* pt.c (instantiate_class_template): Don't try to instantiate
dependent types.
(resolve_typename_type): Use CLASSTYPE_PRIMARY_TEMPLATE.
PR c++/5333
* g++.dg/parse/fused-params1.C: Adjust error messages.
* g++.dg/template/nested3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63354 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (grokdeclarator): Do not allow parameters with variably
modified types.
PR c++/9749
* g++.dg/parse/varmod1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63250 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/parse/fused-params1.C: New test.
PR c++/8857
* g++.dg/parse/tmpl-tmpl-operator1.C: New test.
PR c++/8921
* g++.dg/parse/non-dependent1.C: New test.
PR c++/8928
* g++.dg/parse/dupl-tmpl-args1.C: New test.
PR c++/9228
* g++.dg/parse/undefined7.C: New test.
* g++.dg/parse/non-templ1.C: New test.
PR c++/9229
* g++.dg/parse/too-many-tmpl-args1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62499 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/parse/array-size1.C: New test.
PR c++/5657
* g++.dg/parse/undefined3.C: New test.
PR c++/5665
* g++.dg/parse/undefined4.C: New test.
PR c++/5975
* g++.dg/parse/undefined5.C: New test.
PR c++/7259
* g++.dg/parse/tmpl-tmpl-param1.C: New test.
PR c++/8578
* g++.dg/parse/casting-operator1.C: New test.
PR c++/8596
* g++.dg/parse/undefined6.C: New test.
PR c++/8736
* g++.dg/parse/missing-template1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62409 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
* call.c (build_field_call): Use build_new_op, not build_opfncall.
(prep_operand): New function.
(build_new_op): Use it. Remove dead code.
* class.c (pushclass): Change "modify" parameter type from int to
bool.
(currently_open_class): Use same_type_p, not pointer equality.
(push_nested_class): Adjust calls to pushclass, remove modify
parameter.
* cp-tree.h (INTEGRAL_OR_ENUMERATION_TYPE_P): New macro.
(pushclass): Change prototype.
(push_nested_class): Likewise.
(grokoptypename): Remove.
(build_opfncall): Remove.
(value_dependent_expression_p): Declare.
(resolve_typename_type): Likewise.
(resolve_typename_type_in_current_instantiation): Likewise.
(enter_scope_of): Remove.
(tsubst): Remove.
(tsubst_expr): Likewise.
(tsubst_copy): Likewise.
(tsubst_copy_and_build): Likewise.
* decl.c (warn_about_implicit_typename_lookup): Remove.
(finish_case_label): Return error_mark_node for erroneous labels.
(start_decl): Adjust calls to push_nested_class.
(grokfndecl): Call push_scope/pop_scope around call to
duplicate_decls.
(grokdeclarator): Do not call tsubst.
(start_function): Adjust calls to push_nested_class.
* decl2.c (grok_array_decl): Use build_new_op, not build_opfncall.
(check_classfn): Use push_scope/pop_scope around type comparisions.
(grokoptypename): Remove.
(push_sscope): Adjust call to push_nested_class.
* error.c (dump_type): Show cv-qualification of typename types.
* init.c (build_member_call): Use build_new_op, not
build_opfncall.
* method.c (build_opfncall): Remove.
* parser.c (cp_parser): Add allow_non_constant_expression_p and
non_constant_expression_p.
(cp_parser_constant_expression): Adjust prototype.
(cp_parser_resolve_typename_type): Remove.
(cp_parser_non_constant_expression): New function.
(cp_parser_non_constant_id_expression): Likewise.
(cp_parser_new): Set allow_non_constant_expression_p and
non_constant_expression_p.
(cp_parser_primary_expression): Reject `this' and `va_arg' in
constant-expressions. Note that dependent names aren't really
constant.
(cp_parser_postfix_expression): Reject conversions to non-integral
types in constant-expressions. Neither are increments or
decrements.
(cp_parser_unary_expression): Reject increments and decrements in
constant-expressions.
(cp_parser_direct_new_declarator): Adjust call to
cp_parser_constant_expression.
(cp_parser_cast_expression): Reject conversions to non-integral
types in constant-expressions.
(cp_parser_assignment_expression): Rejects assignments in
constant-expressions.
(cp_parser_expression): Reject commas in constant-expressions.
(cp_parser_labeled_statement): Adjust call to
cp_parser_constant_expression.
(cp_parser_direct_declarator): Simplify array bounds, even in
templates, when they are non-dependent. Use
resolve_typename_type, not cp_parser_resolve_typename_type.
(cp_parser_class_head): Use resolve_typename_type, not
cp_parser_resolve_typename_type.
(cp_parser_member_declaration): Adjust call to
cp_parser_constant_expression.
(cp_parser_constant_initializer): Likewise.
(cp_parser_constructor_declarator): Use resolve_typename_type, not
cp_parser_resolve_typename_type.
(cp_parser_late_parsing_default_args): Adjust call to
push_nested_class.
* pt.c (tsubst): Give it internal linkage.
(tsubst_expr): Likewise.
(tsubst_copy): Likewise.
(tsubst_copy_and_build): Likewise.
(push_access_scope_real): Likewise.
(tsubst_friend_class): Likewise.
(instantiate_class_template): Adjust call to pushclass.
(value_dependent_expression_p): Give it external linkage.
Robustify.
(resolve_typename_type): New function.
* semantics.c (finish_call_expr): Use build_new_op, not
build_opfncall.
(begin_constructor_declarator): Remove.
(begin_class_definition): Adjust call to pushclass.
(enter_scope_of): Remove.
* typeck.c (comptypes): Resolve typename types as appropriate.
(build_x_indirect_ref): Use build_new_op, not build_opfncall.
(build_x_compound_expr): Likewise.
(build_modify_expr): Likewise.
(build_x_modify_expr): Likewise.
* typeck2.c (build_x_arrow): Likewise.
* g++.dg/parser/constant1.C: New test.
* include/std/std_limits.h (numeric_limits<float>::has_infinity):
Use __FLT_HAS_INIFINITY__ to initialize.
(numeric_limits<float>::has_quiet_NaN): Likewise.
(numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
to initialize.
(numeric_limits<double>::has_quiet_NaN): Likewise.
(numeric_limits<long double>::has_infinity): Use
__LDBL_HAS_INIFINITY__ to initialize.
(numeric_limits<long_double>::has_quiet_NaN): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62130 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_elaborated_type_specifier): Convert
TEMPLATE_DECL to TYPE_DECL only when processing template friends.
(cp_parser_maybe_treat_template_as_class): Remove redundant tests.
* g++.dg/parse/friend2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62076 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/3902
* parser.c (cp_parser_decl_specifier_seq): Cannot have constructor
inside a declarator.
testsuite:
PR c++/3902
* g++.dg/parse/template5.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61987 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/9403
* parser.c (cp_parser_class_or_namespace_name): Reject duplicate
template keyword.
(cp_parser_base_specifier): Look for and consume a
TEMPLATE keyword. Replace switch with array index.
PR c++/795
* semantics.c (finish_non_static_data_member): Remember the
field's type even in a template.
PR c++/9415
* pt.c (tsubst_copy_and_build, CALL_EXPR): BASELINK exprs are
already scoped.
PR c++/8545
* parser.c (cp_parser_cast_expression): Be more tentative.
testsuite:
PR c++/9403
* g++.dg/parse/template3.C: New test.
* g++.old-deja/g++.pt/memclass5.C: Add needed template keyword.
PR c++/795
* g++.dg/parse/template4.C: New test.
PR c++/9415
* g++.dg/template/qual2.C: New test.
PR c++/8545
* g++.old-deja/g++.brendan/parse3.C: Remove XFAIL.
* g++.old-deja/g++.ns/bogus1.C: Change expected error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61791 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* g++.dg/parse/undefined1.C: Add error message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61742 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* init.c (build_new): Set the type of the new-expression, even
when processing_templte_decl.
PR c++/9216
* parser.c (cp_parser_primary_expression): Improve error message
for templates used in an expression context.
PR c++/8696
* parser.c (cp_parser_decl_specifier_seq): Commit to tentative
parse when encountering "typedef".
PR c++/9354
* g++.dg/parse/new1.C: New test.
PR c++/9216
* g++.dg/parse/template2.C: New test.
PR c++/9354
* g++.dg/parse/typedef2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61643 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/parse/ret-type1.C: New test.
PR c++/3792
* g++.dg/parse/tmpl-outside1.C: New test.
PR c++/4207
* g++.dg/parse/int-as-enum1.C: New test.
PR c++/4903
* g++.dg/parse/no-typename1.C: New test.
PR c++/5533
* g++.dg/parse/no-value1.C: New test.
PR c++/5921
* g++.dg/parse/wrong-inline1.C: New test.
PR c++/6402
* g++.dg/parse/ref1.C: New test.
PR c++/6992
* g++.dg/parse/attr-ctor1.C: New test.
PR c++/7229
* g++.dg/parse/namespace5.C: New test.
PR c++/7917
* g++.dg/parse/func-def1.C: New test.
PR c++/8143
* g++.dg/parse/undefined1.C: New test.
PR c++/5723, PR c++/8522
* g++.dg/parse/specialization1.C: New test.
PR c++/163, PR c++/8595
* g++.dg/parse/struct-as-enum1.C: New test.
PR c++/9173
* g++.dg/parse/undefined2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61624 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_consume_semicolon_at_end_of_statement): New
function.
(cp_parser_expression_statement): Use it.
(cp_parser_explicit_instantiation): Likewise.
* pt.c (do_decl_instantiation): Improve error handling logic.
PR c++/9298
* g++.dg/parse/template1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61618 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_using_declaration): Issue error messages
about name resolution failures here.
PR c++/9384
* g++.dg/parse/using1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61611 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* class.c (currently_open_derived_class): Use dependent_type_p.
* cp-tree.h (dependent_type_p): New function.
(dependent_template_arg_p): Likewise.
(dependent_template_p): Likewise.
(type_dependent_expression_p): Likewise.
* parser.c (cp_parser_dependent_type_p): Remove.
(cp_parser_value_dependent_type_p): Likewise.
(cp_parser_type_dependent_expression_p): Likewise.
(cp_parser_dependent_template_arg_p): Likewise.
(cp_parser_dependent_template_id_p): Likewise.
(cp_parser_dependent_template_p): Likewise.
(cp_parser_diagnose_invalid_type_name): Replace
cp_parser_dependent_type_p with dependent_type_p, etc.
(cp_parser_primary_expresion): Likewise.
(cp_parser_nested_name_specifier_opt): Likewise.
(cp_parser_postfix_expression): Likewise.
(cp_parser_unary_expression): Likewise.
(cp_parser_template_name): Likewise.
(cp_parser_class_name): Likewise.
(cp_parser_lookup_name): Likewise.
* pt.c (dependent_type_p): New function.
(value_dependent_expression_p): Likewise.
(type_dependent_expression_p): Likewise.
(dependent_template_arg_p): Likewise.
(dependent_template_id_p): Likewise.
(dependent_template_p): Likewise.
PR c++/9285
PR c++/9294
* parser.c (cp_parser_simple_declaration):
PR c++/9285
PR c++/9294
* g++.dg/parse/expr2.C: New test.
PR c++/9388
* g++.dg/parse/lookup2.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61596 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cp-tree.def (BASELINK): Make it class 'x', not class 'e'.
* cp-tree.h (BASELINK_BINFO): Adjust.
(BASELINK_FUNCTIONS): Likewise.
(BASELINK_ACCESS_BINFO): Likewise.
(tree_baselink): New structure.
(cp_tree_node_structure_enum): Add TS_CP_BASELINK.
(lang_tree_node): Add baselink.
* decl.c (cp_tree_node_structure): Add BASELINK case.
* search.c (build_baselink): Adjust.
* tree.c (cp_walk_subtrees): Add BASELINK case. Remove BASELINK_P
test from TREE_LIST case.
PR c++/9272
* parser.c (cp_parser_constructor_declarator_p): Do not assume
that a constructor cannot be declared outside of its own class.
* parser.c (cp_parser_resolve_typename_type): If the scope cannot
be resolved, neither can the qualified name.
* rtti.c (get_pseudo_ti_desc): Fix thinko.
PR c++/9272
* g++.dg/parse/ctor1.C: New test.
PR c++/9294:
* g++.dg/parse/qualified1.C: New test.
* g++.dg/parse/typename3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61456 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(PARTIAL_INSTANTIATION_P): Remove.
(IMPLICIT_TYPENAME_P): Likewise.
(IMPLICIT_TYPENAME_TYPE_DECL_P): Likewise.
(build_typename_type): Remove declaration.
(parmlist_is_exprlist): Likewise.
* decl.c (build_typename_type): Make it static, remove third
parameter.
(push_class_binding): Don't do implicit typename stuff.
(make_typename_type): Likewise.
(lookup_name_real): Likewise.
(grokdeclarator): Don't try to convert declarations into
initializations. Don't do implicit typename stuff.
(parmlist_is_exprlist): Remove.
(xref_basetypes): Simplify.
* decl2.c (grokfield): Don't try to convert declarations into
initializations.
(build_anon_union_vars): Do this while processing templates, too.
(finish_anon_union): Likewise.
* error.c (dump_type): Remove implicit typename handling.
* parser.c (cp_parser_diagnose_invalid_type_name): New method.
(cp_parser_primary_expression): Correct handling of names not
found by unqualified name lookup in templates.
(cp_parser_nested_name_specifier_opt): Avoid checking dependency
of types when possible.
(cp_parser_simple_declaration): Complain intelligently about some
invalid declarations.
(cp_parser_member_declaration): Likewise.
(cp_parser_constructor_declarator_p): Don't check when we're in a
function scope.
* pt.c (instantiate_class_template): Remove
PARTIAL_INSTANTIATION_P gunk.
* search.c (lookup_field_r): Don't build implicit typenames.
(marked_pushdecls_p): Don't enter dependent base types.
(unmarked_pushdecls_p): Likewise.
* semantics.c (begin_class_definition): Remove implicit typename
stuff.
* config/locale/gnu/messages_members.h: Use this-> to refer to
unqualified members of base clasess.
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
* include/bits/codecvt.h: Likewise.
* include/bits/deque.tcc: Likewise.
* include/bits/fstream.tcc: Likewise.
* include/bits/istream.tcc: Likewise.
* include/bits/list.tcc: Likewise.
* include/bits/locale_facets.h: Likewise.
* include/bits/ostream.tcc: Likewise.
* include/bits/sstream.tcc: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_tree.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/vector.tcc: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/ext/stdio_filebuf.h: Likewise.
* include/ext/stl_rope.h: Likewise.
* include/std/std_fstream.h: Likewise.
* include/std/std_sstream.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61403 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
PR C++/9212
* parser.c (cp_parser_direct_declarator): If accepting either
abstract or named, the name must be an unqualified-id.
testsuite:
* g++.dg/parse/ambig2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61399 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/9264
* parser.c (cp_parser_elaborated_type_specifier): Handle erroneous
typeame types more robustly.
PR c++/9172
* g++.dg/parse/typename1.C: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61236 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* c-lex.c (c_lex): Set the token value to error_mark_node for
invalid numeric constants.
PR c++/9264
* g++.dg/parse/octal1.C: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61235 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_scope_through_which_access_occurs): Handle
an object_type which is not a class type.
PR c++/9120
* g++.dg/parse/dtor1.C: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61174 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/rtti/typeid1.C: New file.
PR c++/9153
* g++.dg/parse/lookup1.C: New file.
PR c++/9171
* g++.dg/templ/spec5.C: New file.
* cp-tree.h (reparse_absdcl_as_expr): Remove.
(reparse_absdcl_as_casts): Likewise.
(reparse_decl_as_expr): Likewise.
(finish_decl_parsing): Likewise.
* decl2.c (reparse_absdcl_as_expr): Remove.
(reparse_absdcl_as_casts): Likewise.
(repase_decl_as_expr): Likewise.
(finish_decl_parsing): Likewise.
PR c++/9128
PR c++/9153
PR c++/9171
* parser.c (cp_parser_pre_parsed_nested_name_specifier): New
function.
(cp_parser_nested_name_specifier_opt): Correct the
check_dependency_p false.
(cp_parser_postfix_expression): Fix formatting.
(cp_parser_decl_specifier_seq): Avoid looking for constructor
declarators when possible.
(cp_parser_template_id): Avoid performing name-lookup when
possible.
(cp_parser_class_head): Do not count specializations when counting
levels of templates.
(cp_parser_constructor_declarator_p): Return immediately if
there's no chance that the tokens form a constructor declarator.
* rtti.c (throw_bad_typeid): Add comment. Do not return an
expression with reference type.
(get_tinfo_decl_dynamic): Do not return an expression with
reference type.
(build_typeid): Add comment. Do not return an expression with
reference type.
* typeck.c (build_class_member_access_expr): Improve handling of
conditionals and comma-expressions as objects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61166 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser): Remove default_arg_types. Update
documentation for unparsed_functions_queues.
(cp_parser_late_parsing_default_args): Take a FUNCTION_DECL as the
parameter.
(cp_parser_new): Don't set parser->default_arg_types.
(cp_parser_function_definition): Adjust usage of
unparsed_funtions_queues.
(cp_parser_class_specifier): Don't mess with
parser->default_arg_types. Handle default argument processing in
a separate phase from function body processing.
(cp_parser_template_declaration_after_export): Adjust usage of
unparsed_functions_queues.
(cp_parser_late_parsing_for_member): Do not handle default
arguments.
PR c++/9189
* g++.dg/parse/defarg3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60956 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/9109
* parser.c (cp_parser_declarator_kind): New enum.
(cp_parser_declarator): Adjust.
(cp_parser_direct_declarator): Adjust. Allow for either named or
abstract declarator. Prefer abstract, if possible. Allow
parenthesized function name.
(cp_parser_condition): Adjust cp_parser_declarator call.
(cp_parser_explicit_instantiation): Likewise.
(cp_parser_init_declarator): Likewise.
(cp_parser_type_id): Likewise.
(cp_parser_function_definition): Likewise.
(cp_parser_member_declaration): Likewise.
(cp_parser_parameter_declaration): Use cp_parser_declarator to do
the tentative parsing.
(cp_parser_exception_declaration): Likewise.
testsuite:
* g++.dg/parse/ambig1.C: New test.
* g++.dg/parse/defarg2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60944 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* g++.dg/parse/namespace4.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60880 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60833 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60832 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60828 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60805 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60795 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60758 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60753 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60750 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60746 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
angle-bracket1.C.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60745 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60744 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60741 138bc75d-0d04-0410-961f-82ee72b054a4
|