[Bug c++/20599] variadic template support

2007-03-09 Thread dgregor at gcc dot gnu dot org


--- Comment #12 from dgregor at gcc dot gnu dot org  2007-03-10 01:59 
---
Subject: Bug 20599

Author: dgregor
Date: Sat Mar 10 01:58:58 2007
New Revision: 122788

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122788
Log:
2007-03-09  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/20599
* typeck.c (check_return_expr): Check for bare parameter packs.
(comptypes): Compare template parameter packs and
type pack expansions.
* decl.c (grokdeclarator): Deal with the declaration of function
parameter packs.
(grokparms): Verify that the (optional) function parameter pack is
at the end of the parameter list.
(xref_basetypes): Handle pack expansions in the base class.
(cp_tree_node_structure): Handle ARGUMENT_PACK_SELECT.
* cp-tree.def (TYPE_ARGUMENT_PACK): New.
(NONTYPE_ARGUMENT_PACK): New.
(TYPE_PACK_EXPANSION): New.
(EXPR_PACK_EXPANSION): New.
(ARGUMENT_PACK_SELECT): New.
* cp-objcp-common.c (cp_tree_size): Compute size of
(NON)TYPE_ARGUMENT_PACK, (TYPE|EXPR)_PACK_EXPANSION, and
ARGUMENT_PACK_SELECT.
* error.c (dump_template_argument): Print template argument packs.
(dump_template_argument_list): Ditto.
(dump_template_parameter): Dump `...' for template type parameter
packs.
(dump_type): Dump TYPE_PACK_EXPANSION nodes.
(dump_parameters): Print function parameter packs.
(dump_template_parms): Print template argument packs.
(dump_expr): Dump EXPR_PACK_EXPANSION nodes.
(maybe_warn_variadic_templates): New.
* operators.def: Add ellipsis operator for EXPR_PACK_EXPANSION.
* tree.c (cp_walk_subtrees): Walk BASELINK, TYPE_ARGUMENT_PACK,
NONTYPE_ARGUMENT_PACK, TYPE_PACK_EXPANSION, EXPR_PACK_EXPANSION,
CAST_EXPR. 
* mangle.c (write_type): Mangle TYPE_PACK_EXPANSION.
(write_template_arg): Write argument packs as separate arguments.
* cp-tree.h (struct template_parm_index_s): Add flag that
indicates that the template parameter is actually a parameter
pack.
(struct tree_argument_pack_select): New.
(enum cp_tree_node_structure_enum): Add TS_CP_ARGUMENT_PACK_SELECT.
(union lang_tree_node): Add argument_pack_select.
(FUNCTION_PARAMETER_PACK_P): New.
(PACK_EXPANSION_P): New.
(PACK_EXPANSION_PATTERN): New.
(SET_PACK_EXPANSION_PATTERN): New.
(PACK_EXPANSION_PARAMETER_PACKS): New.
(ARGUMENT_PACK_P): New.
(ARGUMENT_PACK_ARGS): New.
(SET_ARGUMENT_PACK_ARGS): New.
(ARGUMENT_PACK_INCOMPLETE_P): New.
(ARGUMENT_PACK_EXPLICIT_ARGS): New.
(TEMPLATE_PARM_PARAMETER_PACK): New.
(TEMPLATE_TYPE_PARAMETER_PACK): New.
(ARGUMENT_PACK_SELECT_FROM_PACK): New.
(ARGUMENT_PACK_SELECT_INDEX): New.
(ARGUMENT_PACK_SELECT_ARG): New.
(struct cp_declarator): Add parameter_pack_p flag.
(maybe_warn_variadic_templates): Declare.
(process_template_parm): Add bool parameter IS_PARAMETER_PACK, to
indicate a template parameter pack. 
(uses_parameter_packs): Declare.
(template_parameter_pack_p): Declare.
(template_parms_variadic_p): Declare.
(make_pack_expansion): Declare.
(check_for_bare_parameter_packs): Declare.
* cxx-pretty-print.c (pp_cxx_unary_expression): Print
sizeof... expressions. 
(pp_cxx_expression): Print pack expansions and non-type argument
packs.
(pp_cxx_exception_specification): Print pack expansions. 
(pp_cxx_direct_declarator): Print ellipsis for parameter packs.
(pp_cxx_ctor_initializer): Print pack expansions.
(pp_cxx_type_id): Print pack expansions.
(pp_cxx_template_argument_list): Print argument packs.
(pp_cxx_template_parameter): Print ellipsis for template parameter
packs.
* pt.c (comp_template_parms): Compare template parameter packs.
(template_parameter_pack_p): New.
(template_parms_variadic_p): New.
(template_args_variadic_p): New.
(make_ith_pack_parameter_name): New.
(struct find_parameter_pack_data): New.
(find_parameter_packs_r): New.
(uses_parameter_packs): New.
(make_pack_expansion): New.
(check_for_bare_parameter_packs): New.
(expand_template_argument_pack): New.
(reduce_template_parm_level): Propagate parameter pack flag.
(process_template_parm): Add is_parameter_pack parameter to state
when the parameter is actually a parameter pack. Create template
parameter packs when is_parameter_pack is true.
(current_template_args): The argument for a template parameter
pack is an argument pack containing a single pack expansion.
(process_partial_specialization): When checking that non-ty

[Bug c++/20599] variadic template support

2007-03-09 Thread dgregor at gcc dot gnu dot org


--- Comment #13 from dgregor at gcc dot gnu dot org  2007-03-10 02:02 
---
Subject: Bug 20599

Author: dgregor
Date: Sat Mar 10 02:01:49 2007
New Revision: 122789

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122789
Log:
2007-03-09  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/20599
* g++.dg/cpp0x/variadic-bind.C: New.
* g++.dg/cpp0x/variadic-function.C: New.
* g++.dg/cpp0x/variadic-mem_fn.C: New.
* g++.dg/cpp0x/variadic-tuple.C: New.
* g++.dg/cpp0x/variadic1.C: New.
* g++.dg/cpp0x/variadic2.C: New.
* g++.dg/cpp0x/variadic3.C: New.
* g++.dg/cpp0x/variadic4.C: New.
* g++.dg/cpp0x/variadic5.C: New.
* g++.dg/cpp0x/variadic6.C: New.
* g++.dg/cpp0x/variadic7.C: New.
* g++.dg/cpp0x/variadic8.C: New.
* g++.dg/cpp0x/variadic9.C: New.
* g++.dg/cpp0x/variadic10.C: New.
* g++.dg/cpp0x/variadic11.C: New.
* g++.dg/cpp0x/variadic12.C: New.
* g++.dg/cpp0x/variadic13.C: New.
* g++.dg/cpp0x/variadic14.C: New.
* g++.dg/cpp0x/variadic15.C: New.
* g++.dg/cpp0x/variadic16.C: New.
* g++.dg/cpp0x/variadic17.C: New.
* g++.dg/cpp0x/variadic18.C: New.
* g++.dg/cpp0x/variadic19.C: New.
* g++.dg/cpp0x/variadic20.C: New.
* g++.dg/cpp0x/variadic21.C: New.
* g++.dg/cpp0x/variadic22.C: New.
* g++.dg/cpp0x/variadic23.C: New.
* g++.dg/cpp0x/variadic24.C: New.
* g++.dg/cpp0x/variadic25.C: New.
* g++.dg/cpp0x/variadic26.C: New.
* g++.dg/cpp0x/variadic27.C: New.
* g++.dg/cpp0x/variadic28.C: New.
* g++.dg/cpp0x/variadic29.C: New.
* g++.dg/cpp0x/variadic30.C: New.
* g++.dg/cpp0x/variadic31.C: New.
* g++.dg/cpp0x/variadic32.C: New.
* g++.dg/cpp0x/variadic33.C: New.
* g++.dg/cpp0x/variadic34.C: New.
* g++.dg/cpp0x/variadic35.C: New.
* g++.dg/cpp0x/variadic36.C: New.
* g++.dg/cpp0x/variadic37.C: New.
* g++.dg/cpp0x/variadic38.C: New.
* g++.dg/cpp0x/variadic39.C: New.
* g++.dg/cpp0x/variadic40.C: New.
* g++.dg/cpp0x/variadic41.C: New.
* g++.dg/cpp0x/variadic42.C: New.
* g++.dg/cpp0x/variadic43.C: New.
* g++.dg/cpp0x/variadic44.C: New.
* g++.dg/cpp0x/variadic45.C: New.
* g++.dg/cpp0x/variadic46.C: New.
* g++.dg/cpp0x/variadic47.C: New.
* g++.dg/cpp0x/variadic48.C: New.
* g++.dg/cpp0x/variadic49.C: New.
* g++.dg/cpp0x/variadic50.C: New.
* g++.dg/cpp0x/variadic51.C: New.
* g++.dg/cpp0x/variadic52.C: New.
* g++.dg/cpp0x/variadic53.C: New.
* g++.dg/cpp0x/variadic54.C: New.
* g++.dg/cpp0x/variadic55.C: New.
* g++.dg/cpp0x/variadic56.C: New.
* g++.dg/cpp0x/variadic57.C: New.
* g++.dg/cpp0x/variadic58.C: New.
* g++.dg/cpp0x/variadic59.C: New.
* g++.dg/cpp0x/variadic60.C : New.
* g++.dg/cpp0x/variadic61.C : New.
* g++.dg/cpp0x/variadic62.C : New.
* g++.dg/cpp0x/variadic63.C : New.
* g++.dg/cpp0x/variadic64.C : New.
* g++.dg/cpp0x/variadic65.C : New.
* g++.dg/cpp0x/variadic66.C : New.
* g++.dg/cpp0x/variadic67.C : New.
* g++.dg/cpp0x/variadic68.C : New.  
* g++.dg/cpp0x/variadic69.C : New.
* g++.dg/cpp0x/variadic70.C : New.
* g++.dg/cpp0x/variadic71.C : New.
* g++.dg/cpp0x/variadic72.C : New.
* g++.dg/cpp0x/variadic73.C : New.
* g++.dg/cpp0x/variadic74.C : New.
* g++.dg/cpp0x/variadic75.C : New.
* g++.dg/cpp0x/variadic-ex1.C : New.
* g++.dg/cpp0x/variadic-ex2.C : New.
* g++.dg/cpp0x/variadic-ex3.C : New.
* g++.dg/cpp0x/variadic-ex4.C : New.
* g++.dg/cpp0x/variadic-ex5.C : New.
* g++.dg/cpp0x/variadic-ex6.C : New.
* g++.dg/cpp0x/variadic-ex7.C : New.
* g++.dg/cpp0x/variadic-ex8.C : New.
* g++.dg/cpp0x/variadic-ex9.C : New.
* g++.dg/cpp0x/variadic-ex10.C : New.
* g++.dg/cpp0x/variadic-ex11.C : New.
* g++.dg/cpp0x/variadic-ex12.C : New.
* g++.dg/cpp0x/variadic-ex13.C : New.
* g++.dg/cpp0x/variadic-ex14.C : New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-bind.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex1.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex10.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex11.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex12.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex13.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex14.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex2.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex3.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex4.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex5.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex6.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-ex7.C

[Bug c++/29993] typdef declaration of cv-qualified function in class

2007-03-28 Thread dgregor at gcc dot gnu dot org


--- Comment #5 from dgregor at gcc dot gnu dot org  2007-03-28 13:31 ---
Subject: Bug 29993

Author: dgregor
Date: Wed Mar 28 13:31:37 2007
New Revision: 123294

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123294
Log:
2007-03-28 Douglas Gregor <[EMAIL PROTECTED]>

PR c++/29993
* decl.c (grokdeclarator): Deal with cv-qualified function type
typedefs in the same way for member and non-member functions.

2007-03-28  Douglas Gregor  <[EMAIL PROTECTED]>


PR c++/29993
* g++.dg/other/cv_func2.C: New.


Added:
trunk/gcc/testsuite/g++.dg/other/cv_func2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29993



[Bug c++/29993] typdef declaration of cv-qualified function in class

2007-03-28 Thread dgregor at gcc dot gnu dot org


--- Comment #6 from dgregor at gcc dot gnu dot org  2007-03-28 15:28 ---
Committed fix to mainline.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29993



[Bug c++/20599] variadic template support

2007-03-28 Thread dgregor at gcc dot gnu dot org


--- Comment #16 from dgregor at gcc dot gnu dot org  2007-03-28 15:30 
---
This functionality is part of the experimental C++0x mode, and is under control
of the -std=gnu++0x flag in the mainline (4.3.0) compiler.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|SUSPENDED   |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20599



[Bug middle-end/30666] [4.3 Regression] warning: canonical types differ for identical types double __complex__ and double __complex__

2007-03-28 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-03-02 15:37:59 |2007-03-28 15:30:33
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30666



[Bug c++/31138] [4.3 regression] ICE with ellipsis

2007-03-28 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-28 15:31:26
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31138



[Bug c++/31140] [4.3 regression] ICE with ellipsis in template parameter list

2007-03-28 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-28 15:31:44
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31140



[Bug c++/31141] [4.3 regression] ICE with ellipsis in template parameter list

2007-03-28 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-28 15:31:54
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31141



[Bug objc++/31134] [4.3 Regression] Objective-C++ has ran into the tree number limit

2007-03-28 Thread dgregor at gcc dot gnu dot org


--- Comment #9 from dgregor at gcc dot gnu dot org  2007-03-28 19:46 ---
This problem has been solved by 16-bit tree codes:

  http://gcc.gnu.org/ml/gcc-patches/2007-03/msg01721.html


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31134



[Bug middle-end/30666] [4.3 Regression] warning: canonical types differ for identical types double __complex__ and double __complex__

2007-03-29 Thread dgregor at gcc dot gnu dot org


--- Comment #11 from dgregor at gcc dot gnu dot org  2007-03-29 15:11 
---
Subject: Bug 30666

Author: dgregor
Date: Thu Mar 29 15:11:28 2007
New Revision: 123330

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123330
Log:
2007-03-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR tree-optimization/30666
* tree.c (build_complex_type): When creating type names for DWARF2
debug info, create TYPE_DECLs for TYPE_NAME instead of
IDENTIFIER_NODEs.
(build_common_tree_nodes_2): Use build_complex_type when building
predefined complex types, to preserve canonical types.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30666



[Bug middle-end/30666] [4.3 Regression] warning: canonical types differ for identical types double __complex__ and double __complex__

2007-03-29 Thread dgregor at gcc dot gnu dot org


--- Comment #12 from dgregor at gcc dot gnu dot org  2007-03-29 15:14 
---
Fix committed to mainline


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30666



[Bug c++/31141] [4.3 regression] ICE with ellipsis in template parameter list

2007-03-31 Thread dgregor at gcc dot gnu dot org


--- Comment #2 from dgregor at gcc dot gnu dot org  2007-03-31 13:41 ---
Subject: Bug 31141

Author: dgregor
Date: Sat Mar 31 13:41:30 2007
New Revision: 123380

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123380
Log:
2007-03-31  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/31138
PR c++/31140
PR c++/31141
* parser.c (declarator_can_be_parameter_pack): New.
(cp_parser_template_parameter): Only parse the `...' if the
declarator can be a parameter pack.
(cp_parser_parameter_declaration): Ditto. Also, handle when TYPE
is NULL.
* pt.c (find_parameter_packs_r): Look into the bounds on integer
types (they could be used as array bounds). 
(check_for_bare_parameter_packs): Deal with TEMPLATE_PARM_INDEX.
(tsubst_pack_expansion): Handle failure to expand parameter
packs.

