From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13170 invoked by alias); 2 Jul 2006 23:53:04 -0000 Received: (qmail 13137 invoked by uid 48); 2 Jul 2006 23:52:57 -0000 Date: Sun, 02 Jul 2006 23:53:00 -0000 Message-ID: <20060702235257.13136.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/28225] [4.0/4.1/4.2 regression] segfault in type_dependent_expression_p In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "tbm at cyrius dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-07/txt/msg00078.txt.bz2 List-Id: ------- Comment #1 from tbm at cyrius dot com 2006-07-02 23:52 ------- (gdb) run ~/test.cc Starting program: /home/tbm/tmp/gcc/i386/gcc/cc1plus ~/test.cc static void foo::bar::apply(const T1&, T2&) void foo::operator()(T1&, T3&) Program received signal SIGSEGV, Segmentation fault. type_dependent_expression_p (expression=0x0) at /home/tbm/scratch/gcc/gcc/cp/pt.c:12643 12643 if (TREE_CODE (expression) == IDENTIFIER_NODE) (gdb) where #0 type_dependent_expression_p (expression=0x0) at /home/tbm/scratch/gcc/gcc/cp/pt.c:12643 #1 0x080a311f in fold_non_dependent_expr (expr=0x0) at /home/tbm/scratch/gcc/gcc/cp/pt.c:3353 #2 0x0811fc2c in constant_value_1 (decl=0xa7c702c0, integral_p=1 '\001') at /home/tbm/scratch/gcc/gcc/cp/init.c:1473 #3 0x080a9492 in fold_decl_constant_value (expr=0xa7c702c0) at /home/tbm/scratch/gcc/gcc/cp/pt.c:3387 #4 0x0808f2ff in coerce_template_parms (parms=0xa7c69268, args=, in_decl=0xa7cebb60, complain=tf_warning_or_error, require_all_args=1 '\001', use_default_args=1 '\001') at /home/tbm/scratch/gcc/gcc/cp/pt.c:3534 #5 0x080966c8 in lookup_template_class (d1=0xa7d1b78c, arglist=, in_decl=0xa7d1f068, context=0x0, entering_scope=0, complain=tf_warning_or_error) at /home/tbm/scratch/gcc/gcc/cp/pt.c:4556 #6 0x080989c1 in tsubst_aggr_type (t=0xa7d1b78c, args=0xa7c694d0, complain=tf_warning_or_error, in_decl=0xa7d1f068, entering_scope=0) at /home/tbm/scratch/gcc/gcc/cp/pt.c:6127 #7 0x0808856d in tsubst (t=0xa7d1b78c, args=0xa7c694d0, complain=tf_warning_or_error, in_decl=0xa7d1f068) at /home/tbm/scratch/gcc/gcc/cp/pt.c:7036 #8 0x0809a4d8 in tsubst_qualified_id (qualified_id=0xa7c6b1d4, args=0xa7c694d0, complain=tf_warning_or_error, in_decl=0xa7d1f068, done=1 '\001', address_p=0 '\0') at /home/tbm/scratch/gcc/gcc/cp/pt.c:7677 #9 0x0809b971 in tsubst_copy_and_build (t=0xa7c6b1d4, args=0xa7c694d0, complain=tf_warning_or_error, in_decl=0xa7d1f068, function_p=0 '\0') at /home/tbm/scratch/gcc/gcc/cp/pt.c:8788 #10 0x0809dcde in tsubst_expr (t=0xa7c6b1d4, args=0xa7c694d0, complain=tf_warning_or_error, in_decl=0xa7d1f068) at /home/tbm/scratch/gcc/gcc/cp/pt.c:8563 #11 0x080a31b1 in tsubst_template_arg (t=0xa7c6b1d4, args=0xa7c694d0, complain=2814836824, in_decl=0xa7d1f068) at /home/tbm/scratch/gcc/gcc/cp/pt.c:5970 #12 0x0808e888 in coerce_template_parms (parms=0xa7ce7800, args=0xa7c701b8, in_decl=0xa7d1f068, complain=tf_warning_or_error, require_all_args=1 '\001', use_default_args=1 '\001') at /home/tbm/scratch/gcc/gcc/cp/pt.c:4055 #13 0x08096468 in lookup_template_class (d1=0xa7d1f068, arglist=0xa7c69498, in_decl=0x0, context=0x0, entering_scope=0, complain=tf_warning_or_error) at /home/tbm/scratch/gcc/gcc/cp/pt.c:4531 #14 0x08131b64 in finish_template_type (name=0xa7d1f068, args=0xa7c6947c, entering_scope=0) at /home/tbm/scratch/gcc/gcc/cp/semantics.c:2365 #15 0x080f3867 in cp_parser_template_id (parser=0xa7d1e478, template_keyword_p=0 '\0', ---Type to continue, or q to quit--- check_dependency_p=1 '\001', is_declaration=0 '\0') at /home/tbm/scratch/gcc/gcc/cp/parser.c:8796 #16 0x080f3bff in cp_parser_class_name (parser=0xa7d1e478, typename_keyword_p=0 '\0', template_keyword_p=0 '\0', tag_type=none_type, check_dependency_p=1 '\001', class_head_p=0 '\0', is_declaration=0 '\0') at /home/tbm/scratch/gcc/gcc/cp/parser.c:12836 #17 0x080f4313 in cp_parser_nested_name_specifier_opt (parser=0xa7d1e478, typename_keyword_p=0 '\0', check_dependency_p=1 '\001', type_p=0 '\0', is_declaration=0 '\0') at /home/tbm/scratch/gcc/gcc/cp/parser.c:3842 #18 0x080f6c15 in cp_parser_simple_type_specifier (parser=0xa7d1e478, decl_specs=0xafdd5808, flags=CP_PARSER_FLAGS_OPTIONAL) at /home/tbm/scratch/gcc/gcc/cp/parser.c:9827 #19 0x080ecd76 in cp_parser_type_specifier (parser=0xa7d1e478, flags=CP_PARSER_FLAGS_OPTIONAL, decl_specs=0xafdd5808, is_declaration=1 '\001', declares_class_or_enum=0xafdd57c4, is_cv_qualifier=0xafdd57cb "") at /home/tbm/scratch/gcc/gcc/cp/parser.c:9662 #20 0x080eed31 in cp_parser_decl_specifier_seq (parser=0xa7d1e478, flags=CP_PARSER_FLAGS_OPTIONAL, decl_specs=0xafdd5808, declares_class_or_enum=0xafdd5854) at /home/tbm/scratch/gcc/gcc/cp/parser.c:7496 #21 0x080faf1f in cp_parser_simple_declaration (parser=0xa7d1e478, function_definition_allowed_p=0 '\0') at /home/tbm/scratch/gcc/gcc/cp/parser.c:7200 #22 0x080fb41d in cp_parser_block_declaration (parser=0xa7d1e478, statement_p=1 '\001') at /home/tbm/scratch/gcc/gcc/cp/parser.c:7161 #23 0x080e64f4 in cp_parser_statement (parser=0xa7d1e478, in_statement_expr=0x0, in_compound=1 '\001') at /home/tbm/scratch/gcc/gcc/cp/parser.c:6847 #24 0x080e7313 in cp_parser_statement_seq_opt (parser=0xa7d1e478, in_statement_expr=0x0) at /home/tbm/scratch/gcc/gcc/cp/parser.c:6356 #25 0x080e74a5 in cp_parser_compound_statement (parser=0xa7d1e478, in_statement_expr=0x0, in_try=) at /home/tbm/scratch/gcc/gcc/cp/parser.c:6326 #26 0x080eae77 in cp_parser_ctor_initializer_opt_and_function_body (parser=0xa7d1e478) at /home/tbm/scratch/gcc/gcc/cp/parser.c:12505 #27 0x080eb42d in cp_parser_function_definition_after_declarator (parser=0xa7d1e478, inline_p=1 '\001') at /home/tbm/scratch/gcc/gcc/cp/parser.c:15433 #28 0x080ee0ee in cp_parser_type_specifier (parser=0xa7d1e478, flags=CP_PARSER_FLAGS_OPTIONAL, decl_specs=0xafdd5af8, is_declaration=1 '\001', declares_class_or_enum=0xafdd5ab4, is_cv_qualifier=0xafdd5abb "") at /home/tbm/scratch/gcc/gcc/cp/parser.c:15925 #29 0x080eed31 in cp_parser_decl_specifier_seq (parser=0xa7d1e478, flags=CP_PARSER_FLAGS_OPTIONAL, decl_specs=0xafdd5af8, declares_class_or_enum=0xafdd5b44) at /home/tbm/scratch/gcc/gcc/cp/parser.c:7496 ---Type to continue, or q to quit--- #30 0x080ebc21 in cp_parser_single_declaration (parser=0xa7d1e478, checks=0x0, member_p=0 '\0', friend_p=0xafdd5b9b "") at /home/tbm/scratch/gcc/gcc/cp/parser.c:15607 #31 0x080fa560 in cp_parser_template_declaration_after_export (parser=0xa7d1e478, member_p=0 '\0') at /home/tbm/scratch/gcc/gcc/cp/parser.c:15522 #32 0x080fc2ed in cp_parser_declaration (parser=0xa7d1e478) at /home/tbm/scratch/gcc/gcc/cp/parser.c:7050 #33 0x080fc90d in cp_parser_declaration_seq_opt (parser=0xa7d1e478) at /home/tbm/scratch/gcc/gcc/cp/parser.c:6973 #34 0x080fd00c in c_parse_file () at /home/tbm/scratch/gcc/gcc/cp/parser.c:2712 #35 0x0819a40a in c_common_parse_file (set_yydebug=0) at /home/tbm/scratch/gcc/gcc/c-opts.c:1164 #36 0x084df1d3 in toplev_main (argc=2, argv=0xafdd5da4) at /home/tbm/scratch/gcc/gcc/toplev.c:999 #37 0x081a9002 in main (argc=0, argv=0xa7c7e000) at /home/tbm/scratch/gcc/gcc/main.c:35 (gdb) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28225