| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_template_id): Add tag_type parm.
(cp_parser_template_name): Likewise.
(cp_parser_id_expression, cp_parser_unqualified_id): Adjust.
(cp_parser_pseudo_destructor_name, cp_parser_type_name): Adjust.
(cp_parser_simple_type_specifier, cp_parser_class_name): Adjust.
(cp_parser_elaborated_type_specifier, cp_parser_class_head): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189024 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
messages reported for one line of source code.
* g++.dg/cpp0x/constexpr-decl.C: Likewise.
* g++.dg/cpp0x/decltype2.C: Likewise.
* g++.dg/cpp0x/decltype3.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-syntax1.C: Likewise.
* g++.dg/cpp0x/regress/error-recovery1.C: Likewise.
* g++.dg/cpp0x/static_assert3.C: Likewise.
* g++.dg/cpp0x/udlit-cpp98-neg.C: Likewise.
* g++.dg/cpp0x/udlit-shadow-neg.C: Likewise.
* g++.dg/cpp0x/union1.C: Likewise.
* g++.dg/cpp0x/variadic-ex10.C: Likewise.
* g++.dg/cpp0x/variadic-ex14.C: Likewise.
* g++.dg/cpp0x/variadic2.C: Likewise.
* g++.dg/cpp0x/variadic20.C: Likewise.
* g++.dg/cpp0x/variadic74.C: Likewise.
* g++.dg/diagnostic/bitfld2.C: Likewise.
* g++.dg/ext/attrib44.C: Likewise.
* g++.dg/ext/no-asm-1.C: Likewise.
* g++.dg/other/error34.C: Likewise.
* g++.dg/parse/crash46.C: Likewise.
* g++.dg/parse/error10.C: Likewise.
* g++.dg/parse/error2.C: Likewise.
* g++.dg/parse/error3.C: Likewise.
* g++.dg/parse/error36.C: Likewise.
* g++.dg/parse/error8.C: Likewise.
* g++.dg/parse/error9.C: Likewise.
* g++.dg/parse/parser-pr28152-2.C: Likewise.
* g++.dg/parse/parser-pr28152.C: Likewise.
* g++.dg/parse/template25.C: Likewise.
* g++.dg/parse/typename11.C: Likewise.
* g++.dg/tc1/dr147.C: Likewise.
* g++.dg/template/deduce3.C: Likewise.
* g++.dg/template/koenig9.C: Likewise.
* g++.dg/template/pr23510.C: Likewise.
* g++.dg/warn/pr12242.C: Likewise.
* g++.dg/warn/pr30551-2.C: Likewise.
* g++.dg/warn/pr30551.C: Likewise.
* g++.old-deja/g++.other/typename1.C: Likewise.
* g++.old-deja/g++.pt/niklas01a.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188677 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The location for a built-in macro token is BUILTIN_LOCATION. When we
see that location value, we cannot know if that token was used in a
system header or not. And that can trigger some unwanted warnings on
e.g, the use of __LONG_LONG_MAX__ built-in macro in system headers
when we compile with -pedantic, like in the test case accompanying
this patch.
In that case, I think we ought to step-up to see where the built-in
macro has been expanded, until we see a location that is not for a
built-in macro. Then we can check if the resulting location is in a
system header or not.
Now that we step up to the location of first non-built-in-macro token,
it appeared that for
testsuite/c-c++-common/dfp/convert-int-saturate.c, G++ then fails to
emit the warning in:
volatile unsigned int usi;
int
main ()
{
usi = DEC32_MAX; /* { dg-warning "overflow in implicit constant conversion" } */
...
}
Because DEC32_MAX is defined in the system header float.h as a
built-in macro:
#define DEC32_MAX __DEC32_MAX__
And during the parsing of the assignment expression that should have
led to the warning above, input_location is set to the location for
the DEC32_MAX, which is actually the location for the built-in
__DECL32_MAX_EXP.
A possible fix is to use the location of the "=" operator as the
default location for assignment expressions. This is what the patch
does.
I had to adjust a couple of tests to arrange for this.
Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
libcpp/
PR preprocessor/53463
* line-map.c (linemap_location_in_system_header_p): For built-in
macro tokens, check the first expansion point location for that is
not for a token coming from a built-in macro.
gcc/cp/
PR preprocessor/53463
* parser.c (cp_parser_assignment_expression): Use the location
for the LHS as the default location for the expression.
gcc/testsuite/
PR preprocessor/53463
* g++.dg/cpp/limits.C: New test.
* g++.dg/parse/error19.C: Adjust.
* g++.dg/warn/Wconversion-real-integer2.C: Likewise.
* g++.dg/warn/pr35635.C: Likewise.
* g++.old-deja/g++.pt/assign1.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188203 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_binary_expression): Bail early if we're parsing
tentatively and the LHS has a parse error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188127 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2012-06-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/26155
* name-lookup.c (push_namespace): When error recovery is
impossible just error out in duplicate_decls.
/testsuite
2012-06-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/26155
* g++.dg/parse/namespace-alias-1.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188113 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2012-05-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53491
* tree.c (stabilize_expr): Handle exp of void type.
/testsuite
2012-05-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53491
* g++.dg/parse/crash60.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187917 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/39681
* parser.c (cp_parser_new_type_id): Early return error_mark_node
if the cp_parser_type_specifier_seq call has type_specifier_seq.type
error_mark_node; tidy.
(cp_parser_new_expression): Always initialize nelts to NULL_TREE to
avoid uninitialized warnings.
(cp_parser_init_declarator, cp_parser_late_parse_one_default_arg):
Call cp_parser_skip_to_end_of_statement if cp_parser_initializer
returns error_mark_node.
/testsuite
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/39681
* g++.dg/parse/error48.C: New.
* g++.dg/cpp0x/error8.C: Likewise.
* g++.dg/ext/utf-cxx98.C: Adjust dg-error directive.
* g++.dg/ext/utf-dflt2.C: Likewise.
* g++.dg/ext/utf-gnuxx98.C: Likewise.
* g++.dg/ext/utf-dflt.C: Likewise.
* c-c++-common/raw-string-3.c: Likewise.
* c-c++-common/raw-string-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187634 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44516
* typeck.c (build_x_array_ref, build_x_conditional_expr,
build_x_compound_expr, build_x_modify_expr): Add location_t parameter.
(finish_class_member_access_expr, build_x_indirect_ref,
build_x_binary_op, build_x_compound_expr_from_list,
build_x_compound_expr_from_vec): Adjust callers.
* tree.c (build_min_nt_loc): New.
(build_min_nt): Remove.
* typeck2.c (build_x_arrow): Adjust callers.
* pt.c (tsubst_qualified_id, tsubst_omp_for_iterator,
tsubst_copy_and_build): Likewise.
* semantics.c (finish_mem_initializers, handle_omp_for_class_iterator,
finish_omp_atomic): Likewise.
* decl2.c (grok_array_decl, build_anon_union_vars): Adjust.
* parser.c (cp_parser_question_colon_clause,
cp_parser_assignment_expression, cp_parser_expression,
cp_parser_template_id, cp_parser_omp_for_loop): Likewise.
* cp-tree.h: Update.
gcc/testsuite
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44516
* g++.dg/parse/error48.C: New.
* g++.dg/template/crash89.C: Adjust dg-error line numbers.
* g++.old-deja/g++.robertl/eb109.C: Add column info to dg-error string.
libstdc++
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44516
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
dg-error line number.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187627 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (struct cp_parser_expression_stack_entry): Add location_t
field.
(cp_parser_binary_expression): Rework to always update at the same
time tree_type and loc.
* call.c (print_z_candidate): Add location_t parameter.
(print_z_candidates, convert_like_real, joust): Adjust.
/testsuite
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/parse/error47.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187424 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53158
* cvt.c (ocp_convert): Error out early for void -> bool conversions.
* typeck.c (decay_conversion): Use error_at.
* call.c (build_integral_nontype_arg_conv, convert_like_real,
convert_arg_to_ellipsis, perform_implicit_conversion_flags,
initialize_reference): Likewise.
* cvt.c (warn_ref_binding): Add location_t parameter.
(cp_convert_to_pointer, convert_to_reference, ocp_convert,
convert_to_void, ): Use error_at and warning_at.
/c-family
2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53158
* c-common.c (warnings_for_convert_and_check): Use warning_at.
/testsuite
2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53158
* g++.dg/cpp0x/lambda/lambda-err2.C: New.
* g++.dg/parse/error26.C: Tweak dg-error column number.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187380 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52599
* semantics.c (build_constexpr_constructor_member_initializers):
Check for function-try-block as function-body.
/testsuite
2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52599
* g++.dg/cpp0x/constexpr-ctor10.C: New.
/cp
2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53003
* parser.c (cp_parser_member_declaration): Check that
initializer_token_start is non null before dereferencing it.
/testsuite
2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53003
* g++.dg/parse/crash59.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186541 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49152
* call.c (op_error): Print types; when flag_diagnostics_show_caret
is false print expressions too.
(op_error_string): Add.
/testsuite
2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49152
* g++.dg/diagnostic/operator1.C: New.
* g++.dg/ext/label5.C: Adjust.
* g++.dg/ext/va-arg1.C: Likewise.
* g++.dg/other/error20.C: Likewise.
* g++.dg/other/error20.C: Likewise.
* g++.dg/other/error16.C: Likewise.
* g++.dg/other/error10.C: Likewise.
* g++.dg/parse/error30.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-err1.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186499 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51223
* call.c (build_over_call): Check for error_mark_node as
TREE_VALUE when default arguments are processed.
/testsuite
2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51223
* g++.dg/parse/crash58.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183472 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
PR c++/47450
* parser.c (cp_parser_new_expression): Set
type_definition_forbidden_message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182975 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/16603
* decl.c (build_enumerator): Don't call perform_integral_promotions
on the value.
/testsuite
2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/16603
* g++.dg/parse/enum8.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182776 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
| |
* parser.c (cp_parser_ptr_operator): Reject pointer to member of enum.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182452 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* decl.c (start_enum): Avoid using ENUM_UNDERLYING_TYPE on a
non-enum.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182441 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* typeck2.c (cxx_incomplete_type_diagnostic): Don't
ICE if TREE_OPERAND (value, 1) is overloaded.
* g++.dg/parse/error45.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182089 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc/cp/
PR c++/51145
* decl.c (check_elaborated_type_specifier): Gracefully handle
error_mark_node. Accept bound template template parameters.
Update diagnostics for alias template specializations. Update
comment.
* parser.c (cp_parser_elaborated_type_specifier): Use
check_elaborated_type_specifier for simple-template-ids as well.
gcc/testsuite/
PR c++/51145
* g++.dg/cpp0x/alias-decl-14.C: New test.
* g++.dg/cpp0x/alias-decl-2.C: Adjust for tests that were wrongly
passing before.
* g++.dg/cpp0x/alias-decl-10.C: Likewise and adjust for diagnostic
change.
* g++.dg/ext/attrib27.C: Adjust for diagnostic change.
* g++.dg/lookup/struct1.C: Likewise.
* g++.dg/parse/elab1.C: Likewise.
* g++.dg/parse/elab2.C: Likewise.
* g++.dg/parse/int-as-enum1.C: Likewise.
* g++.dg/parse/typedef1.C: Likewise.
* g++.dg/parse/typedef3.C: Likewise.
* g++.dg/parse/typedef4.C: Likewise.
* g++.dg/parse/typedef5.C: Likewise.
* g++.dg/template/crash26.C: Likewise.
* g++.dg/template/nontype4.C: Likewise.
* g++.old-deja/g++.benjamin/typedef01.C: Likewise.
* g++.old-deja/g++.brendan/line1.C: Likewise.
* g++.old-deja/g++.other/elab1.C: Likewise.
* g++.old-deja/g++.other/syntax4.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181653 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/25994
PR c++/26256
PR c++/30195
* search.c (lookup_field_1): Look through USING_DECL.
(lookup_field_r): Call lookup_fnfields_slot instead of
lookup_fnfields_1.
* semantics.c (finish_member_declaration): Remove the check that
prevents USING_DECLs from being verified by
pushdecl_class_level. Call add_method for using declarations that
designates functions if the using declaration is in a template
class. Set DECL_IGNORED_P on class-scope using declarations.
* typeck.c (build_class_member_access_expr): Handle USING_DECLs.
* class.c (check_field_decls): Keep using declarations.
(add_method): Remove two diagnostics about conflicting using
declarations.
* parser.c (cp_parser_nonclass_name): Handle USING_DECLs.
* decl.c (start_enum): Call xref_tag whenever possible.
* cp-tree.h (strip_using_decl): Declare, and reident the previous
function.
* name-lookup.c (strip_using_decl): New function.
(supplement_binding_1): Call strip_using_decl on decl and
bval. Perform most of the checks with USING_DECLs stripped. Also
check that the target decl and the target bval does not refer to
the same declaration. Allow pushing an enum multiple times in a
template class. Adjustment to diagnose using redeclarations. Call
diagnose_name_conflict.
(push_class_level_binding): Call strip_using_decl on decl and
bval. Perform most of the checks with USING_DECLs stripped. Return
true if both decl and bval refer to USING_DECLs and are dependent.
(diagnose_name_conflict): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181359 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* pt.c (convert_nontype_argument_function): Allow decls with
internal linkage in C++11.
(convert_nontype_argument): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181280 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181221 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2011-11-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50864
* parser.c (cp_parser_postfix_dot_deref_expression): Reject invalid
uses of '->' and '.' as postfix-expression in namespace scope.
/testsuite
2011-11-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50864
* g++.dg/parse/template26.C: New.
* g++.dg/template/crash45.C: Adjust dg-error string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181151 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config.gcc (epiphany-*-*): New architecture.
(epiphany-*-elf): New configuration.
* config/epiphany, common/config/epiphany : New directories.
* doc/extend.texi (disinterrupt attribute): Add Epiphany.
(interrupt attribute): Add Epiphany.
(long_call, short_call attribute): Add Epiphany.
* doc/invoke.texi (Options): Add Epiphany options.
* doc/md.texi (Machine Constraints): Add Epiphany constraints.
* doc/install.texi (Options specification):
Add --with-stack-offset=@var{num} description.
(host/target specific issues): Add epiphany-*-elf.
* doc/contrib.texi (Contributors): Mention Epiphany port.
gcc/testsuite:
* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x:
Disable test on Epiphany.
* gcc.c-torture/execute/20101011-1.c: Disable test on Epiphany.
* gcc.dg/stack-usage-1.c [__epiphany__] (SIZE): Define.
* gcc.dg/pragma-pack-3.c: Disable test on Epiphany.
* g++.dg/parse/pragma3.C: Likewise.
* stackalign/builtin-apply-2.c (STACK_ARGUMENTS_SIZE): Define.
(bar): Use it.
* gcc.dg/weak/typeof-2.c [epiphany-*-*]: Add option -mshort-calls.
* gcc.dg/tls/thr-cse-1.c: Likewise.
* g++.dg/opt/devirt2.C: Likewise.
* gcc.dg/20020312-2.c [epiphany-*-*] (PIC_REG): Define.
* gcc.dg/builtin-apply2.c [__epiphany__]: (STACK_ARGUMENTS_SIZE): 20.
* gcc.target/epiphany: New directory.
libgcc:
* config.host (epiphany-*-elf*): New configuration.
* config/epiphany: New Directory.
contrib:
* contrib-list.mk: Add Epiphany configurations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181016 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/31423
* typeck2.c (cxx_incomplete_type_diagnostic): Improve error message
for invalid use of member function.
/testsuite
2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/31423
* g++.dg/parse/error43.C: New.
* g++.dg/parse/error44.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180309 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2011-10-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/13657
* class.c (instantiate_type): Fix error message.
/testsuite
2011-10-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/13657
* g++.dg/parse/error42.C: New.
* g++.old-deja/g++.other/ptrmem7.C: Tweak dg-errors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180228 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44524
* typeck.c (build_class_member_access_expr): Provide a better error
message for X.Y where X is a pointer to class type.
(finish_class_member_access_expr): Likewise.
/testsuite
2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44524
* g++.dg/parse/error41.C: New.
* g++.dg/parse/error20.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180103 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2011-09-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/31489
* parser.c (cp_parser_elaborated_type_specifier): For RECORD_TYPE,
set CLASSTYPE_DECLARED_CLASS.
/testsuite
2011-09-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/31489
* g++.dg/parse/error40.C: New.
* g++.dg/warn/incomplete1.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179293 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.h (cp_unparsed_functions_entry): Add nsdmis field.
* parser.c (unparsed_nsdmis, cp_parser_save_nsdmi): New.
(cp_parser_late_parse_one_default_arg): Split out from
cp_parser_late_parsing_default_args.
(cp_parser_late_parsing_nsdmi): New.
(push_unparsed_function_queues): Set it.
(cp_parser_parameter_declaration): Save the '=' token.
(cp_parser_template_parameter): Likewise.
(cp_parser_default_argument): Call cp_parser_initializer
rather than cp_parser_initializer_clause.
(cp_parser_class_specifier_1): Parse unparsed_nsdmis.
(cp_parser_member_declaration): Handle nsdmis.
* decl2.c (grokfield): Handle DEFAULT_ARG for a function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179156 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_late_return_type_opt): Check quals parameter
rather than current_class_type to determine whether to set 'this'.
(cp_parser_direct_declarator): Pass -1 to quals if member_p is false.
(cp_parser_init_declarator): Pass down member_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176120 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/41769
* decl.c (grokdeclarator): Reject operator names in parameters.
/testsuite
2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/41769
* g++.dg/parse/error39.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174927 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/uninit-pred-3_b.C: Remove dg-excess-errors.
* g++.dg/ext/injected-ttp.C: Specify -std=c++98.
* g++.dg/template/dependent-expr3.C: Likewise.
* g++.dg/parse/template7.C: Likewise.
* g++.old-deja/g++.bugs/900119_01.C: Likewise.
* g++.old-deja/g++.jason/rfg10.C: Likewise.
* g++.old-deja/g++.pt/friend38.C: Likewise.
* g++.old-deja/g++.pt/crash32.C: Likewise.
* g++.old-deja/g++.other/init4.C: Likewise.
* g++.old-deja/g++.other/friend8.C: Likewise.
* g++.dg/ext/complex7.C: Adjust expected output.
* g++.dg/diagnostic/method1.C: Likewise.
* g++.dg/parse/parameter-declaration-2.C: Likewise.
* g++.dg/parse/crash33.C: Likewise.
* g++.dg/other/warning1.C: Likewise.
* g++.dg/init/pr29571.C: Likewise.
* g++.dg/warn/overflow-warn-1.C: Likewise.
* g++.dg/warn/overflow-warn-3.C: Likewise.
* g++.dg/warn/overflow-warn-4.C: Likewise.
* g++.old-deja/g++.oliva/template1.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174886 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
| |
non-constant expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174882 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2011-06-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/29003
* decl.c (grokdeclarator): Reject operator names in typedefs.
/testsuite
2011-06-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/29003
* g++.dg/parse/error38.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174846 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/44175
gcc/c-family/
* c-common.c (max_tinst_depth): Lower default to 900.
gcc/cp/
* error.c (subst_to_string): New.
(cp_printer): Use it for 'S'.
(print_instantiation_partial_context_line): Handle subst context.
* pt.c (push_tinst_level): Handle subst context.
(deduction_tsubst_fntype): Don't track specific substitutions.
Use push_tinst_level.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174772 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc/cp/
PR c++/2288
PR c++/18770
* name-lookup.h (enum scope_kind): Add sk_cond.
* name-lookup.c (pushdecl_maybe_friend): Get scope of shadowed local.
Detect and report error for redeclaration from for-init or if
or switch condition.
(begin_scope): Handle sk_cond.
* semantics.c (begin_if_stmt): Use sk_cond.
(begin switch_stmt): Ditto.
gcc/testsuite/
PR c++/2288
PR c++/18770
* g++.old-deja/g++.jason/cond.C: Remove xfails.
* g++.dg/parse/pr18770.C: New test.
* g++.dg/cpp0x/range-for5.C: Add dg-error marker.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174307 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_constructor_declarator_p): Don't check
constructor_name_p for enums.
(cp_parser_diagnose_invalid_type_name): Correct error message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174205 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_diagnose_invalid_type_name): Commit
to tentative parse sooner.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173036 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
| |
* decl.c (revert_static_member_fn): Strip function-cv-quals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171103 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* decl.c (duplicate_decls): Return NULL_TREE for clashing
C functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171084 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* call.c (convert_default_arg): Use DECL_ORIGIN of fn. Check for
recursion first.
(push_defarg_context, pop_defarg_context): New.
* parser.c (cp_parser_late_parsing_default_args): Use them.
* cp-tree.h: Declare them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171009 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_template_type_arg): Set
type_definition_forbidden_message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170888 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_single_declaration): Just return if
cp_parser_parse_and_diagnose_invalid_type_name complained.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170847 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* pt.c (convert_nontype_argument): Fix -fpermissive allowing
integer overflow.
* semantics.c (potential_constant_expression_1): Check TREE_OVERFLOW.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170771 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/parse/constant5.C: Likewise.
* g++.dg/parse/error2.C: Likewise.
* g++.dg/parse/semicolon3.C: Likewise.
* g++.dg/template/crash14.C: Likewise.
* g++.dg/template/local4.C: Likewise.
* g++.dg/template/nontype3.C: Likewise.
* g++.dg/parse/crash31.C: Adjust expected errors.
* g++.dg/template/function1.C: Likewise.
* g++.dg/template/ref3.C: Likewise.
* g++.dg/template/static9.C: Likewise.
* g++.old-deja/g++.pt/crash41.C: Instantiate template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170489 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc/cp/
PR c++/46868
* parser.c (cp_parser_class_specifier): Require a closing brace
to attempt error recovery.
gcc/testsuite/
PR c++/46868
* g++.dg/pr46868.C: New test.
* g++.dg/parse/parameter-declaration-1.C: Adjust.
* g++.dg/parse/error14.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170440 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gfortran.dg/count_init_expr.f03: Ditto.
* gfortran.dg/gomp/pr43711.f90: Ditto.
* gcc.dg/struct-parse-2.c: Ditto.
* gcc.dg/parse-error-3.c: Ditto.
* gcc.dg/Wlogical-op-1.c: Ditto.
* gcc.dg/Walways-true-1.c: Ditto.
* gcc.dg/pr24225.c: Ditto.
* gcc.dg/Walways-true-2.c: Ditto.
* gcc.dg/tree-ssa/foldcast-1.c: Ditto.
* gcc.dg/tree-ssa/struct-aliasing-1.c: Ditto.
* gcc.dg/tree-ssa/struct-aliasing-2.c: Ditto.
* g++.dg/overload/defarg4.C: Ditto.
* g++.dg/inherit/covariant16.C: Ditto.
* g++.dg/inherit/virtual7.C: Ditto.
* g++.dg/template/canon-type-9.C: Ditto.
* g++.dg/template/access19.C: Ditto.
* g++.dg/template/call7.C: Ditto.
* g++.dg/template/canon-type-2.C: Ditto.
* g++.dg/template/init7.C: Ditto.
* g++.dg/template/sizeof-template-argument.C: Ditto.
* g++.dg/template/const3.C: Ditto.
* g++.dg/template/sfinae26.C: Ditto.
* g++.dg/template/sfinae26.C: Ditto.
* g++.dg/template/canon-type-11.C: Ditto.
* g++.dg/template/union2.C: Ditto.
* g++.dg/template/canon-type-3.C: Ditto.
* g++.dg/template/canon-type-1.C: Ditto.
* g++.dg/template/canon-type-5.C: Ditto.
* g++.dg/template/canon-type-7.C: Ditto.
* g++.dg/template/canon-type-10.C: Ditto.
* g++.dg/template/spec36.C: Ditto.
* g++.dg/template/typedef38.C: Ditto.
* g++.dg/template/canon-type-4.C: Ditto.
* g++.dg/template/canon-type-6.C: Ditto.
* g++.dg/template/canon-type-13.C: Ditto.
* g++.dg/template/instantiate9.C: Ditto.
* g++.dg/template/ttp22.C: Ditto.
* g++.dg/warn/Wreturn-type-6.C: Ditto.
* g++.dg/warn/Walways-true-1.C: Ditto.
* g++.dg/warn/Wlogical-op-1.C: Ditto.
* g++.dg/warn/Walways-true-2.C: Ditto.
* g++.dg/conversion/op4.C: Ditto.
* g++.dg/opt/pr19650.C: Ditto.
* g++.dg/lookup/friend11.C: Ditto.
* g++.dg/other/default2.C: Ditto.
* g++.dg/other/default3.C: Ditto.
* g++.dg/other/dtor2.C: Ditto.
* g++.dg/other/friend5.C: Ditto.
* g++.dg/other/default5.C: Ditto.
* g++.dg/init/brace6.C: Ditto.
* g++.dg/init/aggr5.C: Ditto.
* g++.dg/init/error2.C: Ditto.
* g++.dg/expr/bound-mem-fun.C: Ditto.
* g++.dg/expr/cond6.C: Ditto.
* g++.dg/expr/stmt-expr-1.C: Ditto.
* g++.dg/cpp0x/constexpr-object2.C: Ditto.
* g++.dg/cpp0x/constexpr-data1.C: Ditto.
* g++.dg/cpp0x/constexpr-function2.C: Ditto.
* g++.dg/cpp0x/bracket1.C: Ditto.
* g++.dg/cpp0x/variadic-mem-fn.C: Ditto.
* g++.dg/cpp0x/pr38646.C: Ditto.
* g++.dg/cpp0x/variadic73.C: Ditto.
* g++.dg/cpp0x/constexpr-function1.C: Ditto.
* g++.dg/cpp0x/bracket4.C: Ditto.
* g++.dg/cpp0x/decltype4.C: Ditto.
* g++.dg/cpp0x/constexpr-data2.C: Ditto.
* g++.dg/cpp0x/constexpr-object1.C: Ditto.
* g++.dg/cpp0x/variadic-crash2.C: Ditto.
* g++.dg/cpp0x/variadic-new2.C: Ditto.
* g++.dg/cpp0x/decltype2.C: Ditto.
* g++.dg/cpp0x/decltype1.C: Ditto.
* g++.dg/cpp0x/bracket2.C: Ditto.
* g++.dg/cpp0x/decltype5.C: Ditto.
* g++.dg/cpp0x/constexpr-function3.C: Ditto.
* g++.dg/cpp0x/variadic70.C: Ditto.
* g++.dg/cpp0x/decltype6.C: Ditto.
* g++.dg/cpp0x/rvo.C: Ditto.
* g++.dg/cpp0x/vt-40092.C: Ditto.
* g++.dg/cpp0x/variadic-new.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-pass.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-mixed.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-nested.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-recursive.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-copy.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-non-const.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-ref-default.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-deduce.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-copy-default.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-nop.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-capture-const-ref.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-ref.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-const.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-mutable.C: Ditto.
* g++.dg/cpp0x/lambda/lambda-in-class.C: Ditto.
* g++.dg/cpp0x/pr39639.C: Ditto.
* g++.dg/cpp0x/decltype3.C: Ditto.
* g++.dg/cpp0x/variadic68.C: Ditto.
* g++.dg/cpp0x/variadic-function.C: Ditto.
* g++.dg/cpp0x/constexpr-ex1.C: Ditto.
* g++.dg/cpp0x/variadic-bind.C: Ditto.
* g++.dg/cpp0x/variadic-tuple.C: Ditto.
* g++.dg/cpp0x/constexpr-ex2.C: Ditto.
* g++.dg/parse/crash35.C: Ditto.
* g++.dg/parse/crash40.C: Ditto.
* g++.dg/parse/defarg12.C: Ditto.
* g++.dg/parse/crash34.C: Ditto.
* g++.dg/parse/constructor3.C: Ditto.
* g++.dg/parse/template23.C: Ditto.
* g++.dg/parse/crash56.C: Ditto.
* g++.dg/parse/dtor13.C: Ditto.
* g++.dg/parse/error33.C: Ditto.
* g++.dg/parse/ctor9.C: Ditto.
* g++.dg/parse/error32.C: Ditto.
* g++.dg/parse/error37.C: Ditto.
* g++.dg/parse/bitfield3.C: Ditto.
* g++.dg/parse/struct-4.C: Ditto.
* g++.dg/ext/has_trivial_copy.C: Ditto.
* g++.dg/ext/is_polymorphic.C: Ditto.
* g++.dg/ext/has_nothrow_copy_odr.C: Ditto.
* g++.dg/ext/has_nothrow_copy-4.C: Ditto.
* g++.dg/ext/has_nothrow_assign.C: Ditto.
* g++.dg/ext/is_union.C: Ditto.
* g++.dg/ext/has_nothrow_copy-1.C: Ditto.
* g++.dg/ext/is_pod.C: Ditto.
* g++.dg/ext/has_virtual_destructor.C: Ditto.
* g++.dg/ext/has_trivial_constructor.C: Ditto.
* g++.dg/ext/has_nothrow_copy-3.C: Ditto.
* g++.dg/ext/has_nothrow_copy-5.C: Ditto.
* g++.dg/ext/has_trivial_destructor-1.C: Ditto.
* g++.dg/ext/has_nothrow_copy-6.C: Ditto.
* g++.dg/ext/is_abstract.C: Ditto.
* g++.dg/ext/has_trivial_assign.C: Ditto.
* g++.dg/ext/is_class.C: Ditto.
* g++.dg/ext/has_nothrow_assign_odr.C: Ditto.
* g++.dg/ext/has_nothrow_copy-7.C: Ditto.
* g++.dg/ext/is_base_of.C: Ditto.
* g++.dg/ext/has_nothrow_copy-2.C: Ditto.
* g++.dg/ext/has_nothrow_constructor.C: Ditto.
* g++.dg/ext/is_empty.C: Ditto.
* g++.dg/ext/is_enum.C: Ditto.
* g++.dg/ext/has_nothrow_constructor_odr.C: Ditto.
* g++.dg/ext/.C: Ditto.
* g++.dg/ext/.C: Ditto.
* gnat.dg/opt11.adb: Ditto.
* obj-c++.dg/pr45735.mm: Ditto.
* obj-c++.dg/pr24393.mm: Ditto.
* obj-c++.dg/exceptions-2.cc: Ditto.
* objc.dg/pr45735.m: Ditto.
* objc.dg/pr24393.m: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170438 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/46890
* c-common.h (keyword_is_decl_specifier): Declare.
* c-common.c (keyword_is_decl_specifier): Define.
(keyword_is_function_specifier): New function.
gcc/cp/
PR c++/46890
* parser.c (cp_parser_class_specifier): Fix setting of
want_semicolon.
gcc/testsuite/
PR c++/46890
* g++.dg/parser/semicolon3.C: Adjust.
* g++.dg/parser/semicolon4.C: New testcase.
* g++.dg/pr46890.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169797 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/39859
PR c++/44522
PR c++/44523
* parser.c (struct cp_parser): Add colon_corrects_to_scope_p field.
(cp_parser_new): Initialize it.
(cp_parser_nested_name_specifier_opt): Auto-correct colons to
scopes if we are able to.
(cp_parser_question_colon_clause): Disallow colon correction.
(cp_parser_label_for_labeled_statement): Likewise.
(cp_parser_range_for): Likewise.
(cp_parser_enum_specifier): Likewise.
(cp_parser_class_head): Likewise.
(cp_parser_member_declaration): Likewise.
gcc/testsuite/
PR c++/39859
PR c++/44522
PR c++/44523
* g++.dg/parse/colon-autocorrect-1.C: New testcase.
* g++.dg/parse/colon-autocorrect-2.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167895 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/45329
* call.c (struct conversion): Document bad_p field.
(enum rejection_reason_code): Define.
(struct conversion_info): Define.
(struct rejection_reason): Define.
(struct z_candidate): Add `reason' field.
(add_candidate): Add `reason' parameter. Store it in CAND.
(alloc_rejection, arity_rejection, arg_conversion_rejection):
New functions.
(bad_arg_conversion_rejection): New function.
(convert_class_to_reference): Add comment.
(remaining_arguments): New function.
(add_function_candidate): Record rejection reason and pass it to
add_candidate.
(add_conv_candidate, build_builtin_candidate): Likewise.
(add_template_candidate_real): Likewise.
(print_conversion_rejection): New function.
(print_z_candidate): Print CAND->REASON if it exists. Adjust
diagnostic strings.
(print_z_candidates): Add location_t argument. Adjust calling
sequence for print_z_candidate. Print header line directly.
(build_user_type_conversion_1): Add reason for rejection to
CAND. Adjust call to print_z_candidates.
(print_error_for_call_failure): New function.
(build_new_function_call): Call it. Adjust call to
print_z_candidates.
(build_operator_new_call): Likewise.
(build_op_call): Likewise.
(build_conditional_expr): Likewise.
(build_new_op): Likewise.
(build_new_method_call): Likewise.
gcc/testsuite/
PR c++/45329
* testsuite/g++.dg/conversion/ambig1.C: Adjust.
* testsuite/g++.dg/conversion/op1.C: Adjust.
* testsuite/g++.dg/conversion/simd1.C: Adjust.
* testsuite/g++.dg/cpp0x/defaulted14.C: Adjust.
* testsuite/g++.dg/cpp0x/defaulted18.C: Adjust.
* testsuite/g++.dg/cpp0x/defaulted20.C: Adjust.
* testsuite/g++.dg/cpp0x/explicit3.C: Adjust.
* testsuite/g++.dg/cpp0x/explicit4.C: Adjust.
* testsuite/g++.dg/cpp0x/implicit4.C: Adjust.
* testsuite/g++.dg/cpp0x/nullptr15.C: Adjust.
* testsuite/g++.dg/cpp0x/nullptr19.C: Adjust.
* testsuite/g++.dg/cpp0x/pr31431-2.C: Adjust.
* testsuite/g++.dg/cpp0x/pr31431.C: Adjust.
* testsuite/g++.dg/cpp0x/pr31434.C: Adjust.
* testsuite/g++.dg/cpp0x/pr31437.C: Adjust.
* testsuite/g++.dg/cpp0x/rv2n.C: Adjust.
* testsuite/g++.dg/cpp0x/rv3n.C: Adjust.
* testsuite/g++.dg/cpp0x/rv4n.C: Adjust.
* testsuite/g++.dg/cpp0x/rv5n.C: Adjust.
* testsuite/g++.dg/cpp0x/rv6n.C: Adjust.
* testsuite/g++.dg/cpp0x/rv7n.C: Adjust.
* testsuite/g++.dg/cpp0x/temp_default2.C: Adjust.
* testsuite/g++.dg/cpp0x/trailing4.C: Adjust.
* testsuite/g++.dg/cpp0x/variadic-ex3.C: Adjust.
* testsuite/g++.dg/cpp0x/variadic-ex4.C: Adjust.
* testsuite/g++.dg/cpp0x/variadic35.C: Adjust.
* testsuite/g++.dg/cpp0x/vt-35147.C: Adjust.
* testsuite/g++.dg/cpp0x/vt-37737-2.C: Adjust.
* testsuite/g++.dg/expr/cond9.C: Adjust.
* testsuite/g++.dg/expr/pmf-1.C: Adjust.
* testsuite/g++.dg/ext/label5.C: Adjust.
* testsuite/g++.dg/ext/visibility/anon8.C: Adjust.
* testsuite/g++.dg/ext/vla2.C: Adjust.
* testsuite/g++.dg/gomp/pr26690-1.C: Adjust.
* testsuite/g++.dg/gomp/pr26690-2.C: Adjust.
* testsuite/g++.dg/init/synth2.C: Adjust.
* testsuite/g++.dg/lookup/conv-1.C: Adjust.
* testsuite/g++.dg/lookup/new1.C: Adjust.
* testsuite/g++.dg/lookup/using9.C: Adjust.
* testsuite/g++.dg/other/error13.C: Adjust.
* testsuite/g++.dg/other/error20.C: Adjust.
* testsuite/g++.dg/other/error31.C: Adjust.
* testsuite/g++.dg/other/pr28114.C: Adjust.
* testsuite/g++.dg/other/ptrmem10.C: Adjust.
* testsuite/g++.dg/other/ptrmem11.C: Adjust.
* testsuite/g++.dg/overload/ambig1.C: Adjust.
* testsuite/g++.dg/overload/arg3.C: Adjust.
* testsuite/g++.dg/overload/builtin1.C: Adjust.
* testsuite/g++.dg/overload/copy1.C: Adjust.
* testsuite/g++.dg/overload/new1.C: Adjust.
* testsuite/g++.dg/overload/template4.C: Adjust.
* testsuite/g++.dg/overload/unknown1.C: Adjust.
* testsuite/g++.dg/overload/using2.C: Adjust.
* testsuite/g++.dg/parse/crash5.C: Adjust.
* testsuite/g++.dg/parse/error19.C: Adjust.
* testsuite/g++.dg/parse/error28.C: Adjust.
* testsuite/g++.dg/parse/template7.C: Adjust.
* testsuite/g++.dg/parse/typename7.C: Adjust.
* testsuite/g++.dg/rtti/typeid6.C: Adjust.
* testsuite/g++.dg/tc1/dr152.C: Adjust.
* testsuite/g++.dg/template/conv11.C: Adjust.
* testsuite/g++.dg/template/copy1.C: Adjust.
* testsuite/g++.dg/template/crash37.C: Adjust.
* testsuite/g++.dg/template/deduce3.C: Adjust.
* testsuite/g++.dg/template/dependent-expr5.C: Adjust.
* testsuite/g++.dg/template/error38.C: Adjust.
* testsuite/g++.dg/template/error40.C: Adjust.
* testsuite/g++.dg/template/friend.C: Adjust.
* testsuite/g++.dg/template/incomplete2.C: Adjust.
* testsuite/g++.dg/template/instantiate5.C: Adjust.
* testsuite/g++.dg/template/local4.C: Adjust.
* testsuite/g++.dg/template/local6.C: Adjust.
* testsuite/g++.dg/template/new3.C: Adjust.
* testsuite/g++.dg/template/operator9.C: Adjust.
* testsuite/g++.dg/template/overload6.C: Adjust.
* testsuite/g++.dg/template/ptrmem2.C: Adjust.
* testsuite/g++.dg/template/ptrmem20.C: Adjust.
* testsuite/g++.dg/template/ptrmem4.C: Adjust.
* testsuite/g++.dg/template/ptrmem8.C: Adjust.
* testsuite/g++.dg/template/qualttp5.C: Adjust.
* testsuite/g++.dg/template/sfinae2.C: Adjust.
* testsuite/g++.dg/template/spec22.C: Adjust.
* testsuite/g++.dg/template/spec23.C: Adjust.
* testsuite/g++.dg/template/ttp25.C: Adjust.
* testsuite/g++.dg/template/typedef4.C: Adjust.
* testsuite/g++.dg/template/unify10.C: Adjust.
* testsuite/g++.dg/template/unify11.C: Adjust.
* testsuite/g++.dg/template/unify6.C: Adjust.
* testsuite/g++.dg/template/unify7.C: Adjust.
* testsuite/g++.dg/template/unify9.C: Adjust.
* testsuite/g++.dg/template/varmod1.C: Adjust.
* testsuite/g++.old-deja/g++.benjamin/15799.C: Adjust.
* testsuite/g++.old-deja/g++.benjamin/15800-1.C: Adjust.
* testsuite/g++.old-deja/g++.brendan/ambiguity1.C: Adjust.
* testsuite/g++.old-deja/g++.brendan/crash29.C: Adjust.
* testsuite/g++.old-deja/g++.brendan/crash48.C: Adjust.
* testsuite/g++.old-deja/g++.brendan/crash56.C: Adjust.
* testsuite/g++.old-deja/g++.brendan/cvt3.C: Adjust.
* testsuite/g++.old-deja/g++.brendan/overload1.C: Adjust.
* testsuite/g++.old-deja/g++.brendan/overload4.C: Adjust.
* testsuite/g++.old-deja/g++.brendan/overload9.C: Adjust.
* testsuite/g++.old-deja/g++.bugs/900127_01.C: Adjust.
* testsuite/g++.old-deja/g++.bugs/900205_04.C: Adjust.
* testsuite/g++.old-deja/g++.bugs/900330_02.C: Adjust.
* testsuite/g++.old-deja/g++.bugs/900404_03.C: Adjust.
* testsuite/g++.old-deja/g++.bugs/900514_03.C: Adjust.
* testsuite/g++.old-deja/g++.eh/ctor1.C: Adjust.
* testsuite/g++.old-deja/g++.jason/conversion11.C: Adjust.
* testsuite/g++.old-deja/g++.jason/crash3.C: Adjust.
* testsuite/g++.old-deja/g++.jason/overload16.C: Adjust.
* testsuite/g++.old-deja/g++.jason/overload28.C: Adjust.
* testsuite/g++.old-deja/g++.jason/scoping10.C: Adjust.
* testsuite/g++.old-deja/g++.jason/template30.C: Adjust.
* testsuite/g++.old-deja/g++.jason/temporary2.C: Adjust.
* testsuite/g++.old-deja/g++.law/arg1.C: Adjust.
* testsuite/g++.old-deja/g++.law/arg11.C: Adjust.
* testsuite/g++.old-deja/g++.law/arm9.C: Adjust.
* testsuite/g++.old-deja/g++.law/ctors11.C: Adjust.
* testsuite/g++.old-deja/g++.law/ctors17.C: Adjust.
* testsuite/g++.old-deja/g++.law/ctors5.C: Adjust.
* testsuite/g++.old-deja/g++.law/ctors9.C: Adjust.
* testsuite/g++.old-deja/g++.law/enum4.C: Adjust.
* testsuite/g++.old-deja/g++.law/missed-error2.C: Adjust.
* testsuite/g++.old-deja/g++.law/operators32.C: Adjust.
* testsuite/g++.old-deja/g++.law/operators9.C: Adjust.
* testsuite/g++.old-deja/g++.mike/net2.C: Adjust.
* testsuite/g++.old-deja/g++.mike/net22.C: Adjust.
* testsuite/g++.old-deja/g++.mike/p11110.C: Adjust.
* testsuite/g++.old-deja/g++.mike/p1989.C: Adjust.
* testsuite/g++.old-deja/g++.mike/p2431.C: Adjust.
* testsuite/g++.old-deja/g++.mike/p438.C: Adjust.
* testsuite/g++.old-deja/g++.mike/p807a.C: Adjust.
* testsuite/g++.old-deja/g++.mike/p9068.C: Adjust.
* testsuite/g++.old-deja/g++.niklas/t120.C: Adjust.
* testsuite/g++.old-deja/g++.niklas/t121.C: Adjust.
* testsuite/g++.old-deja/g++.niklas/t128.C: Adjust.
* testsuite/g++.old-deja/g++.ns/overload2.C: Adjust.
* testsuite/g++.old-deja/g++.ns/using12.C: Adjust.
* testsuite/g++.old-deja/g++.other/crash24.C: Adjust.
* testsuite/g++.old-deja/g++.other/expr1.C: Adjust.
* testsuite/g++.old-deja/g++.other/overload11.C: Adjust.
* testsuite/g++.old-deja/g++.other/pmf3.C: Adjust.
* testsuite/g++.old-deja/g++.other/volatile1.C: Adjust.
* testsuite/g++.old-deja/g++.pt/auto_ptr.C: Adjust.
* testsuite/g++.old-deja/g++.pt/crash28.C: Adjust.
* testsuite/g++.old-deja/g++.pt/crash60.C: Adjust.
* testsuite/g++.old-deja/g++.pt/explicit38.C: Adjust.
* testsuite/g++.old-deja/g++.pt/explicit39.C: Adjust.
* testsuite/g++.old-deja/g++.pt/explicit41.C: Adjust.
* testsuite/g++.old-deja/g++.pt/explicit67.C: Adjust.
* testsuite/g++.old-deja/g++.pt/explicit77.C: Adjust.
* testsuite/g++.old-deja/g++.pt/expr2.C: Adjust.
* testsuite/g++.old-deja/g++.pt/ptrmem10.C: Adjust.
* testsuite/g++.old-deja/g++.pt/ptrmem6.C: Adjust.
* testsuite/g++.old-deja/g++.pt/spec35.C: Adjust.
* testsuite/g++.old-deja/g++.pt/spec5.C: Adjust.
* testsuite/g++.old-deja/g++.pt/spec6.C: Adjust.
* testsuite/g++.old-deja/g++.pt/t05.C: Adjust.
* testsuite/g++.old-deja/g++.pt/t24.C: Adjust.
* testsuite/g++.old-deja/g++.pt/unify4.C: Adjust.
* testsuite/g++.old-deja/g++.pt/unify6.C: Adjust.
* testsuite/g++.old-deja/g++.pt/unify8.C: Adjust.
* testsuite/g++.old-deja/g++.robertl/eb109.C: Adjust.
* testsuite/g++.old-deja/g++.robertl/eb119.C: Adjust.
* testsuite/g++.old-deja/g++.robertl/eb131.C: Adjust.
* testsuite/g++.old-deja/g++.robertl/eb22.C: Adjust.
* testsuite/g++.old-deja/g++.robertl/eb69.C: Adjust.
* testsuite/g++.old-deja/g++.robertl/eb98.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167607 138bc75d-0d04-0410-961f-82ee72b054a4
|