2007-03-31  Douglas Gregor  <[EMAIL PROTECTED]>

* g++.dg/parser/pr31138.C: New.
* g++.dg/parser/pr31140.C: New.
* g++.dg/parser/pr31141.C: New.


Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31141



[Bug c++/31140] [4.3 regression] ICE with ellipsis in template parameter list

2007-03-31 Thread dgregor at gcc dot gnu dot org


--- Comment #2 from dgregor at gcc dot gnu dot org  2007-03-31 13:41 ---
Subject: Bug 31140

Author: dgregor
Date: Sat Mar 31 13:41:30 2007
New Revision: 123380

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123380
Log:
2007-03-31  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/31138
PR c++/31140
PR c++/31141
* parser.c (declarator_can_be_parameter_pack): New.
(cp_parser_template_parameter): Only parse the `...' if the
declarator can be a parameter pack.
(cp_parser_parameter_declaration): Ditto. Also, handle when TYPE
is NULL.
* pt.c (find_parameter_packs_r): Look into the bounds on integer
types (they could be used as array bounds). 
(check_for_bare_parameter_packs): Deal with TEMPLATE_PARM_INDEX.
(tsubst_pack_expansion): Handle failure to expand parameter
packs.

2007-03-31  Douglas Gregor  <[EMAIL PROTECTED]>

* g++.dg/parser/pr31138.C: New.
* g++.dg/parser/pr31140.C: New.
* g++.dg/parser/pr31141.C: New.


Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31140



[Bug c++/31138] [4.3 regression] ICE with ellipsis

2007-03-31 Thread dgregor at gcc dot gnu dot org


--- Comment #6 from dgregor at gcc dot gnu dot org  2007-03-31 13:41 ---
Subject: Bug 31138

Author: dgregor
Date: Sat Mar 31 13:41:30 2007
New Revision: 123380

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123380
Log:
2007-03-31  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/31138
PR c++/31140
PR c++/31141
* parser.c (declarator_can_be_parameter_pack): New.
(cp_parser_template_parameter): Only parse the `...' if the
declarator can be a parameter pack.
(cp_parser_parameter_declaration): Ditto. Also, handle when TYPE
is NULL.
* pt.c (find_parameter_packs_r): Look into the bounds on integer
types (they could be used as array bounds). 
(check_for_bare_parameter_packs): Deal with TEMPLATE_PARM_INDEX.
(tsubst_pack_expansion): Handle failure to expand parameter
packs.

