| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
* decl.c (grokdeclarator): Handle ~identifier.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144314 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-02-18 H.J. Lu <hongjiu.lu@intel.com>
PR c++/39219
* parser.c (cp_parser_enum_specifier): Apply all attributes.
gcc/testsuite/
2009-02-18 H.J. Lu <hongjiu.lu@intel.com>
PR c++/39219
* g++.dg/parse/attr3.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144284 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_unqualified_id): Don't wrap error_mark_node
in BIT_NOT_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143876 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-02-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/39053
* parser.c (cp_parser_pure_specifier): If there are no tokens left
do not call cp_lexer_consume_token.
/testsuite
2009-02-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/39053
* g++.dg/parse/crash52.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143861 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33465
* error.c (dump_expr): Handle FIX_TRUNC_EXPR and FLOAT_EXPR.
/testsuite
2009-01-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33465
* g++.dg/parse/error34.C: New.
* g++.dg/parse/error35.C: Likewise.
/cp
2009-01-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38655
* error.c (dump_type_prefix, dump_type_suffix): Handle FIXED_POINT_TYPE.
/testsuite
2009-01-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38655
* g++.dg/cpp0x/decltype-38655.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143790 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/37554
* call.c (build_over_call): If convert_for_arg_passing returns
error_mark_node unconditionally return it.
/testsuite
2009-01-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/37554
* g++.dg/parse/crash51.C: New.
* g++.old-deja/g++.pt/crash9.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143711 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-13 Dodji Seketeli <dodji@redhat.com>
PR c++/38636
* name-lookup.c (pushtag): Don't create members to types that are not
being created.
gcc/testsuite/ChangeLog:
2009-01-13 Dodji Seketeli <dodji@redhat.com>
PR c++/38636
* g++.dg/parse/crash50.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143392 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c: Pass cp_id_kind computed in
cp_parser_postfix_dot_deref_expression to
cp_parser_primary_expression.
* g++.cp/parse/pr37862.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143369 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-parser.c (c_parser_postfix_expression): Allow `->' in
offsetof member-designator, handle it as `[0].'.
* parser.c (cp_parser_builtin_offsetof): Allow `->' in
offsetof member-designator, handle it as `[0].'.
* gcc.dg/pr32041.c: New test.
* g++.dg/parse/offsetof9.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143305 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (start_function): If grokdeclarator hasn't returned
FUNCTION_DECL nor error_mark_node, issue diagnostics.
* g++.dg/parse/typedef9.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143292 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_class_specifier): Clear
parser->in_unbraced_linkage_specification_p while parsing class
specifiers.
* g++.dg/parse/linkage3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143206 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_condition): Use cp_parser_require
instead of cp_lexer_consume_token to consume =.
* g++.dg/parse/cond4.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142951 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_token_starts_cast_expression): An EOF
can't start a cast-expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142815 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/26997
cp/
* parser.c (cp_parser_token_starts_cast_expression): New.
(cp_parser_cast_expression): Peek the next token to decide whether
this could be a parenthesized constructor or is definitely an
actual cast.
testsuite/
* g++.dg/parse/pr26997.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141429 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-10-07 Simon Martin <simartin@users.sourceforge.net>
PR c/35437
* expr.c (count_type_elements): Handle ERROR_MARK.
gcc/testsuite/
2008-01-07 Simon Martin <simartin@users.sourceforge.net>
PR c/35437
* gcc.dg/struct-parse-2.c: New test.
* g++.dg/parse/struct-4.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140953 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-09-30 Simon Martin <simartin@users.sourceforge.net>
PR c++/37555
PR c++/37556
* decl.c (grokdeclarator): Set the type for typedefs to a
nested-name-specifier to error_mark_node.
gcc/testsuite/
2008-09-30 Simon Martin <simartin@users.sourceforge.net>
PR c++/37555
* g++.dg/parse/error32.C: New test.
PR c++/37556
* g++.dg/parse/error33.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140794 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lib/g++.exp (g++_init): Enable overrides of dg-error, dg-warning
for C++ tests.
* g++.dg/conversion/ambig1.C: Clean up dg-error/dg-warning; use
dg-message for notes.
* g++.dg/conversion/simd1.C: Ditto.
* g++.dg/conversion/simd3.C: Ditto.
* g++.dg/cpp0x/rv2n.C: Ditto.
* g++.dg/cpp0x/rv3n.C: Ditto.
* g++.dg/cpp0x/rv4n.C: Ditto.
* g++.dg/cpp0x/rv5n.C: Ditto.
* g++.dg/cpp0x/rv6n.C: Ditto.
* g++.dg/cpp0x/rv7n.C: Ditto.
* g++.dg/cpp0x/variadic36.C: Ditto.
* g++.dg/cpp0x/variadic59.C: Ditto.
* g++.dg/cpp0x/variadic71.C: Ditto.
* g++.dg/cpp0x/variadic-ex13.C: Ditto.
* g++.dg/expr/cond9.C: Ditto.
* g++.dg/expr/pmf-1.C: Ditto.
* g++.dg/ext/case-range2.C: Ditto.
* g++.dg/ext/case-range3.C: Ditto.
* g++.dg/ext/is_class_error2.C: Ditto.
* g++.dg/ext/label5.C: Ditto.
* g++.dg/ext/pr27019.C: Ditto.
* g++.dg/gomp/pr26690-1.C: Ditto.
* g++.dg/gomp/pr26690-2.C: Ditto.
* g++.dg/gomp/pr34694.C: Ditto.
* g++.dg/gomp/tpl-parallel-2.C: Ditto.
* g++.dg/inherit/base3.C: Ditto.
* g++.dg/inherit/using6.C: Ditto.
* g++.dg/init/brace6.C: Ditto.
* g++.dg/init/ctor4.C: Ditto.
* g++.dg/lookup/conv-1.C: Ditto.
* g++.dg/lookup/new1.C: Ditto.
* g++.dg/lookup/scoped6.C: Ditto.
* g++.dg/lookup/using7.C: Ditto.
* g++.dg/lookup/using9.C: Ditto.
* g++.dg/other/abstract1.C: Ditto.
* g++.dg/other/abstract2.C: Ditto.
* g++.dg/other/anon5.C: Ditto.
* g++.dg/other/crash-4.C: Ditto.
* g++.dg/other/error10.C: Ditto.
* g++.dg/other/error13.C: Ditto.
* g++.dg/other/error20.C: Ditto.
* g++.dg/other/error5.C: Ditto.
* g++.dg/other/field1.C: Ditto.
* g++.dg/other/offsetof5.C: Ditto.
* g++.dg/other/semicolon.C: Ditto.
* g++.dg/overload/ambig1.C: Ditto.
* g++.dg/overload/arg3.C: Ditto.
* g++.dg/overload/builtin1.C: Ditto.
* g++.dg/overload/copy1.C: Ditto.
* g++.dg/overload/new1.C: Ditto.
* g++.dg/overload/template4.C: Ditto.
* g++.dg/overload/using2.C: Ditto.
* g++.dg/parse/bitfield2.C: Ditto.
* g++.dg/parse/constant4.C: Ditto.
* g++.dg/parse/crash20.C: Ditto.
* g++.dg/parse/crash36.C: Ditto.
* g++.dg/parse/crash5.C: Ditto.
* g++.dg/parse/error11.C: Ditto.
* g++.dg/parse/error12.C: Ditto.
* g++.dg/parse/error19.C: Ditto.
* g++.dg/parse/error28.C: Ditto.
* g++.dg/parse/friend5.C: Ditto.
* g++.dg/parse/invalid-op1.C: Ditto.
* g++.dg/parse/missing-template1.C: Ditto.
* g++.dg/parse/non-dependent2.C: Ditto.
* g++.dg/parse/ret-type2.C: Ditto.
* g++.dg/parse/specialization1.C: Ditto.
* g++.dg/parse/template18.C: Ditto.
* g++.dg/parse/template3.C: Ditto.
* g++.dg/parse/template9.C: Ditto.
* g++.dg/tc1/dr108.C: Ditto.
* g++.dg/tc1/dr152.C: Ditto.
* g++.dg/tc1/dr166.C: Ditto.
* g++.dg/template/access11.C: Ditto.
* g++.dg/template/access2.C: Ditto.
* g++.dg/template/access3.C: Ditto.
* g++.dg/template/access7.C: Ditto.
* g++.dg/template/copy1.C: Ditto.
* g++.dg/template/crash13.C: Ditto.
* g++.dg/template/crash37.C: Ditto.
* g++.dg/template/crash40.C: Ditto.
* g++.dg/template/crash58.C: Ditto.
* g++.dg/template/ctor5.C: Ditto.
* g++.dg/template/dependent-expr5.C: Ditto.
* g++.dg/template/eh2.C: Ditto.
* g++.dg/template/error2.C: Ditto.
* g++.dg/template/error33.C: Ditto.
* g++.dg/template/error4.C: Ditto.
* g++.dg/template/friend31.C: Ditto.
* g++.dg/template/friend32.C: Ditto.
* g++.dg/template/instantiate1.C: Ditto.
* g++.dg/template/instantiate3.C: Ditto.
* g++.dg/template/instantiate5.C: Ditto.
* g++.dg/template/instantiate7.C: Ditto.
* g++.dg/template/local6.C: Ditto.
* g++.dg/template/lookup2.C: Ditto.
* g++.dg/template/member5.C: Ditto.
* g++.dg/template/memfriend15.C: Ditto.
* g++.dg/template/memfriend16.C: Ditto.
* g++.dg/template/memfriend17.C: Ditto.
* g++.dg/template/memfriend7.C: Ditto.
* g++.dg/template/meminit1.C: Ditto.
* g++.dg/template/nested3.C: Ditto.
* g++.dg/template/new3.C: Ditto.
* g++.dg/template/nontype12.C: Ditto.
* g++.dg/template/nontype13.C: Ditto.
* g++.dg/template/nontype6.C: Ditto.
* g++.dg/template/non-type-template-argument-1.C: Ditto.
* g++.dg/template/overload9.C: Ditto.
* g++.dg/template/ptrmem15.C: Ditto.
* g++.dg/template/ptrmem17.C: Ditto.
* g++.dg/template/ptrmem4.C: Ditto.
* g++.dg/template/ptrmem6.C: Ditto.
* g++.dg/template/ptrmem8.C: Ditto.
* g++.dg/template/qualified-id1.C: Ditto.
* g++.dg/template/qualttp20.C: Ditto.
* g++.dg/template/qualttp3.C: Ditto.
* g++.dg/template/qualttp4.C: Ditto.
* g++.dg/template/qualttp5.C: Ditto.
* g++.dg/template/qualttp6.C: Ditto.
* g++.dg/template/qualttp7.C: Ditto.
* g++.dg/template/qualttp8.C: Ditto.
* g++.dg/template/recurse.C: Ditto.
* g++.dg/template/sfinae10.C: Ditto.
* g++.dg/template/sfinae3.C: Ditto.
* g++.dg/template/spec22.C: Ditto.
* g++.dg/template/spec23.C: Ditto.
* g++.dg/template/static9.C: Ditto.
* g++.dg/template/template-id-2.C: Ditto.
* g++.dg/template/typename2.C: Ditto.
* g++.dg/template/typename4.C: Ditto.
* g++.dg/template/using14.C: Ditto.
* g++.dg/template/using2.C: Ditto.
* g++.dg/template/warn1.C: Ditto.
* g++.dg/warn/incomplete1.C: Ditto.
* g++.dg/warn/noeffect2.C: Ditto.
* g++.dg/warn/noeffect4.C: Ditto.
* g++.dg/warn/pr8570.C: Ditto.
* g++.dg/warn/Wparentheses-13.C: Ditto.
* g++.dg/warn/Wparentheses-15.C: Ditto.
* g++.dg/warn/Wparentheses-16.C: Ditto.
* g++.dg/warn/Wparentheses-17.C: Ditto.
* g++.dg/warn/Wparentheses-18.C: Ditto.
* g++.dg/warn/Wparentheses-19.C: Ditto.
* g++.dg/warn/Wparentheses-20.C: Ditto.
* g++.dg/warn/Wparentheses-23.C: Ditto.
* g++.dg/warn/Wstrict-aliasing-3.C: Ditto.
* g++.old-deja/g++.benjamin/15799.C: Ditto.
* g++.old-deja/g++.benjamin/15800-1.C: Ditto.
* g++.old-deja/g++.benjamin/16077.C: Ditto.
* g++.old-deja/g++.bob/inherit2.C: Ditto.
* g++.old-deja/g++.brendan/ambiguity1.C: Ditto.
* g++.old-deja/g++.brendan/crash29.C: Ditto.
* g++.old-deja/g++.brendan/crash48.C: Ditto.
* g++.old-deja/g++.brendan/crash56.C: Ditto.
* g++.old-deja/g++.brendan/cvt3.C: Ditto.
* g++.old-deja/g++.brendan/overload1.C: Ditto.
* g++.old-deja/g++.brendan/overload4.C: Ditto.
* g++.old-deja/g++.brendan/overload9.C: Ditto.
* g++.old-deja/g++.bugs/900127_01.C: Ditto.
* g++.old-deja/g++.bugs/900205_04.C: Ditto.
* g++.old-deja/g++.bugs/900330_02.C: Ditto.
* g++.old-deja/g++.bugs/900404_03.C: Ditto.
* g++.old-deja/g++.bugs/900514_03.C: Ditto.
* g++.old-deja/g++.eh/ctor1.C: Ditto.
* g++.old-deja/g++.eh/spec6.C: Ditto.
* g++.old-deja/g++.ext/overload1.C: Ditto.
* g++.old-deja/g++.jason/conversion11.C: Ditto.
* g++.old-deja/g++.jason/crash3.C: Ditto.
* g++.old-deja/g++.jason/lineno3.C: Ditto.
* g++.old-deja/g++.jason/lineno4.C: Ditto.
* g++.old-deja/g++.jason/opeq3.C: Ditto.
* g++.old-deja/g++.jason/overload16.C: Ditto.
* g++.old-deja/g++.jason/overload28.C: Ditto.
* g++.old-deja/g++.jason/pmf5.C: Ditto.
* g++.old-deja/g++.jason/scoping10.C: Ditto.
* g++.old-deja/g++.jason/template30.C: Ditto.
* g++.old-deja/g++.jason/temporary2.C: Ditto.
* g++.old-deja/g++.jason/tredecl4.C: Ditto.
* g++.old-deja/g++.law/arg11.C: Ditto.
* g++.old-deja/g++.law/arg1.C: Ditto.
* g++.old-deja/g++.law/arm9.C: Ditto.
* g++.old-deja/g++.law/ctors11.C: Ditto.
* g++.old-deja/g++.law/ctors17.C: Ditto.
* g++.old-deja/g++.law/ctors5.C: Ditto.
* g++.old-deja/g++.law/ctors9.C: Ditto.
* g++.old-deja/g++.law/enum4.C: Ditto.
* g++.old-deja/g++.law/missed-error2.C: Ditto.
* g++.old-deja/g++.law/operators9.C: Ditto.
* g++.old-deja/g++.mike/net22.C: Ditto.
* g++.old-deja/g++.mike/net2.C: Ditto.
* g++.old-deja/g++.mike/p11110.C: Ditto.
* g++.old-deja/g++.mike/p1989.C: Ditto.
* g++.old-deja/g++.mike/p2431.C: Ditto.
* g++.old-deja/g++.mike/p438.C: Ditto.
* g++.old-deja/g++.mike/p807a.C: Ditto.
* g++.old-deja/g++.mike/p9068.C: Ditto.
* g++.old-deja/g++.niklas/t120.C: Ditto.
* g++.old-deja/g++.niklas/t121.C: Ditto.
* g++.old-deja/g++.niklas/t128.C: Ditto.
* g++.old-deja/g++.ns/overload2.C: Ditto.
* g++.old-deja/g++.ns/template13.C: Ditto.
* g++.old-deja/g++.ns/using12.C: Ditto.
* g++.old-deja/g++.oliva/delete1.C: Ditto.
* g++.old-deja/g++.oliva/overload1.C: Ditto.
* g++.old-deja/g++.other/crash24.C: Ditto.
* g++.old-deja/g++.other/crash25.C: Ditto.
* g++.old-deja/g++.other/decl3.C: Ditto.
* g++.old-deja/g++.other/expr1.C: Ditto.
* g++.old-deja/g++.other/overcnv2.C: Ditto.
* g++.old-deja/g++.other/overload11.C: Ditto.
* g++.old-deja/g++.other/pmf3.C: Ditto.
* g++.old-deja/g++.other/ptrmem7.C: Ditto.
* g++.old-deja/g++.other/vaarg3.C: Ditto.
* g++.old-deja/g++.other/volatile1.C: Ditto.
* g++.old-deja/g++.pt/assign1.C: Ditto.
* g++.old-deja/g++.pt/auto_ptr.C: Ditto.
* g++.old-deja/g++.pt/const2.C: Ditto.
* g++.old-deja/g++.pt/crash10.C: Ditto.
* g++.old-deja/g++.pt/crash20.C: Ditto.
* g++.old-deja/g++.pt/crash36.C: Ditto.
* g++.old-deja/g++.pt/crash38.C: Ditto.
* g++.old-deja/g++.pt/derived3.C: Ditto.
* g++.old-deja/g++.pt/error2.C: Ditto.
* g++.old-deja/g++.pt/explicit34.C: Ditto.
* g++.old-deja/g++.pt/explicit70.C: Ditto.
* g++.old-deja/g++.pt/friend23.C: Ditto.
* g++.old-deja/g++.pt/ptrmem10.C: Ditto.
* g++.old-deja/g++.pt/redecl1.C: Ditto.
* g++.old-deja/g++.pt/spec35.C: Ditto.
* g++.old-deja/g++.pt/t05.C: Ditto.
* g++.old-deja/g++.pt/typename3.C: Ditto.
* g++.old-deja/g++.pt/typename6.C: Ditto.
* g++.old-deja/g++.pt/unify8.C: Ditto.
* g++.old-deja/g++.pt/vaarg3.C: Ditto.
* g++.old-deja/g++.robertl/eb109.C: Ditto.
* g++.old-deja/g++.robertl/eb131.C: Ditto.
* g++.old-deja/g++.robertl/eb22.C: Ditto.
* g++.old-deja/g++.robertl/eb44.C: Ditto.
* g++.old-deja/g++.robertl/eb4.C: Ditto.
* g++.old-deja/g++.robertl/eb69.C: Ditto.
* g++.dg/parse/constructor1.C: Remove "error" from dg-error, preserving
column number.
* g++.dg/parse/error10.C: Ditto.
* g++.dg/parse/error13.C: Ditto.
* g++.dg/parse/error14.C: Ditto.
* g++.dg/parse/error15.C: Ditto.
* g++.dg/parse/error16.C: Ditto.
* g++.dg/parse/error17.C: Ditto.
* g++.dg/parse/error18.C: Ditto.
* g++.dg/parse/error1.C: Ditto.
* g++.dg/parse/error20.C: Ditto.
* g++.dg/parse/error21.C: Ditto.
* g++.dg/parse/error22.C: Ditto.
* g++.dg/parse/error23.C: Ditto.
* g++.dg/parse/error24.C: Ditto.
* g++.dg/parse/error25.C: Ditto.
* g++.dg/parse/error26.C: Ditto.
* g++.dg/parse/error27.C: Ditto.
* g++.dg/parse/error29.C: Ditto.
* g++.dg/parse/error2.C: Ditto.
* g++.dg/parse/error30.C: Ditto.
* g++.dg/parse/error31.C: Ditto.
* g++.dg/parse/error3.C: Ditto.
* g++.dg/parse/error4.C: Ditto.
* g++.dg/parse/error5.C: Ditto.
* g++.dg/parse/error6.C: Ditto.
* g++.dg/parse/error7.C: Ditto.
* g++.dg/parse/error8.C: Ditto.
* g++.dg/parse/error9.C: Ditto.
* g++.dg/parse/error-column.C: Ditto.
* g++.dg/template/crash80.C: Ditto.
* g++.dg/template/friend44.C: Ditto.
* g++.dg/warn/pr26785.C: Ditto.
* g++.old-deja/g++.brendan/crash16.C: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140476 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.old-deja/g++.brendan/crash7.C: Remove "error" or "warning" from
message for dg-error/dg-warning.
* g++.old-deja/g++.jason/crash11.C: Ditto.
* g++.old-deja/g++.oliva/template1.C: Ditto.
* g++.old-deja/g++.benjamin/tem03.C: Ditto.
* g++.dg/rtti/no-rtti.C: Ditto.
* g++.dg/cpp/pedantic-errors.C: Ditto.
* g++.dg/cpp/string-2.C: Ditto.
* g++.dg/ext/fpreg1.C: Ditto.
* g++.dg/ext/altivec-types-1.C: Ditto.
* g++.dg/warn/write-strings-default.C: Ditto.
* g++.dg/warn/Wvla-2.C: Ditto.
* g++.dg/warn/register-var-1.C: Ditto.
* g++.dg/warn/deprecated-3.C: Ditto.
* g++.dg/warn/pr30551-2.C: Ditto.
* g++.dg/warn/overflow-warn-1.C: Ditto.
* g++.dg/warn/pr30551.C: Ditto.
* g++.dg/warn/pointer-integer-comparison.C: Ditto.
* g++.dg/warn/pr12242.C: Ditto.
* g++.dg/warn/write-strings.C: Ditto.
* g++.dg/warn/overflow-warn-3.C: Ditto.
* g++.dg/warn/overflow-warn-4.C: Ditto.
* g++.dg/warn/overflow-warn-6.C: Ditto.
* g++.dg/parse/crash43.C: Ditto.
* g++.dg/parse/crash44.C: Ditto.
* g++.dg/parse/offsetof8.C: Ditto.
* g++.dg/gomp/pr35158.C: Ditto.
* g++.dg/template/crash81.C: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140437 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* typeck.c (build_array_ref): Use protected_set_expr_location instead
of SET_EXPR_LOCATION when ret might not be an expression.
* g++.dg/parse/crash49.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140422 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* testsuite/g++.dg/charset/attribute2.c: Replace dg-error with
dg-warning or vice versa.
* testsuite/g++.dg/conversion/dr195.C: Ditto.
* testsuite/g++.dg/cpp0x/variadic60.C: Ditto.
* testsuite/g++.dg/expr/cast2.C: Ditto.
* testsuite/g++.dg/ext/anon-struct4.C: Ditto.
* testsuite/g++.dg/ext/member-attr.C: Ditto.
* testsuite/g++.dg/ext/utf-array.C: Ditto.
* testsuite/g++.dg/ext/utf-array-short-wchar.C: Ditto.
* testsuite/g++.dg/ext/utf-typedef-cxx0x.C: Ditto.
* testsuite/g++.dg/ext/visibility/redecl1.C: Ditto.
* testsuite/g++.dg/ext/visibility/warn4.C: Ditto.
* testsuite/g++.dg/parse/defarg11.C: Ditto.
* testsuite/g++.dg/template/error17.C: Ditto.
* testsuite/g++.dg/warn/pedantic2.C: Ditto.
* testsuite/g++.dg/warn/pr21983.C: Ditto.
* testsuite/g++.dg/warn/return-reference2.C: Ditto.
* testsuite/g++.old-deja/g++.bob/inherit1.C: Ditto.
* testsuite/g++.old-deja/g++.brendan/crash13.C: Ditto.
* testsuite/g++.old-deja/g++.brendan/crash17.C: Ditto.
* testsuite/g++.old-deja/g++.brendan/crash52.C: Ditto.
* testsuite/g++.old-deja/g++.brendan/crash55.C: Ditto.
* testsuite/g++.old-deja/g++.brendan/enum7.C: Ditto.
* testsuite/g++.old-deja/g++.brendan/operators4.C: Ditto.
* testsuite/g++.old-deja/g++.brendan/template17.C: Ditto.
* testsuite/g++.old-deja/g++.brendan/warnings1.C: Ditto.
* testsuite/g++.old-deja/g++.bugs/900205_03.C: Ditto.
* testsuite/g++.old-deja/g++.bugs/900227_01.C: Ditto.
* testsuite/g++.old-deja/g++.ext/arrnew.C: Ditto.
* testsuite/g++.old-deja/g++.ext/attrib4.C: Ditto.
* testsuite/g++.old-deja/g++.jason/cond.C: Ditto.
* testsuite/g++.old-deja/g++.jason/operator.C: Ditto.
* testsuite/g++.old-deja/g++.jason/report.C: Ditto.
* testsuite/g++.old-deja/g++.law/friend5.C: Ditto.
* testsuite/g++.old-deja/g++.law/temps1.C: Ditto.
* testsuite/g++.old-deja/g++.law/union4.C: Ditto.
* testsuite/g++.old-deja/g++.martin/pure1.C: Ditto.
* testsuite/g++.old-deja/g++.mike/empty.C: Ditto.
* testsuite/g++.old-deja/g++.mike/for2.C: Ditto.
* testsuite/g++.old-deja/g++.mike/misc9.C: Ditto.
* testsuite/g++.old-deja/g++.mike/p10769b.C: Ditto.
* testsuite/g++.old-deja/g++.mike/p2855.C: Ditto.
* testsuite/g++.old-deja/g++.mike/p3060c.C: Ditto.
* testsuite/g++.old-deja/g++.mike/p700.C: Ditto.
* testsuite/g++.old-deja/g++.mike/p9732c.C: Ditto.
* testsuite/g++.old-deja/g++.mike/pmf6.C: Ditto.
* testsuite/g++.old-deja/g++.mike/warn1.C: Ditto.
* testsuite/g++.old-deja/g++.mike/warn5.C: Ditto.
* testsuite/g++.old-deja/g++.niklas/t141.C: Ditto.
* testsuite/g++.old-deja/g++.other/cast6.C: Ditto.
* testsuite/g++.old-deja/g++.other/cond5.C: Ditto.
* testsuite/g++.old-deja/g++.other/conv8.C: Ditto.
* testsuite/g++.old-deja/g++.other/decl5.C: Ditto.
* testsuite/g++.old-deja/g++.other/delete2.C: Ditto.
* testsuite/g++.old-deja/g++.other/delete4.C: Ditto.
* testsuite/g++.old-deja/g++.other/linkage1.C: Ditto.
* testsuite/g++.old-deja/g++.other/ptrmem8.C: Ditto.
* testsuite/g++.old-deja/g++.other/typename1.C: Ditto.
* testsuite/g++.old-deja/g++.pt/typename14.C: Ditto.
* testsuite/g++.old-deja/g++.pt/typename4.C: Ditto.
* testsuite/g++.old-deja/g++.pt/typename5.C: Ditto.
* testsuite/g++.old-deja/g++.pt/typename7.C: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140405 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* gimplify.c (gimplify_expr) <case TRY_CATCH_EXPR>: Don't create
GIMPLE_TRY if cleanup sequence is empty.
* g++.dg/parse/crash48.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140401 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* semantics.c (finish_compound_literal): Return error_mark_node if
type is errorneous.
* g++.dg/parse/crash47.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140400 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* lex.c (init_reswords): Don't populate ridpointers for D_CONLY
reserved words.
* g++.dg/parse/crash46.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140399 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.old-deja/g++.brendan/crash16.C: Function name is the correct
location for an error regarding a function.
* g++.old-deja/g++.other/pmf3.C: Same.
* g++.old-deja/g++.law/ctors5.C: Same.
* g++.old-deja/g++.pt/explicit34.C: Same.
* g++.dg/parse/error28.C: Same.
* g++.dg/parse/error17.C: Same.
* g++.dg/template/friend44.C: Same.
cp/
* decl.c (duplicate_decls): Call error_at.
(grokfndecl): New location argument. Use location if available.
(grokdeclarator): Pass declarator location to grokfndecl.
* cp-tree.h (struct cp_declarator): Update comment for id_loc.
* decl2.c (check_classfn): Use error_at.
* parser.c (cp_parser_init_declarator): Set function_start_locus
to brace location.
(cp_parser_member_declaration): Set id_loc for function declarators.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140379 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (build_enumerator): Handle previous value's DECL_INITIAL
being error_operand_p. Don't clear value if it was error_mark_node.
* g++.dg/parse/enum4.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140165 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_parameter_declaration_list): Process the
PARM_DECLs as we go and push them. Return a TREE_LIST.
(cp_parser_parameter_declaration_clause): Return a TREE_LIST.
(cp_parser_direct_declarator): Create a binding level and
suppress deprecated warnings in the parameter list.
(make_call_declarator): PARMS is now a tree.
* cp-tree.h (struct cp_declarator): Function parms are now a tree.
* decl.h (enum deprecated_states, deprecated_state): Move here.
* decl.c: From here.
(type_is_deprecated): New fn.
(grokparms): PARMLIST is a tree now. Warn about parms that
use deprecated types.
* mangle.c (write_expression): Handle PARM_DECL, CALL_EXPR and
0-operand cast.
* pt.c (tsubst) [DECLTYPE_TYPE]: Set skip_evaluation.
(tsubst_copy) [PARM_DECL]: Handle a PARM_DECL used outside of a
function.
* name-lookup.c (pushtag): Look through function parameter scopes.
(pushdecl_maybe_friend): Don't set DECL_CONTEXT on a PARM_DECL
when we're parsing a function declarator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140120 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (cp_finish_decl): Only set
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P if decl is VAR_DECL.
* g++.dg/parse/crash45.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139956 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-08-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/37260
* decl.c (reshape_init_r): Check init for error_mark_node.
/testsuite
2008-08-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/37260
* g++.dg/parse/crash44.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139740 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/35321
* c-common.c (fold_offsetof_1): Handle TARGET_EXPR like CALL_EXPR.
/testsuite
2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/35321
* g++.dg/parse/offsetof8.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139628 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34600
* decl.c (grokdeclarator): In case of extern and initializer, return
error_mark_node after the error.
/testsuite
2008-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34600
* g++.dg/parse/crash43.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139099 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/36767
* decl2.c (fix_temporary_vars_context_r): New function.
(one_static_initialization_or_destruction): Make sure temporary
variables part of the initialiser have their DECL_CONTEXT()
properly set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138308 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cp-tree.h (struct lang_decl_flags): Add defaulted_p bitfield.
(DECL_DELETED_FN): New macro.
(DECL_DEFAULTED_FN): New macro.
* class.c (user_provided_p): New fn.
(defaultable_fn_p): New fn.
(type_has_user_provided_constructor): New fn.
(type_has_user_provided_default_constructor): New fn.
(check_methods): A defaulted fn is still trivial.
(check_bases_and_members): Likewise.
* decl.c (grok_special_member_properties): Likewise.
(duplicate_decls): Complain about redeclaring a function as deleted.
(start_decl): initialized==2 means deleted.
(cp_finish_decl): Handle deleted/defaulted semantics.
* decl2.c (grokfield): Likewise.
(mark_used): Check DECL_DEFAULTED_FN instead of DECL_ARTIFICIAL.
Complain about using a deleted fn.
* init.c (build_value_init_1): Use type_has_user_provided_constructor.
(perform_member_init): Check for a user-provided default constructor
even if TYPE_NEEDS_CONSTRUCTING.
(build_new_1): Likewise.
* call.c (build_over_call): Don't call mark_used twice.
* method.c (implicitly_declare_fn): Set DECL_DEFAULTED_FN.
* search.c (check_final_overrider): Check for deleted mismatch.
* parser.c (cp_parser_init_declarator): Tell start_decl about =delete.
(cp_parser_pure_specifier): Handle =default and =delete.
* error.c (maybe_warn_cpp0x): Suggest -std=gnu++0x as well.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138123 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/31754
* cp-tree.h (struct cp_decl_specifier_seq): add a location field. It
carries the location of the primary type.
* parser.c (cp_parser_check_type_definition): update documentation.
(cp_parser_check_for_definition_in_return_type,
cp_parser_check_for_invalid_template_id,
cp_parser_set_decl_spec_type,
cp_parser_check_for_definition_in_return_type,
cp_parser_diagnose_invalid_type_name,
cp_parser_new_expression, cp_parser_explicit_instantiation,
cp_parser_type_specifier, cp_parser_simple_type_specifier,
cp_parser_omp_for_loop, cp_parser_pragma): use location in error messages.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137721 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/31754
* pt.c, semantic.c:
* semantic.c (qualified_name_lookup_error, finish_id_expression):
add a location_t parameter so that
error message can have a more accurate location.
* cp-tree.h: updated prototype
* pt.c (tsubst_qualified_id): use location in error messages.
* parser.c (cp_parser_postfix_expression,
cp_parser_objc_statement, cp_parser_trait_expr,
cp_parser_token_is_class_key,
cp_parser_uncommitted_to_tentative_parse_p,
cp_parser_check_for_invalid_template_id, cp_parser_is_string_literal,
cp_parser_error, cp_parser_name_lookup_error,
cp_parser_simulate_error, cp_parser_check_decl_spec,
cp_parser_check_decl_spec, cp_parser_non_integral_constant_expression,
cp_parser_diagnose_invalid_type_name,
cp_parser_parse_and_diagnose_invalid_type_name,
cp_parser_require_pragma_eol, cp_parser_make_typename_type,
cp_parser_string_literal, cp_parser_primary_expression,
cp_parser_primary_expression, cp_parser_unqualified_id,
cp_parser_nested_name_specifier_opt, cp_parser_postfix_expression,
cp_parser_postfix_dot_deref_expression, cp_parser_new_expression,
cp_parser_direct_new_declarator, cp_parser_builtin_offsetof,
cp_parser_label_for_labeled_statement, cp_parser_statement_seq_opt,
cp_parser_jump_statement, cp_parser_block_declaration,
cp_parser_simple_declaration, cp_parser_decl_specifier_seq,
cp_parser_function_specifier_opt, cp_parser_decltype,
cp_parser_mem_initializer_list, cp_parser_mem_initializer,
cp_parser_mem_initializer_id, cp_parser_template_parameter,
cp_parser_type_parameter, cp_parser_template_id, cp_parser_template_name,
cp_parser_template_argument): likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137716 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-07-08 Simon Martin <simartin@users.sourceforge.net>
PR c++/34963
* decl.c (grokdeclarator): Reset storage_class and staticp for friend
functions declared with a storage class qualifier.
gcc/testsuite/
2008-07-08 Simon Martin <simartin@users.sourceforge.net>
PR c++/34963
* g++.dg/parse/dtor13.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137637 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-07-02 Jason Merrill <jason@redhat.com>
Implement WG21 N2672, Initializer List proposed wording
* cp-tree.h (enum cp_tree_index): Add CPTI_INIT_LIST_TYPE.
(struct lang_type_class): Add has_list_ctor bitfield.
(TYPE_HAS_LIST_CTOR): New macro.
(BRACE_ENCLOSED_INITIALIZER_P): Expect init_list_type_node.
(CONSTRUCTOR_IS_DIRECT_INIT): New macro.
(LOOKUP_NO_NARROWING): New macro.
(LOOKUP_NO_COPY_CTOR_CONVERSION): New macro.
* parser.c (cp_parse_braced_list): Split out from...
(cp_parser_initializer_clause): ...here.
(cp_parser_postfix_expression): Build up CONSTRUCTOR for compound
literal here.
(cp_lexer_next_token_is_not_keyword): New fn.
(cp_parser_parenthesized_expression_list): Handle { }.
(cp_parser_new_expression, cp_parser_new_initializer): Likewise.
(cp_parser_assignment_expression, cp_parser_condition): Likewise.
(cp_parser_jump_statement, cp_parser_simple_declaration): Likewise.
(cp_parser_mem_initializer, cp_parser_init_declarator): Likewise.
(cp_parser_initializer, cp_parser_functional_cast): Likewise.
(cp_parser_omp_for_loop, cp_parser_cache_group): Likewise.
(cp_parser_save_member_function_body): Likewise.
* call.c (conversion_kind): Add ck_list, ck_aggr.
(struct conversion): Add check_narrowing bitfield, conversion list.
(build_list_conv): New fn.
(build_aggr_conv): New fn.
(implicit_conversion): Call them.
(standard_conversion): Set check_narrowing if appropriate.
(add_function_candidate): Handle LOOKUP_NO_COPY_CTOR_CONVERSION.
(build_user_type_conversion_1): When converting from an init list,
we allow additional conversions except when calling a copy ctor.
(convert_like_real): Calling an explicit ctor for an init list is
ill-formed. Handle ck_list and ck_addr. Check narrowing.
(build_new_method_call): If CONSTRUCTOR_IS_DIRECT_INIT is set and
class doesn't have a list ctor, break the {} into a TREE_LIST.
(compare_ics): ck_list is better than other UDCs.
(set_up_extended_ref_temp): Split out from initialize_reference.
(is_std_init_list): New fn.
(is_list_ctor): New fn.
* decl.c (cxx_init_decl_processing): Create init_list_type_node.
(reshape_init_array_1): Pass it to build_constructor.
(reshape_init_class): Ditto.
(initialize_artificial_var): Pass the appropriate type.
(build_aggr_init_full_exprs): Split out from...
(check_initializer): ...here. Handle new semantics.
(build_init_list_var_init): New subroutine of check_initializer.
(grokdeclarator): Converting constructors can have more than one parm.
(grok_special_member_properties): Set TYPE_HAS_LIST_CTOR.
* init.c (expand_default_init): Only do digest_init for aggregates.
* rtti.c (tinfo_base_init): Pass init_list_type_node to
build_constructor_from_list.
(generic_initializer, ptr_initializer): Ditto.
(ptm_initializer, class_initializer): Ditto.
(get_pseudo_ti_init): Ditto.
* error.c (dump_type): Handle init_list_type_node.
(maybe_warn_cpp0x): New fn.
(maybe_varn_variadic_templates): Call it.
* cvt.c (ocp_convert): Handle conversion from { }.
* tree.c (build_array_of_n_type): New fn.
* typeck2.c (store_init_value): Use init_list_type_node.
(digest_init): Likewise.
(check_narrowing): New fn.
* semantics.c: (finish_compound_literal): Take CONSTRUCTOR instead
of vector of constructor elts. Handle non-aggregate types. Make
constant literals static.
* pt.c: (tsubst_copy_and_build): Adjust.
(unify): Handle { }.
* name-lookup.c (arg_assoc_type): Handle init_list_type_node.
gcc/ChangeLog:
2008-07-02 Jason Merrill <jason@redhat.com>
* tree.c (ctor_to_list): New fn.
* tree.h: Declare it.
(CONSTRUCTOR_ELT): New macro.
(CONSTRUCTOR_NELTS): New macro.
libstdc++-v3/ChangeLog:
2008-07-02 Jason Merrill <jason@redhat.com>
* libsupc++/initializer_list: New file.
* include/bits/stl_map.h (insert(initializer_list)): New method.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137361 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-14 Simon Martin <simartin@users.sourceforge.net>
PR c++/35320
* decl2.c (grokbitfield): Receive the list of attributes, pass it to
grokdeclarator and apply it to the created declaration.
* cp-tree.h (grokbitfield): Update prototype.
* parser.c (cp_parser_member_declaration): Don't apply the attributes
since they are now applied in grokbitfield. Adjusted the call to
grokbitfield.
(cp_parser_objc_class_ivars): Likewise.
gcc/testsuite/
2008-06-14 Simon Martin <simartin@users.sourceforge.net>
PR c++/35320
* g++.dg/parse/bitfield3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136778 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/35327
* decl.c (grokdeclarator): In case of wrong return type return
immediately error_mark_node.
/testsuite
2008-06-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/35327
* g++.dg/parse/crash41.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136518 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (cp_parser_decl_specifier_seq): Add location to error
message.
* g++.dg/parse/friend8.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133738 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* g++.dg/parse/attr-externally-visible-1.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131968 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* friend.c (do_friend): Check for prior declaration of a friend
function of a local class.
* name-lookup.c (lookup_name_innermost_nonclass_level):
No longer static.
* name-lookup.h: Declare it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131740 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (grokdeclarator): Reject friend sfk_constructor
FUNCTION_TYPE.
* g++.dg/parse/friend7.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131025 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-12-10 Simon Martin <simartin@users.sourceforge.net>
PR c++/34059
* typeck.c (build_class_member_access_expr): Compute MEMBER_SCOPE from
MEMBER's BASELINK_ACCESS_BINFO instead of its BASELINK_BINFO.
gcc/testsuite/
2007-12-10 Simon Martin <simartin@users.sourceforge.net>
PR c++/34059
* g++.dg/parse/crash40.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130754 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/34056
PR c++/34057
PR c++/34058
PR c++/34060
* pt.c (find_parameter_packs_r): If ppd->set_packs_to_error,
set to error_mark_node the outermost POINTER_TYPE to the pack if
it is seen in a POINTER_TYPE.
(push_template_decl_real): If check_for_bare_parameter_packs
fails for function return type, set the return type to
integer_type_node. If check_for_bare_parameter_packs failed
for non-function, return error_mark_node.
* g++.dg/parse/crash36.C: Add another dg-error.
* g++.dg/cpp0x/pr34054.C: New test.
* g++.dg/cpp0x/pr34056.C: New test.
* g++.dg/cpp0x/pr34057.C: New test.
* g++.dg/cpp0x/pr34058.C: New test.
* g++.dg/cpp0x/pr34060.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130152 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/31439
PR c++/32114
PR c++/32115
PR c++/32125
PR c++/32126
PR c++/32127
PR c++/32128
PR c++/32253
PR c++/32566
* typeck.c (check_return_expr): Pass address of retval to
check_for_bare_parameter_packs.
* class.c (build_base_field): Tolerate bases that have no layout
due to errors.
(end_of_base): Ditto.
* tree.c (canonical_type_variant): Be careful with
ERROR_MARK_NODE.
* cp-tree.h (check_for_bare_parameter_packs): Now accepts a
tree*.
* pt.c (find_parameter_pack_data): Add set_packs_to_error field,
which states whether parameter packs should be replaced with
ERROR_MARK_NODE.
(find_parameter_packs_r): Pass addresses to cp_walk_tree wherever
possible. If set_packs_to_error is set true, replace the parameter
pack with ERROR_MARK_NODE. Manage our own pointer sets.
(uses_parameter_packs): Don't set parameter packs to
ERROR_MARK_NODE.
(check_for_bare_parameter_packs): Now takes a pointer to a tree,
which may be modified (if it is a parameter pack). Instructs
find_parameter_packs_r to replace parameter packs with
ERROR_MARK_NODE (so that they won't cause errors later on).
(process_template_parm): Pass pointer to
check_for_bare_parameter_packs.
(process_partial_specialization): Replace pack expansions before
the end of the template argument list with ERROR_MARK_NODE.
(push_template_decl_real): Pass pointer to
check_for_bare_parameter_packs. Replace parameter packs not at the
end of the template parameter list with ERROR_MARK_NODE.
(convert_template_argument): Be more careful about using DECL_NAME
on only declarations.
(unify): Can't unify against ERROR_MARK_NODE.
* semantics.c (finish_cond): Pass pointer to
check_for_bare_parameter_packs.
(finish_expr_stmt): Ditto.
(finish_for_expr): Ditto.
(finish_switch_cond): Pass pointer to
check_for_bare_parameter_packs, and call it before we put the
condition into the statement.
(finish_mem_initializers): Pass pointer to
check_for_bare_parameter_packs.
(finish_member_declaration): Ditto.
* parser.c (cp_parser_base_clause): Ditto.
2007-11-06 Douglas Gregor <doug.gregor@gmail.com>
* testsuite/g++.dg/parser/crash36.C: Tweak expected errors.
* testsuite/g++.dg/cpp0x/pr31439.C: New.
* testsuite/g++.dg/cpp0x/pr32114.C: New.
* testsuite/g++.dg/cpp0x/pr32115.C: New.
* testsuite/g++.dg/cpp0x/pr32125.C: New.
* testsuite/g++.dg/cpp0x/pr32126.C: New.
* testsuite/g++.dg/cpp0x/pr32127.C: New.
* testsuite/g++.dg/cpp0x/pr32128.C: New.
* testsuite/g++.dg/cpp0x/pr32253.C: New.
* testsuite/g++.dg/cpp0x/pr32566.C: New.
* testsuite/g++.dg/cpp0x/pr31445.C: Tweak expected errors.
* testsuite/g++.dg/cpp0x/pr31438.C: Ditto.
* testsuite/g++.dg/cpp0x/variadic81.C: Ditto.
* testsuite/g++.dg/cpp0x/pr31432.C: Ditto.
* testsuite/g++.dg/cpp0x/pr31442.C: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129928 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129774 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/31993
PR c++/32252
* pt.c (find_parameter_packs_r): Fix typo in comment.
(convert_template_argument): Look at the pattern of a pack
expansion to determine what kind of entity we're converting.
(coerce_template_parameter_pack): When we have coerced a non-type
template parameter pack, substitute into the type of that pack.
(tsubst_pack_expansion): When our substitution of a parameter pack
is a "trivial" substitution of itself, just substitute into the
pack expansion rather than actually expanding.
2007-10-30 Douglas Gregor <doug.gregor@gmail.com>
PR c++/31993
PR c++/32252
* g++.dg/cpp0x/pr31993.C: New
* g++.dg/cpp0x/pr32252.C: New
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129773 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-10-26 Paolo Carlini <pcarlini@suse.de>
PR c++/31747
* decl.c (grokdeclarator): In case of conflicting specifiers
just return error_mark_node.
testsuite/
2007-10-26 Paolo Carlini <pcarlini@suse.de>
PR c++/31747
* g++.dg/parse/crash39.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129647 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-09-25 Simon Martin <simartin@users.sourceforge.net>
PR c++/33207
* name-lookup.c (pushtag): Do not create an implicit typedef before
the associated type declaration is known to be valid.
gcc/testsuite/
2007-09-25 Simon Martin <simartin@users.sourceforge.net>
PR c++/33207
* g++.dg/parse/crash38.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128769 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lib/file-format.exp (gcc_target_object_format): Use remote_exec
to call objdump.
* lib/scanasm.exp (scan-assembler-dem, scan-assembler-dem-not):
Use remote_exec to call c++filt.
* lib/target-supports-dg.exp (dg-require-host-local): New.
* gcc.misc-tests/options.exp: Allow .exe in command paths.
* g++.dg/parse/repo1.C: Use dg-require-host-local.
* g++.dg/rtti/repo1.C: Likewise.
* g++.dg/template/repo1.C: Likewise.
* g++.dg/template/repo2.C: Likewise.
* g++.dg/template/repo3.C: Likewise.
* g++.dg/template/repo4.C: Likewise.
* g++.dg/template/repo5.C: Likewise.
* g++.old-deja/g++.pt/instantiate4.C: Likewise.
* g++.old-deja/g++.pt/instantiate6.C: Likewise.
* g++.old-deja/g++.pt/repo1.C: Likewise.
* g++.old-deja/g++.pt/repo2.C: Likewise.
* g++.old-deja/g++.pt/repo3.C: Likewise.
* g++.old-deja/g++.pt/repo4.C: Likewise.
* gcc.dg/cpp/trad/builtins.c: Likewise.
libstdc++-v3:
* testsuite/lib/libstdc++.exp (v3-build-support): Specify output
file for preprocessing. Use remote_exec to call ar and ranlib.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128283 138bc75d-0d04-0410-961f-82ee72b054a4
|