2007-03-31  Douglas Gregor  <[EMAIL PROTECTED]>

* g++.dg/parser/pr31138.C: New.
* g++.dg/parser/pr31140.C: New.
* g++.dg/parser/pr31141.C: New.


Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31138



[Bug c++/31138] [4.3 regression] ICE with ellipsis

2007-03-31 Thread dgregor at gcc dot gnu dot org


--- Comment #7 from dgregor at gcc dot gnu dot org  2007-03-31 13:43 ---
Fixed in mainline compiler


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31138



[Bug c++/31140] [4.3 regression] ICE with ellipsis in template parameter list

2007-03-31 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2007-03-31 13:44 ---
Fixed in mainline compiler


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31140



[Bug c++/31141] [4.3 regression] ICE with ellipsis in template parameter list

2007-03-31 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2007-03-31 13:44 ---
Fixed in mainline compiler


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31141



[Bug libstdc++/31426] New: TR1 includes do not work with -std=c++0x

2007-04-02 Thread dgregor at gcc dot gnu dot org
When the compiler is provided with -std=c++0x to enable the experimental C++0x
mode, includes of TR1 facilities (e.g., tr1/tuple) do not put TR1 functionality
into namespace std::tr1, breaking backward compatibility. Here's an example
program that compiles without -std=c++0x but does not compile with it:

#include 

int main()
{
  std::tr1::tuple x(17, 3.14);
  return 0;
}


-- 
   Summary: TR1 includes do not work with -std=c++0x
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dgregor at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31426



[Bug libstdc++/31426] TR1 includes do not work with -std=c++0x

2007-04-02 Thread dgregor at gcc dot gnu dot org


--- Comment #2 from dgregor at gcc dot gnu dot org  2007-04-02 16:32 ---
I don't think it is a feature. 

In C++0x mode, if one includes , one should get std::tuple. That's what
the C++0x working paper says.

In any mode, if one includes , one should get std::tr1::tuple.
That's what TR1 says (well, TR1 might say that you get std::tr1::tuple from
including ; different vendors have done different things, here). 

I don't think support for C++0x precludes support for TR1. They coexist very
well, especially because TR1 was designed to be compatible with C++0x. For
example, C++0x-conforming implementations of the TR1 facilities also meet the
requirements of TR1.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31426



[Bug c++/31078] [4.3 Regression] warning: same canonical type node for different types with const strings

2007-04-04 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-03-08 13:10:49 |2007-04-05 04:43:14
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31078



[Bug c++/31103] [4.3 Regression] same canonical type node for VLAs

2007-04-04 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|doug dot gregor at gmail dot|
   |com |
 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-05 04:40:40
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31103



[Bug c++/31505] [4.3 Regression] Canonical types failures

2007-04-09 Thread dgregor at gcc dot gnu dot org


--- Comment #6 from dgregor at gcc dot gnu dot org  2007-04-09 10:39 ---
This is clearly my bug, but I am not able to reproduce it on i686-pc-linux-gnu. 

Does the following patch fix the problem?

  http://gcc.gnu.org/ml/gcc-patches/2007-04/msg00188.html

If not, which platform are you seeing the problem on?


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-04-08 05:55:43 |2007-04-09 10:39:33
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31505



[Bug c++/31505] [4.3 Regression] Canonical types failures

2007-04-09 Thread dgregor at gcc dot gnu dot org


--- Comment #9 from dgregor at gcc dot gnu dot org  2007-04-09 15:09 ---
I can't reproduce this bug with r123671 on i686-pc-linux-gnu. However, since
the above patch does fix the problem, I'll add this PR to the ChangeLog for
that patch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31505



[Bug c++/31078] [4.3 Regression] warning: same canonical type node for different types with const strings

2007-04-12 Thread dgregor at gcc dot gnu dot org


--- Comment #13 from dgregor at gcc dot gnu dot org  2007-04-12 12:48 
---
Subject: Bug 31078

Author: dgregor
Date: Thu Apr 12 12:47:56 2007
New Revision: 123740

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123740
Log:
2007-04-12  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/31078
PR c++/31103
* c-common.c (c_build_qualified_type): Set canonical type
appropriately.  

2007-04-12  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/31078
* g++.dg/other/pr31078.C: New.

Added:
trunk/gcc/testsuite/g++.dg/other/pr31078.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-common.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31078



[Bug c++/31103] [4.3 Regression] same canonical type node for VLAs

2007-04-12 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2007-04-12 12:48 ---
Subject: Bug 31103

Author: dgregor
Date: Thu Apr 12 12:47:56 2007
New Revision: 123740

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123740
Log:
2007-04-12  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/31078
PR c++/31103
* c-common.c (c_build_qualified_type): Set canonical type
appropriately.  

2007-04-12  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/31078
* g++.dg/other/pr31078.C: New.

Added:
trunk/gcc/testsuite/g++.dg/other/pr31078.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-common.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31103



[Bug c++/31078] [4.3 Regression] warning: same canonical type node for different types with const strings

2007-04-12 Thread dgregor at gcc dot gnu dot org


--- Comment #14 from dgregor at gcc dot gnu dot org  2007-04-12 12:50 
---
Fixed on mainline


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31078



[Bug c++/31103] [4.3 Regression] same canonical type node for VLAs

2007-04-12 Thread dgregor at gcc dot gnu dot org


--- Comment #5 from dgregor at gcc dot gnu dot org  2007-04-12 12:50 ---
Fixed on mainline


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31103



[Bug c++/31505] [4.3 Regression] Canonical types failures

2007-04-12 Thread dgregor at gcc dot gnu dot org


--- Comment #13 from dgregor at gcc dot gnu dot org  2007-04-12 12:52 
---
Same problem/cause as 31103, which is now fixed on mainline.

*** This bug has been marked as a duplicate of 31103 ***


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31505



[Bug c++/31103] [4.3 Regression] same canonical type node for VLAs

2007-04-12 Thread dgregor at gcc dot gnu dot org


--- Comment #6 from dgregor at gcc dot gnu dot org  2007-04-12 12:52 ---
*** Bug 31505 has been marked as a duplicate of this bug. ***


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||bangerth at dealii dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31103



[Bug c++/31439] [4.3 regression] ICE with variadic template and broken specialization

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 16:44:18
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31439



[Bug c++/31441] [4.3 regression] ICE with variadic template and specialization

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 16:44:51
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31441



[Bug c++/31442] [4.3 regression] ICE with variadic template and default argument

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 16:45:13
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31442



[Bug c++/31443] [4.3 regression] ICE with invalid use of parameter pack in member template

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 16:45:46
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31443



[Bug c++/31444] [4.3 regression] ICE with invalid use of parameter pack in member template

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 16:46:21
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31444



[Bug c++/31445] [4.3 regression] type_argument_pack not supported by dump_type

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 16:46:50
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31445



[Bug c++/31431] [4.3 regression] ICE with invalid parameter pack

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 17:57:35
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31431



[Bug c++/31432] [4.3 regression] ICE with invalid parameter pack for template struct

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 17:58:26
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31432



[Bug c++/31433] [4.3 regression] ICE with invalid parameter pack for template struct

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 17:58:46
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31433



[Bug c++/31434] [4.3 regression] ICE with invalid use of parameter pack in function arg

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 17:59:04
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31434



[Bug c++/31435] [4.3 regression] ICE with invalid use of parameter pack in function arg

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 17:59:24
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31435



[Bug c++/31436] [4.3 regression] ICE with invalid use of parameter pack in function arg

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 17:59:43
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31436



[Bug c++/31437] [4.3 regression] ICE with invalid use of parameter pack in member function arg

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 18:00:05
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31437



[Bug c++/31438] [4.3 regression] ICE with invalid use of parameter pack in specialization

2007-04-25 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-04-25 18:00:43
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31438



[Bug c++/33185] [4.3 Regression] ICE: canonical types differ for identical types T [] and T []

2007-08-28 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2007-08-28 20:26 ---
Has anyone been able to reproduce this problem? I'm not able to trigger the
failure with the preprocessed source.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33185



[Bug c++/33194] [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...)

2007-08-28 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-08-28 20:34:54
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33194



[Bug c++/33194] [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...)

2007-08-28 Thread dgregor at gcc dot gnu dot org


--- Comment #1 from dgregor at gcc dot gnu dot org  2007-08-28 21:12 ---
Patch available here: http://gcc.gnu.org/ml/gcc-patches/2007-08/msg02013.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33194



[Bug c++/33194] [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...)

2007-08-29 Thread dgregor at gcc dot gnu dot org


--- Comment #2 from dgregor at gcc dot gnu dot org  2007-08-29 12:25 ---
Subject: Bug 33194

Author: dgregor
Date: Wed Aug 29 12:25:01 2007
New Revision: 127896

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=127896
Log:
2007-08-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/33194
* tree.c (build_type_attribute_qual_variant): Set canonical types
on the final, unqualified attribute variant before building the
qualified version.

2007-08-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/33194
* g++.dg/other/canon-33194.C: New.

Added:
trunk/gcc/testsuite/g++.dg/other/canon-33194.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33194



[Bug c++/33194] [4.3 Regression] ICE: canonical types differ for identical types void ()(const char*, ...) and void ()(const char*, ...)

2007-08-29 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2007-08-29 12:28 ---
Fixed on mailine


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33194



[Bug c++/33235] New: C++0x overloading problem with move constructor and trivial copy constructor

2007-08-29 Thread dgregor at gcc dot gnu dot org
Overload resolution is picking the wrong candidate for the construction of b3,
below:

  base2 b3(static_cast(b));

Instead of choosing the move constructor, it is picking the trivial copy
constructor. However, adding a normal copy constructor fixes the problem.

Naturally, this only occurs in C++0x mode.


-- 
   Summary: C++0x overloading problem with move constructor and
trivial copy constructor
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dgregor at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33235



[Bug c++/33235] C++0x overloading problem with move constructor and trivial copy constructor

2007-08-29 Thread dgregor at gcc dot gnu dot org


--- Comment #1 from dgregor at gcc dot gnu dot org  2007-08-29 16:16 ---
Created an attachment (id=14133)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14133&action=view)
Failing test-case


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33235



[Bug c++/32597] New operation with empty parameter pack does not value-initialize

2007-08-31 Thread dgregor at gcc dot gnu dot org


--- Comment #2 from dgregor at gcc dot gnu dot org  2007-08-31 19:18 ---
Subject: Bug 32597

Author: dgregor
Date: Fri Aug 31 19:18:20 2007
New Revision: 128000

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128000
Log:
2007-08-31 Douglas Gregor <[EMAIL PROTECTED]>

PR c++/32597
* init.c (build_default_init): Make extern.
* cp-tree.h (build_default_init): Declare here.
* pt.c (tsubst_expr): When the instantiation of the initializer of
a variable results in an empty list, default-initialize the
variable.
(tsubst_copy_and_build): When the instantiation of the initializer
in a new expression results in an empty initializer list,
default-initialize it.

2007-08-31 Douglas Gregor <[EMAIL PROTECTED]>

PR c++/32597
* gcc/testsuite/g++.dg/cpp0x/variadic-new2.C: New.
* gcc/testsuite/g++.dg/cpp0x/variadic-new.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-new.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic-new2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/init.c
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32597



[Bug c++/32597] New operation with empty parameter pack does not value-initialize

2007-08-31 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2007-08-31 19:19 ---
Fixed


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32597



[Bug c++/33112] ICE : canonical types differ for identical types const _CharT* [14] and const _CharT* [14]

2007-09-10 Thread dgregor at gcc dot gnu dot org


--- Comment #2 from dgregor at gcc dot gnu dot org  2007-09-10 20:38 ---
Could someone try the patch at

  http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00910.html

to determine whether this fixes the bug? I am unable to reproduce the bug
locally.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33112



[Bug c++/33185] [4.3 Regression] ICE: canonical types differ for identical types T [] and T []

2007-09-10 Thread dgregor at gcc dot gnu dot org


--- Comment #5 from dgregor at gcc dot gnu dot org  2007-09-10 20:38 ---
Could someone try the patch at

  http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00910.html

to determine whether this fixes the bug? I am unable to reproduce the bug
locally.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33185



[Bug c++/33185] [4.3 Regression] ICE: canonical types differ for identical types T [] and T []

2007-09-19 Thread dgregor at gcc dot gnu dot org


--- Comment #7 from dgregor at gcc dot gnu dot org  2007-09-19 21:45 ---
Here is the real fix:

  http://gcc.gnu.org/ml/gcc-patches/2007-09/msg01544.html


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-09-19 21:45:34
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33185



[Bug c++/33112] ICE : canonical types differ for identical types const _CharT* [14] and const _CharT* [14]

2007-09-19 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2007-09-19 21:45 ---
Here is the real fix:

  http://gcc.gnu.org/ml/gcc-patches/2007-09/msg01544.html


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-08-19 13:04:48 |2007-09-19 21:45:53
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33112



[Bug c++/33185] [4.3 Regression] ICE: canonical types differ for identical types T [] and T []

2007-09-24 Thread dgregor at gcc dot gnu dot org


--- Comment #10 from dgregor at gcc dot gnu dot org  2007-09-24 12:15 
---
Subject: Bug 33185

Author: dgregor
Date: Mon Sep 24 12:14:57 2007
New Revision: 128711

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128711
Log:
2007-09-24  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/33112
PR c++/33185
* tree.c (cplus_array_compare): Compare pointers, not types.
(build_cplus_array_type_1): Store new array type into the hash
table before building the canonical type; build the canonical type
correctly.
(cp_build_qualified_type_real): Put all of the array types with
cv-qualified element types into the C++ array hash table, built as 
variants of the unqualified versions.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/tree.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33185



[Bug c++/33112] ICE : canonical types differ for identical types const _CharT* [14] and const _CharT* [14]

2007-09-24 Thread dgregor at gcc dot gnu dot org


--- Comment #5 from dgregor at gcc dot gnu dot org  2007-09-24 12:15 ---
Subject: Bug 33112

Author: dgregor
Date: Mon Sep 24 12:14:57 2007
New Revision: 128711

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128711
Log:
2007-09-24  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/33112
PR c++/33185
* tree.c (cplus_array_compare): Compare pointers, not types.
(build_cplus_array_type_1): Store new array type into the hash
table before building the canonical type; build the canonical type
correctly.
(cp_build_qualified_type_real): Put all of the array types with
cv-qualified element types into the C++ array hash table, built as 
variants of the unqualified versions.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/tree.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33112



[Bug c++/33112] ICE : canonical types differ for identical types const _CharT* [14] and const _CharT* [14]

2007-09-24 Thread dgregor at gcc dot gnu dot org


--- Comment #6 from dgregor at gcc dot gnu dot org  2007-09-24 12:52 ---
Fixed by the patch below


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33112



[Bug c++/33185] [4.3 Regression] ICE: canonical types differ for identical types T [] and T []

2007-09-24 Thread dgregor at gcc dot gnu dot org


--- Comment #11 from dgregor at gcc dot gnu dot org  2007-09-24 13:46 
---
Subject: Bug 33185

Author: dgregor
Date: Mon Sep 24 13:46:40 2007
New Revision: 128717

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128717
Log:
2007-09-24  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/33185
* tree.c (cp_build_qualified_type_real): Build a canonical
ARRAY_TYPE if the original ARRAY_TYPE was not a canonical type.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/tree.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33185



[Bug c++/33185] [4.3 Regression] ICE: canonical types differ for identical types T [] and T []

2007-09-24 Thread dgregor at gcc dot gnu dot org


--- Comment #12 from dgregor at gcc dot gnu dot org  2007-09-24 13:47 
---
Fixed, for real. Thanks for the ice_canonical.cpp test-case: it illustrated the
(other) underlying problem that wasn't apparent in 33112.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33185



[Bug c++/36460] No space between >'s not always handled in C++0x

2008-08-06 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-08-06 13:48:53
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36460



[Bug c++/36460] No space between >'s not always handled in C++0x

2008-08-06 Thread dgregor at gcc dot gnu dot org


--- Comment #5 from dgregor at gcc dot gnu dot org  2008-08-06 14:30 ---
Patch here: http://gcc.gnu.org/ml/gcc-patches/2008-08/msg00382.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36460



[Bug c++/36460] No space between >'s not always handled in C++0x

2008-08-06 Thread dgregor at gcc dot gnu dot org


--- Comment #6 from dgregor at gcc dot gnu dot org  2008-08-06 19:09 ---
Subject: Bug 36460

Author: dgregor
Date: Wed Aug  6 19:08:12 2008
New Revision: 138819

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138819
Log:
2008-08-06  Douglas Gregor  <[EMAIL PROTECTED]>

   PR c++/36460
   * parser.c (cp_parser_template_argument): Don't assume that '>>'
   following a type-id is an error when in C++0x mode.

2008-08-06  Douglas Gregor  <[EMAIL PROTECTED]>

   PR c++/36460
   * g++.dg/cpp0x/bracket3.C: Add another test case for the >>
   warning under -Wc++0x-compat.
   * g++.dg/cpp0x/bracket4.C: Add testcase for PR c++/36460.


Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/bracket3.C
trunk/gcc/testsuite/g++.dg/cpp0x/bracket4.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36460



[Bug c++/36460] No space between >'s not always handled in C++0x

2008-08-06 Thread dgregor at gcc dot gnu dot org


--- Comment #7 from dgregor at gcc dot gnu dot org  2008-08-06 19:12 ---
Fixed on the trunk.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36460



[Bug c++/37208] New: C++0x deleted functions and SFINAE

2008-08-22 Thread dgregor at gcc dot gnu dot org
Deleted functions don't cause SFINAE failures (or any kind of failure), but
they should.


-- 
   Summary: C++0x deleted functions and SFINAE
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dgregor at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37208



[Bug c++/37208] C++0x deleted functions and SFINAE

2008-08-22 Thread dgregor at gcc dot gnu dot org


--- Comment #1 from dgregor at gcc dot gnu dot org  2008-08-23 04:59 ---
Created an attachment (id=16133)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16133&action=view)
Test case illustrating the problem


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37208



gcc-bugs@gcc.gnu.org

2008-09-03 Thread dgregor at gcc dot gnu dot org


--- Comment #5 from dgregor at gcc dot gnu dot org  2008-09-04 04:35 ---
Thanks for the reduced test case. I'm on it.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-09-03 09:04:48 |2008-09-04 04:35:09
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37342



gcc-bugs@gcc.gnu.org

2008-09-03 Thread dgregor at gcc dot gnu dot org


--- Comment #6 from dgregor at gcc dot gnu dot org  2008-09-04 05:42 ---
Patch here: http://gcc.gnu.org/ml/gcc-patches/2008-09/msg00321.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37342



gcc-bugs@gcc.gnu.org

2008-09-05 Thread dgregor at gcc dot gnu dot org


--- Comment #7 from dgregor at gcc dot gnu dot org  2008-09-05 17:05 ---
Subject: Bug 37342

Author: dgregor
Date: Fri Sep  5 17:04:12 2008
New Revision: 140037

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=140037
Log:
2008-09-05  Douglas Gregor  <[EMAIL PROTECTED]>

   PR c++/37342
   * tree.c (cp_build_qualified_type_real): Deal with sharing of
   TYPE_LANG_SPECIFIC in the canonical types of pointer-to-method
   types.

2008-09-05  Douglas Gregor  <[EMAIL PROTECTED]>

   PR c++/37342
   * g++.dg/other/canon-37342.C: New.


Added:
trunk/gcc/testsuite/g++.dg/other/canon-37342.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/tree.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37342



gcc-bugs@gcc.gnu.org

2008-09-05 Thread dgregor at gcc dot gnu dot org


--- Comment #8 from dgregor at gcc dot gnu dot org  2008-09-05 17:06 ---
Fixed on mainline


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37342



[Bug c++/37540] [4.4 regression] ICE on __decltype of method call in function template

2008-09-24 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2008-09-24 13:51 ---
We need to look at CALL_EXPR_FN's type because the decltype of a call retrieves
the return type of the the function called, which may be a REFERENCE_TYPE. The
type of the expression will have stripped away that reference.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37540



[Bug c++/36461] [c++0x] Exception throws don't use rvalue reference constructors

2008-09-24 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2008-09-24 20:20 ---
GCC is doing the right thing here. In this constructor:

  Thing2(Thing2&& o) : Thing(o) { }

the parameter "o" is treated as an lvalue, because it has a name. Using
std::move(o) to treat it as an rvalue.

Similarly, there are no automatically generated move constructors or
move-assignment operators, so if you leave Thing2() empty, you'll just get the
copy constructor and therefore do a copy.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36461



[Bug c++/37553] [4.3/4.4 Regression] ICE in build_c_cast

2008-10-14 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2008-10-14 15:05 ---
Subject: Bug 37553

Author: dgregor
Date: Tue Oct 14 15:03:51 2008
New Revision: 14

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=14
Log:
2008-10-14  Douglas Gregor  <[EMAIL PROTECTED]>

   PR c++/37553
   * tree.c (build_type_attribute_qual_variant): Hash on the
   unqualified type, and don't overwrite an existing
   (type_hash_eq): Make the TYPE_NAME of the types significant, to
   allow distinguishing between wchar_t and its underlying type. This
   also means that we'll retain a little more typedef information.

2008-10-14  Douglas Gregor  <[EMAIL PROTECTED]>

   PR c++/37553
   * g++.dg/ext/alias-canon2.C: New.

Added:
trunk/gcc/testsuite/g++.dg/ext/alias-canon2.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37553



[Bug c++/25185] deep typedef substitution in error message

2008-11-06 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2008-11-06 20:19 ---
This bug should be really easy to fix, now that GCC has canonical types. Just
map each of the template type arguments down to its canonical type before doing
the substitution. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25185



[Bug libstdc++/34480] Argument packs treat __null oddly

2008-01-18 Thread dgregor at gcc dot gnu dot org


--- Comment #5 from dgregor at gcc dot gnu dot org  2008-01-18 16:33 ---
Suspended for now. We'll pick up the library work again once the C++ committee
has resolved this issue. 


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |SUSPENDED
  Component|c++ |libstdc++


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34480



[Bug c++/34480] Argument packs treat __null oddly

2008-01-18 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2008-01-18 16:32 ---
Confirmed. This is the right behavior according to the C++0x specification, but
the backward-compatibility issue with push_back is a problem. The C++ committee
is aware is the issue.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-01-18 16:32:16
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34480



[Bug c++/14031] [DR 226] Resolution of Core DR 226 (WP) not implemented

2008-01-18 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2008-01-18 16:48 ---
Fixed for C++0x.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14031



[Bug c++/34935] [4.3 regression] ICE with attribute may_alias

2008-01-25 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2008-01-25 21:15 ---
It turns out that the canonical types system is doing the right thing, and that
the older type-comparison mechanisms are getting the wrong answer. This is
still my bug, and it is a regression. Patch here:

  http://gcc.gnu.org/ml/gcc-patches/2008-01/msg01161.html


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-01-23 10:46:20 |2008-01-25 21:15:54
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34935



[Bug c++/34936] ICE with double and attribute may_alias

2008-01-25 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2008-01-25 21:16 ---
I don't know if this is a regression or not, but it's roughly the same issue as
PR 34395 and is fixed by the same patch:

  http://gcc.gnu.org/ml/gcc-patches/2008-01/msg01161.html


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-01-23 10:50:51 |2008-01-25 21:16:52
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34936



[Bug c++/34103] [4.3 regression] ICE with invalid variadic template functions

2008-01-28 Thread dgregor at gcc dot gnu dot org


--- Comment #15 from dgregor at gcc dot gnu dot org  2008-01-28 21:35 
---
Thanks everyone; I can reproduce this on i686-pc-linux-gnu. Patch in the works.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Last reconfirmed|2008-01-16 13:40:59 |2008-01-28 21:35:20
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34103



[Bug c++/34913] [4.1/4.2 Regression] ICE vector in template

2008-01-28 Thread dgregor at gcc dot gnu dot org


--- Comment #8 from dgregor at gcc dot gnu dot org  2008-01-28 21:52 ---
This is fixed on the trunk. Marking it as such...


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34913



[Bug c++/34055] [4.3 regression] ICE with invalid specialization of variadic template

2008-01-28 Thread dgregor at gcc dot gnu dot org


--- Comment #7 from dgregor at gcc dot gnu dot org  2008-01-28 22:05 ---
Darn! Mine again.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|ASSIGNED
   Last reconfirmed|2007-12-20 21:02:29 |2008-01-28 22:05:37
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34055



[Bug c++/34961] [4.3 Regression] ICE with invalid use of parameter pack in attribute

2008-01-28 Thread dgregor at gcc dot gnu dot org


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-01-25 09:53:35 |2008-01-28 21:40:03
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34961



[Bug c++/34919] [4.3 Regression] ICE with invalid use of parameter pack

2008-01-28 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2008-01-28 21:58 ---
Yep, we should be diagnosing but this error but we aren't. I'm on it.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-01-22 10:56:51 |2008-01-28 21:58:41
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34919



[Bug c++/34892] [4.3 regression] ICE with ellipsis in default template argument

2008-01-28 Thread dgregor at gcc dot gnu dot org


--- Comment #1 from dgregor at gcc dot gnu dot org  2008-01-28 21:59 ---
Confirmed. This is mine.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-01-21 10:10:51 |2008-01-28 21:59:57
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34892



[Bug c++/34606] [4.3 regression] ICE with invalid specialization of variadic template

2008-01-28 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2008-01-28 22:08 ---
This one's mine.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-01-16 21:50:58 |2008-01-28 22:08:02
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34606



[Bug c++/34219] gcc doesn't accept const members of variadic templates as const (regression)

2008-01-28 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2008-01-28 23:40 ---
There are some problems with the example code. For example, the expression
max does not expand the parameter pack "Params". The compiler should
have warned you about this, both in this case and in the static_assert case.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords|rejects-valid   |error-recovery, ice-on-
   ||invalid-code
Summary|gcc doesn't accept const|gcc doesn't accept const
   |members of variadic |members of variadic
   |templates as const  |templates as const
   ||(regression)


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34219



[Bug c++/34919] [4.3 Regression] ICE with invalid use of parameter pack

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #5 from dgregor at gcc dot gnu dot org  2008-01-29 14:26 ---
Fixed on mainline


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34919



[Bug c++/34755] [4.3 regression] ICE with invalid argument in variadic template function

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2008-01-29 14:26 ---
Fixed on mainline


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34755



[Bug c++/34753] [4.3 regression] ICE with invalid template parameter in variadic template

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2008-01-29 14:25 ---
Fixed on mainline


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34753



[Bug c++/34606] [4.3 regression] ICE with invalid specialization of variadic template

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #6 from dgregor at gcc dot gnu dot org  2008-01-29 14:25 ---
Fixed on mainline


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34606



[Bug c++/34055] [4.3 regression] ICE with invalid specialization of variadic template

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #9 from dgregor at gcc dot gnu dot org  2008-01-29 14:24 ---
Fixed in mainline


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34055



[Bug c++/34219] gcc doesn't accept const members of variadic templates as const (regression)

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #7 from dgregor at gcc dot gnu dot org  2008-01-29 14:22 ---
Actually, I don't know whether max is valid or not. My
inclination is that it is invalid, because when Params is empty, it becomes an
invalid specialization max. (This happens, for example, if we try to compute
max::value. However, it's not clear to me whether the wording in the
C++0x working draft supports that view or not. We say this about function
parameter pack arguments not matching to normal function parameters in partial
ordering, but we don't talk about this case at all.

I am going to submit an issue to the C++ Core Working Group to get this
clarified. Until then, I'm going to suspend this bug: then we'll either close
it (if the committee deems this code ill-formed) or re-open it to be fixed in
GCC 4.4.


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|SUSPENDED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34219



[Bug c++/34753] [4.3 regression] ICE with invalid template parameter in variadic template

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2008-01-29 14:01 ---
Subject: Bug 34753

Author: dgregor
Date: Tue Jan 29 13:59:59 2008
New Revision: 131938

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131938
Log:
2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
qualifiers for an ERROR_MARK_NODE or a NULL_TREE.


2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* typeck.c (check_return_expr): Tweak call to
check_for_bare_parameter_packs.
* class.c (add_method): Be careful with error_mark_nodes.
* cp-tree.h (check_for_bare_parameter_packs): Remove "*" from
signature.
* pt.c (struct find_parameter_pack_data): Remove
SET_PACKS_TO_ERROR.
(find_parameter_packs_r): Don't use SET_PACKS_TO_ERROR.
(uses_parameter_packs): Don't set SET_PACKS_TO_ERROR.
(make_pack_expansion): Ditto.
(check_for_bare_parameter_packs): Parameter is now a tree, not a
tree*.
(process_template_parm): Tweak call to
check_for_bare_parameter_packs.  
(push_template_decl_real): Tweak calls to
check_for_bare_parameter_packs. If bare parameter packs are found
in the list of exceptions, clear out that list after giving an
error.
* semantics.c (finish_cond): Tweak call to
check_for_bare_parameter_packs.
(finish_expr_stmt): Ditto.
(finish_for_expr): Ditto.
(finish_switch_cond): Ditto.
(finish_mem_initializers): Ditto.
(finish_member_declaration): Ditto.
(finish_static_assert): Check for bare parameter packs in the
condition.
* decl2.c (cplus_decl_attributes): Check for bare parameter packs in
the
attributes of a declaration.
* parser.c (cp_parser_using_declaration): Tweak call to
check_for_bare_parameter_packs.
(cp_parser_base_clause): Ditto.


2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* g++.dg/cpp0x/vt-34219-2.C: New.
* g++.dg/cpp0x/pr32126.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-34961.C: New.
* g++.dg/cpp0x/vt-34055.C: Tweak error messages; add new test
cases from the re-opened PR.
* g++.dg/cpp0x/vt-34753.C: New.
* g++.dg/cpp0x/vt-34919.C: New.
* g++.dg/cpp0x/vt-34754.C: New.
* g++.dg/cpp0x/vt-34606.C: New.
* g++.dg/cpp0x/vt-34219.C: New.
* g++.dg/cpp0x/pr32125.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-34755.C: New.
* g++.dg/cpp0x/pr31438.C: Ditto.
* g++.dg/cpp0x/variadic81.C: Ditto.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34219-2.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34219.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34606.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34753.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34754.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34755.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34919.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34961.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-pretty-print.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/pr31438.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr32125.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr32126.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic81.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34055.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34753



[Bug c++/34055] [4.3 regression] ICE with invalid specialization of variadic template

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #8 from dgregor at gcc dot gnu dot org  2008-01-29 14:01 ---
Subject: Bug 34055

Author: dgregor
Date: Tue Jan 29 13:59:59 2008
New Revision: 131938

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131938
Log:
2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
qualifiers for an ERROR_MARK_NODE or a NULL_TREE.


2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* typeck.c (check_return_expr): Tweak call to
check_for_bare_parameter_packs.
* class.c (add_method): Be careful with error_mark_nodes.
* cp-tree.h (check_for_bare_parameter_packs): Remove "*" from
signature.
* pt.c (struct find_parameter_pack_data): Remove
SET_PACKS_TO_ERROR.
(find_parameter_packs_r): Don't use SET_PACKS_TO_ERROR.
(uses_parameter_packs): Don't set SET_PACKS_TO_ERROR.
(make_pack_expansion): Ditto.
(check_for_bare_parameter_packs): Parameter is now a tree, not a
tree*.
(process_template_parm): Tweak call to
check_for_bare_parameter_packs.  
(push_template_decl_real): Tweak calls to
check_for_bare_parameter_packs. If bare parameter packs are found
in the list of exceptions, clear out that list after giving an
error.
* semantics.c (finish_cond): Tweak call to
check_for_bare_parameter_packs.
(finish_expr_stmt): Ditto.
(finish_for_expr): Ditto.
(finish_switch_cond): Ditto.
(finish_mem_initializers): Ditto.
(finish_member_declaration): Ditto.
(finish_static_assert): Check for bare parameter packs in the
condition.
* decl2.c (cplus_decl_attributes): Check for bare parameter packs in
the
attributes of a declaration.
* parser.c (cp_parser_using_declaration): Tweak call to
check_for_bare_parameter_packs.
(cp_parser_base_clause): Ditto.


2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* g++.dg/cpp0x/vt-34219-2.C: New.
* g++.dg/cpp0x/pr32126.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-34961.C: New.
* g++.dg/cpp0x/vt-34055.C: Tweak error messages; add new test
cases from the re-opened PR.
* g++.dg/cpp0x/vt-34753.C: New.
* g++.dg/cpp0x/vt-34919.C: New.
* g++.dg/cpp0x/vt-34754.C: New.
* g++.dg/cpp0x/vt-34606.C: New.
* g++.dg/cpp0x/vt-34219.C: New.
* g++.dg/cpp0x/pr32125.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-34755.C: New.
* g++.dg/cpp0x/pr31438.C: Ditto.
* g++.dg/cpp0x/variadic81.C: Ditto.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34219-2.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34219.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34606.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34753.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34754.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34755.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34919.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34961.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-pretty-print.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/pr31438.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr32125.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr32126.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic81.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34055.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34055



[Bug c++/34919] [4.3 Regression] ICE with invalid use of parameter pack

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #4 from dgregor at gcc dot gnu dot org  2008-01-29 14:01 ---
Subject: Bug 34919

Author: dgregor
Date: Tue Jan 29 13:59:59 2008
New Revision: 131938

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131938
Log:
2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
qualifiers for an ERROR_MARK_NODE or a NULL_TREE.


2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* typeck.c (check_return_expr): Tweak call to
check_for_bare_parameter_packs.
* class.c (add_method): Be careful with error_mark_nodes.
* cp-tree.h (check_for_bare_parameter_packs): Remove "*" from
signature.
* pt.c (struct find_parameter_pack_data): Remove
SET_PACKS_TO_ERROR.
(find_parameter_packs_r): Don't use SET_PACKS_TO_ERROR.
(uses_parameter_packs): Don't set SET_PACKS_TO_ERROR.
(make_pack_expansion): Ditto.
(check_for_bare_parameter_packs): Parameter is now a tree, not a
tree*.
(process_template_parm): Tweak call to
check_for_bare_parameter_packs.  
(push_template_decl_real): Tweak calls to
check_for_bare_parameter_packs. If bare parameter packs are found
in the list of exceptions, clear out that list after giving an
error.
* semantics.c (finish_cond): Tweak call to
check_for_bare_parameter_packs.
(finish_expr_stmt): Ditto.
(finish_for_expr): Ditto.
(finish_switch_cond): Ditto.
(finish_mem_initializers): Ditto.
(finish_member_declaration): Ditto.
(finish_static_assert): Check for bare parameter packs in the
condition.
* decl2.c (cplus_decl_attributes): Check for bare parameter packs in
the
attributes of a declaration.
* parser.c (cp_parser_using_declaration): Tweak call to
check_for_bare_parameter_packs.
(cp_parser_base_clause): Ditto.


2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* g++.dg/cpp0x/vt-34219-2.C: New.
* g++.dg/cpp0x/pr32126.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-34961.C: New.
* g++.dg/cpp0x/vt-34055.C: Tweak error messages; add new test
cases from the re-opened PR.
* g++.dg/cpp0x/vt-34753.C: New.
* g++.dg/cpp0x/vt-34919.C: New.
* g++.dg/cpp0x/vt-34754.C: New.
* g++.dg/cpp0x/vt-34606.C: New.
* g++.dg/cpp0x/vt-34219.C: New.
* g++.dg/cpp0x/pr32125.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-34755.C: New.
* g++.dg/cpp0x/pr31438.C: Ditto.
* g++.dg/cpp0x/variadic81.C: Ditto.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34219-2.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34219.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34606.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34753.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34754.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34755.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34919.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34961.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-pretty-print.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/pr31438.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr32125.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr32126.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic81.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34055.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34919



[Bug c++/34755] [4.3 regression] ICE with invalid argument in variadic template function

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #2 from dgregor at gcc dot gnu dot org  2008-01-29 14:01 ---
Subject: Bug 34755

Author: dgregor
Date: Tue Jan 29 13:59:59 2008
New Revision: 131938

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131938
Log:
2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
qualifiers for an ERROR_MARK_NODE or a NULL_TREE.


2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* typeck.c (check_return_expr): Tweak call to
check_for_bare_parameter_packs.
* class.c (add_method): Be careful with error_mark_nodes.
* cp-tree.h (check_for_bare_parameter_packs): Remove "*" from
signature.
* pt.c (struct find_parameter_pack_data): Remove
SET_PACKS_TO_ERROR.
(find_parameter_packs_r): Don't use SET_PACKS_TO_ERROR.
(uses_parameter_packs): Don't set SET_PACKS_TO_ERROR.
(make_pack_expansion): Ditto.
(check_for_bare_parameter_packs): Parameter is now a tree, not a
tree*.
(process_template_parm): Tweak call to
check_for_bare_parameter_packs.  
(push_template_decl_real): Tweak calls to
check_for_bare_parameter_packs. If bare parameter packs are found
in the list of exceptions, clear out that list after giving an
error.
* semantics.c (finish_cond): Tweak call to
check_for_bare_parameter_packs.
(finish_expr_stmt): Ditto.
(finish_for_expr): Ditto.
(finish_switch_cond): Ditto.
(finish_mem_initializers): Ditto.
(finish_member_declaration): Ditto.
(finish_static_assert): Check for bare parameter packs in the
condition.
* decl2.c (cplus_decl_attributes): Check for bare parameter packs in
the
attributes of a declaration.
* parser.c (cp_parser_using_declaration): Tweak call to
check_for_bare_parameter_packs.
(cp_parser_base_clause): Ditto.


2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* g++.dg/cpp0x/vt-34219-2.C: New.
* g++.dg/cpp0x/pr32126.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-34961.C: New.
* g++.dg/cpp0x/vt-34055.C: Tweak error messages; add new test
cases from the re-opened PR.
* g++.dg/cpp0x/vt-34753.C: New.
* g++.dg/cpp0x/vt-34919.C: New.
* g++.dg/cpp0x/vt-34754.C: New.
* g++.dg/cpp0x/vt-34606.C: New.
* g++.dg/cpp0x/vt-34219.C: New.
* g++.dg/cpp0x/pr32125.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-34755.C: New.
* g++.dg/cpp0x/pr31438.C: Ditto.
* g++.dg/cpp0x/variadic81.C: Ditto.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34219-2.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34219.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34606.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34753.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34754.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34755.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34919.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34961.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-pretty-print.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/pr31438.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr32125.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr32126.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic81.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34055.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34755



[Bug c++/34961] [4.3 Regression] ICE with invalid use of parameter pack in attribute

2008-01-29 Thread dgregor at gcc dot gnu dot org


--- Comment #2 from dgregor at gcc dot gnu dot org  2008-01-29 14:01 ---
Subject: Bug 34961

Author: dgregor
Date: Tue Jan 29 13:59:59 2008
New Revision: 131938

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131938
Log:
2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
qualifiers for an ERROR_MARK_NODE or a NULL_TREE.


2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* typeck.c (check_return_expr): Tweak call to
check_for_bare_parameter_packs.
* class.c (add_method): Be careful with error_mark_nodes.
* cp-tree.h (check_for_bare_parameter_packs): Remove "*" from
signature.
* pt.c (struct find_parameter_pack_data): Remove
SET_PACKS_TO_ERROR.
(find_parameter_packs_r): Don't use SET_PACKS_TO_ERROR.
(uses_parameter_packs): Don't set SET_PACKS_TO_ERROR.
(make_pack_expansion): Ditto.
(check_for_bare_parameter_packs): Parameter is now a tree, not a
tree*.
(process_template_parm): Tweak call to
check_for_bare_parameter_packs.  
(push_template_decl_real): Tweak calls to
check_for_bare_parameter_packs. If bare parameter packs are found
in the list of exceptions, clear out that list after giving an
error.
* semantics.c (finish_cond): Tweak call to
check_for_bare_parameter_packs.
(finish_expr_stmt): Ditto.
(finish_for_expr): Ditto.
(finish_switch_cond): Ditto.
(finish_mem_initializers): Ditto.
(finish_member_declaration): Ditto.
(finish_static_assert): Check for bare parameter packs in the
condition.
* decl2.c (cplus_decl_attributes): Check for bare parameter packs in
the
attributes of a declaration.
* parser.c (cp_parser_using_declaration): Tweak call to
check_for_bare_parameter_packs.
(cp_parser_base_clause): Ditto.


2008-01-29  Douglas Gregor  <[EMAIL PROTECTED]>

PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* g++.dg/cpp0x/vt-34219-2.C: New.
* g++.dg/cpp0x/pr32126.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-34961.C: New.
* g++.dg/cpp0x/vt-34055.C: Tweak error messages; add new test
cases from the re-opened PR.
* g++.dg/cpp0x/vt-34753.C: New.
* g++.dg/cpp0x/vt-34919.C: New.
* g++.dg/cpp0x/vt-34754.C: New.
* g++.dg/cpp0x/vt-34606.C: New.
* g++.dg/cpp0x/vt-34219.C: New.
* g++.dg/cpp0x/pr32125.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-34755.C: New.
* g++.dg/cpp0x/pr31438.C: Ditto.
* g++.dg/cpp0x/variadic81.C: Ditto.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34219-2.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34219.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34606.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34753.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34754.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34755.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34919.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34961.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-pretty-print.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/pr31438.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr32125.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr32126.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic81.C
trunk/gcc/testsuite/g++.dg/cpp0x/vt-34055.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34961



  1   2   3   4   >