aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/config-lang.in
AgeCommit message (Collapse)AuthorFilesLines
2017-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r243994
2016-01-04Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r232055
2015-11-13Merge C++ delayed folding branch.Jason Merrill1-1/+1
* call.c (build_conditional_expr_1, convert_like_real) (convert_arg_to_ellipsis, convert_for_arg_passing): Don't fold. (build_new_op_1, build_over_call, build_cxx_call): Fold for warnings. * class.c (build_base_path, determine_primary_bases) (update_vtable_entry_for_fn, check_bitfield_decl) (layout_nonempty_base_or_field, layout_empty_base) (propagate_binfo_offsets, include_empty_classes) (layout_class_type, build_vbase_offset_vtbl_entries): Use fold_convert. * constexpr.c (cxx_eval_builtin_function_call): Fold away the NOP_EXPR. (cxx_eval_call_expression): Handle MEM_REF. (cxx_eval_pointer_plus_expression): Fold the second operand. (cxx_eval_constant_expression): Handle MEM_REF, UNARY_PLUS_EXPR. (fold_simple_1, fold_simple): New. (maybe_constant_value_1): Factor out from maybe_constant_value. (cv_cache, maybe_constant_value): Cache results. (maybe_constant_init): Handle null input. (potential_constant_expression_1): Handle RESULT_DECL, EMPTY_CLASS_EXPR. * cp-array-notation.c (build_array_notation_ref): Fold operands. * cp-gimplify.c (cp_fold_r, cp_fold): New. (cp_genericize_r): Use fold_convert. Don't fold SIZEOF_EXPR. (cp_genericize): Fold everything. (contains_label_1, contains_label_p): New. (cp_fold, cp_fully_fold): New. * cp-tree.h (class cache_map): New. * cvt.c (cp_convert_to_pointer, ocp_convert): Use convert_to_*_nofold. (cp_convert_and_check): Use cp_fully_fold. (convert, convert_force): Don't fold. * decl.c (fold_sizeof_expr): Change from fold_sizeof_expr_r. (compute_array_index_type): Use cp_fully_fold. (build_enumerator): Use fold_convert. * decl2.c (get_guard_cond, set_guard): Use fold_convert. * init.c (build_zero_init_1): Fold zero-initializers. (build_new_1): Fold nelts calculations. (build_vec_delete_1): Fold conversions. (build_vec_init): Fold maxindex. * parser.c (cp_parser_binary_expression): Fold LHS of || and &&. (cp_parser_question_colon_clause): Fold LHS. * pt.c (convert_nontype_argument): Fold nullptr conversion. * semantics.c (finish_unary_op_expr): Fold for warnings. (handle_omp_array_sections_1): Fold length and low bound. (handle_omp_for_class_iterator): Fold various things. * tree.c (builtin_valid_in_constant_expr_p): Add BUILT_IN_ATOMIC_ALWAYS_LOCK_FREE. (convert_bitfield_to_declared_type): Don't fold. (handle_init_priority_attribute): Fold. (fold_if_not_in_template): Remove. * typeck.c (decay_conversion, build_class_member_access_expr) (build_simple_component_ref, cp_build_array_ref, build_vec_cmp) (cp_pointer_int_sum, pointer_diff): Don't fold. (cp_build_binary_op): Fold for warnings and PMF ops. (cp_build_unary_op): Fold negation of a constant, nothing else. (expand_ptrmemfunc_cst): Fold operations. * typeck2.c (split_nonconstant_init): Fold initializer. (store_init_value): Likewise. (check_narrowing): Try folding. * config-lang.in (gtfiles): Add cp-gimplify.c. From-SVN: r230365
2015-01-05Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r219188
2014-10-15semantics.c (is_instantiation_of_constexpr, [...]): Moved definitions...Paolo Carlini1-1/+1
2014-10-15 Paolo Carlini <paolo.carlini@oracle.com> * semantics.c (is_instantiation_of_constexpr, literal_type_p, ensure_literal_type_for_constexpr_object, constexpr_fundef_hasher::equal, constexpr_fundef_hasher::hash, retrieve_constexpr_fundef, is_valid_constexpr_fn, build_anon_member_initialization, build_data_member_initialization, check_constexpr_bind_expr_vars, check_constexpr_ctor_body_1, check_constexpr_ctor_body, sort_constexpr_mem_initializers, build_constexpr_constructor_member_initializers, constexpr_fn_retval, massage_constexpr_body, cx_check_missing_mem_inits, register_constexpr_fundef, explain_invalid_constexpr_fn, constexpr_call_hasher::hash, constexpr_call_hasher::equal, maybe_initialize_constexpr_call_table, get_function_named_in_call, get_nth_callarg, lookup_parameter_binding, cxx_eval_builtin_function_call, adjust_temp_type, cxx_bind_parameters_in_call, push_cx_call_context, pop_cx_call_context, cx_error_context, cxx_eval_call_expression, reduced_constant_expression_p, verify_constant, cxx_eval_unary_expression, cxx_eval_binary_expression, cxx_eval_conditional_expression, cxx_eval_array_reference, cxx_eval_component_reference, cxx_eval_bit_field_ref, cxx_eval_logical_expression, base_field_constructor_elt, cxx_eval_bare_aggregate, cxx_eval_vec_init_1, cxx_eval_vec_init, cxx_fold_indirect_ref, cxx_eval_indirect_ref, non_const_var_error, cxx_eval_trinary_expression, var_in_constexpr_fn, cxx_eval_constant_expression, cxx_eval_outermost_constant_expr, is_sub_constant_expr, cxx_constant_value, maybe_constant_value, maybe_constant_init, potential_constant_expression_1, potential_constant_expression, potential_rvalue_constant_expression, require_potential_constant_expression, require_potential_rvalue_constant_expression): Moved definitions... * constexpr.c: ... here, new file. * Make-lang.in: Update. * config-lang.in: Likewise. From-SVN: r216263
2014-01-02Update copyright years in gcc/Richard Sandiford1-1/+1
From-SVN: r206289
2013-08-06Commit the vtable verification feature.Caroline Tice1-1/+1
Commit the vtable verification feature. This feature is designed to detect, at run time, if/when the vtable pointer in a C++ object has been corrupted, before allowing virtual calls through that pointer. If pointer corruption is detected, execution of the program is halted. libstdc++-v3 ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * fragment.am: Add XTEMPLATE_FLAGS. * configure.ac: Add definitions for --enable-vtable-verify. * acinclude.m4: Add --enable-vtable-verify and --disable-vtable-verify; define --enable-vtable-verify; define VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS. * config/abi/pre/gnu.ver: Export symbols for vtable verification. * libsupc++/Makefile.am: Define vtv_sources and add it to libsupc___la_SOURCES and libsupc__convenience_la_SOURCES. * libsupc++/vtv_stubs.cc: New file. * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS. * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add VTV_CXXLINKFLAGS to CXXLINK. * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK. * src/C++11/Makefile.am: Ditto. * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify. * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS. * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate libvtv if --enable-vtable-verify was used; set cxxvtvflags; add cxxvtvflags to cxx_final. * testsuite/18_support/bad_exception/23591_thread-1.c: Add -fvtable-verify=none to compiler flags. * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none to compiler flags. * configure: Regenerated. * Makefile.in: Regenerated. * python/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * libsupc++/Makefile.in: Regenerated. * config.h.in: Regenerated. * po/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. * src/c++98/Makefile.in: Regenerated. * src/c++11/Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. top level ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * configure.ac: Add target-libvtv to target_libraries; disable libvtv on non-linux systems; add target-libvtv to noconfigdirs; add libsupc++/.libs to C++ library search paths. * configure: Regenerated. * Makefile.def: Add libvtv to target_modules; make libvtv depend on libstdc++ and libgcc. * Makefile.in: Regenerated. include/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * vtv-change-permission.h: New file. contrib/ChangeLog: 2013-08-06 Caroline Tice4 <cmtice@google.com> * gcc_update: Add libvtv files. libgcc/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> config.host (extra_parts): Add vtv_start.o, vtv_end.o vtv_start_preinit.o and vtv_end_preinit.o. configure.ac: Add code to check/set enable_vtable_verify. Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is true. vtv_start_preinit.c: New file. vtv_end_preinit.c: New file. vtv_start.c: New file. vtv_end.c: New file. configure: Regenerated. gcc/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * gcc.c (VTABLE_VERIFICATION_SPEC): New definition. (LINK_COMMAND_SPEC): Add VTABLE_VERIFICATION_SPEC. * tree-pass.h: Add pass_vtable_verify. * varasm.c (assemble_variable): Add code to properly set the comdat section and name for the .vtable_map_vars section. (assemble_vtyv_preinit_initializer): New function. (default_sectin_type_flags): Make sure .vtable_map_vars section has LINK_ONCE flag. * output.h: Add function decl for assemble_vtv_preinit_initializer. * vtable-verify.c: New file. * vtable-verify.h: New file. * flag-types.h (enum vtv_priority): Defintions for flag_vtable_verify initialiation levels. * timevar.def (TV_VTABLE_VERIFICATION): New definition. * passes.def: Insert pass_vtable_verify. * aclocal.m4: Reorder includes. * doc/invoke.texi: Add documentation for the flags -fvtable-verify=, -fvtv-debug and -fvtv-counts. * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add vtv_start*.o, as appropriate, if -fvtable-verify=... is used. (GNU_USER_TARGET_ENDFILE_SPEC): Add vtv_end*.o as appropriate, if -fvtable-verify=... is used. * Makefile.in (OBJS): Add vtable-verify.o to list. (vtable-verify.o): Add new build rule. (GTFILES): Add vtable-verify.c to list. * common.opt (fvtable-verify=): New flag. (vtv_priority): Values for fvtable-verify= flag. (fvtv-counts): New flag. (fvtv-debug): New flag. * tree.h (save_vtable_map_decl): New extern function decl. gcc/cp/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * Make-lang.in (*CXX_AND_OBJCXX_OBJS): Add vtable-class-hierarchy.o to list. (vtable-class-hierarchy.o): Add build rule. * cp-tree.h (vtv_start_verification_constructor_init_function): New extern function decl. (vtv_finish_verification_constructor_init_function): New extern function decl. (build_vtbl_address): New extern function decl. (get_mangled_vtable_map_var_name): New extern function decl. (vtv_compute_class_hierarchy_transitive_closure): New extern function decl. (vtv_generate_init_routine): New extern function decl. (vtv_save_class_info): New extern function decl. (vtv_recover_class_info): New extern function decl. (vtv_build_vtable_verify_fndecl): New extern function decl. * class.c (finish_struct_1): Add call to vtv_save_class_info if flag_vtable_verify is true. * config-lang.in: Add vtable-class-hierarchy.c to gtfiles list. * vtable-class-hierarchy.c: New file. * mangle.c (get_mangled_vtable_map_var_name): New function. * decl2.c (start_objects): Update function comment. (cp_write_global_declarations): Call vtv_recover_class_info, vtv_compute_class_hierarchy_transitive_closure and vtv_build_vtable_verify_fndecl, before calling finalize_compilation_unit, and call vtv_generate_init_rount after, IFF flag_vtable_verify is true. (vtv_start_verification_constructor_init_function): New function. (vtv_finish_verification_constructor_init_function): New function. * init.c (build_vtbl_address): Remove static qualifier from function. libvtv/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> Initial check-in of new vtable verification feature. * configure.ac : New file. * acinclude.m4 : New file. * Makefile.am : New file. * aclocal.m4 : New file. * configure.tgt : New file. * configure: New file (generated). * Makefile.in: New file (generated). * vtv_set.h : New file. * vtv_utils.cc : New file. * vtv_utils.h : New file. * vtv_malloc.cc : New file. * vtv_rts.cc : New file. * vtv_malloc.h : New file. * vtv_rts.h : New file. * vtv_fail.cc : New file. * vtv_fail.h : New file. * vtv_map.h : New file. * scripts/run-testsuite.sh : New file. * scripts/sum-vtv-counts.c : New file. * testsuite/parts-test-main.h : New file. * testusite/dataentry.cc : New file. * testsuite/temp_deriv.cc : New file. * testsuite/register_pair.cc : New file. * testsuite/virtual_inheritance.cc : New file. * testsuite/field-test.cc : New file. * testsuite/nested_vcall_test.cc : New file. * testsuite/template-list-iostream.cc : New file. * testsuite/register_pair_inserts.cc : New file. * testsuite/register_pair_inserts_mt.cc : New file. * testsuite/event.list : New file. * testsuite/parts-test-extra-parts-views.cc : New file. * testsuite/parts-test-extra-parts-views.h : New file. * testsuite/environment-fail-32.s : New file. * testsuite/parts-test-extra-parts.h : New file. * testsuite/temp_deriv2.cc : New file. * testsuite/dlopen_mt.cc : New file. * testsuite/event.h : New file. * testsuite/template-list.cc : New file. * testsuite/replace-fail.cc : New file. * testsuite/Makefile.am : New file. * testsuite/Makefile.in: New file (generated). * testsuite/mempool_negative.c : New file. * testsuite/parts-test-main.cc : New file. * testsuite/event-private.cc : New file. * testsuite/thunk.cc : New file. * testsuite/event-defintiions.cc : New file. * testsuite/event-private.h : New file. * testsuite/parts-test.list : New file. * testusite/register_pair_mt.cc : New file. * testsuite/povray-derived.cc : New file. * testsuite/event-main.cc : New file. * testsuite/environment.cc : New file. * testsuite/template-list2.cc : New file. * testsuite/thunk_vtable_map_attack.cc : New file. * testsuite/parts-test-extra-parts.cc : New file. * testsuite/environment-fail-64.s : New file. * testsuite/dlopen.cc : New file. * testsuite/so.cc : New file. * testsuite/temp_deriv3.cc : New file. * testsuite/const_vtable.cc : New file. * testsuite/mempool_positive.c : New file. * testsuite/dup_name.cc : New file. From-SVN: r201555
2013-01-10Update copyright years in gcc/Richard Sandiford1-2/+1
From-SVN: r195098
2013-01-04Update Copyright years for files modified in 2011 and/or 2012.Jakub Jelinek1-1/+1
From-SVN: r194903
2011-12-17Revert "fix" for PR bootstrap/51072Richard Henderson1-4/+1
From-SVN: r182445
2011-12-16re PR libitm/51072 (Build with --disable-bootstrap fails in libitm)Richard Henderson1-1/+4
PR bootstrap/51072 * config-lang.in (target_libs): Include target-libitm. From-SVN: r182424
2011-07-16Make-lang.in (check-g++-strict-gc): New.Jason Merrill1-1/+1
* Make-lang.in (check-g++-strict-gc): New. (cp/except.o): Depend on gt-cp-except.h * except.c: Include gt-cp-except.h. * config-lang.in (gtfiles): Add cp/except.c. * decl2.c (mark_used): Adjust constexpr condition, set function_depth around template instantiation. * parser.c (cp_parser_lambda_body): Set function_depth. * semantics.c (maybe_add_lambda_conv_op): Likewise. From-SVN: r176350
2011-03-16Make-lang.in (CXX_PARSER_H): New.Diego Novillo1-1/+1
* Make-lang.in (CXX_PARSER_H): New. (cp/parser.o): Add dependency on CXX_PARSER_H. Add dependency on tree-pretty-print.h (cp/cp-lang.o): Add dependency on CXX_PARSER_H. * cp-lang.c: Include parser.h. * parser.c: Include parser.h. (struct cp_token): Add bitfield purged_p. Update all users. Move to parser.h. (CPP_PURGED): Remove. Update all users. (struct cp_lexer): Change field buffer to be a VEC of cp_token. Remove field buffer_length. Update all users. Move to parser.h. (struct tree_check): Move to parser.h. (cp_token_position): Likewise. (struct cp_token_cache): Likewise. (CPP_KEYWORD): Likewise. (CPP_TEMPLATE_ID): Likewise. (CPP_NESTED_NAME_SPECIFIER): Likewise. (N_CP_TTYPES): Likewise. (enum cp_parser_status_kind): Likewise. (struct cp_parser_context): Likewise. (struct cp_default_arg_entry_d): Likewise. (struct cp_unparsed_functions_entry_d): Likewise. (struct cp_parser): Likewise. (cp_lexer_dump_tokens): New. (cp_lexer_debug_tokens): New. (cp_lexer_finished_p): New. (cp_lexer_alloc): Factor out of cp_lexer_new_main. (cp_lexer_new_main): Re-write main lexing loop to push tokens into the new VEC buffer. (cp_lexer_print_token): Improve printing of CPP_NUMBER tokens. Do not abort if the token type is not recognized, just print its code. * parser.h: New file. * config-lang.in (gtfiles): Add cp/parser.h. From-SVN: r171075
2011-01-03Update Copyright years for files modified in 2010.Jakub Jelinek1-1/+1
From-SVN: r168438
2010-12-06In gcc/: 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-1/+1
In gcc/: 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com> * c-family/c-common.h: Removed the declarations of all the objc_ callbacks, and moved them into c-objc.h. Removed objc_ivar_visibility_kind and moved it into c-objc.h. * c-family/c-objc.h: New file. * c-family/c-common.c: Include c-objc.h. * c-family/c-format.c: Same change. * c-family/stub-objc.c: Same change. * c-decl.c: Include c-family/c-objc.h. * c-parser.c: Same change. * c-typeck.c: Same change. * c-config-lang.in (gtfiles): Added c-family/c-objc.h. * Makefile.in (c-decl.o): Depend on c-family/c-objc.h. (c-parser.o): same change. (c-typeck.o): Same change. (c-family/c-format.o): Same change. (c-family/stub-objc.o): Same change. (c-family/c-common.o): Same change. (PLUGIN_HEADERS): Added c-family/c-objc.h. In gcc/cp/: 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com> * call.c: Include c-family/c-objc.h. * decl.c: Same change. * decl2.c: Same change. * error.c: Same change. * lex.c: Same change. * parser.c: Same change. * pt.c: Same change. * semantics.c: Same change. * typeck.c: Same change. * Make-lang.in (cp/decl.o): Depend on c-family/c-objc.h. (cp/decl2.o): Same change. (cp/call.o): Same change. (cp/error.o): Same change. (cp/lex.o): Same change. (cp/parser.o): Same change. (cp/pt.o): Same change. (cp/semantics.o): Same change. (cp/typeck.o): Same change. * config-lang.in (gtfiles): Added c-family/c-objc.h. In gcc/objc/: 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c: Include c-family/c-objc.h. * objc-lang.c: Same change. * Make-lang.in (objc/objc-act.o): Depend on c-family/c-objc.h. (objc/objc-lang.o): Same change. * config-lang.in (gtfiles): Added c-family/c-objc.h. In gcc/objcp/: 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com> * config-lang.in (gtfiles): Added c-family/c-objc.h. * Make-lang.in (objcp/objcp-act.o): Depend on c-family/c-objc.h. (objcp/objcp-lang.o): Same change. (objcp/objcp-decl.o): Same change. * objcp-lang.c: Include c-family/c-objc.h. * objcp-decl.c: Same change. From-SVN: r167481
2010-06-05c-common.c: Move to c-family/.Steven Bosscher1-1/+1
gcc/ChangeLog: * c-common.c: Move to c-family/. * c-common.def: Likewise. * c-common.h: Likewise. * c-cppbuiltin.c: Likewise. * c-dump.c: Likewise. * c-format.c: Likewise. * c-format.h : Likewise. * c-gimplify.c: Likewise. * c-lex.c: Likewise. * c-omp.c: Likewise. * c.opt: Likewise. * c-opts.c: Likewise. * c-pch.c: Likewise. * c-ppoutput.c: Likewise. * c-pragma.c: Likewise. * c-pragma.h: Likewise. * c-pretty-print.c: Likewise. * c-pretty-print.h: Likewise. * c-semantics.c: Likewise. * stub-objc.c: Likewise. * gengtype.c (get_file_langdir): Special-case files in c-family/. (get_output_file_with_visibility): Fix name for c-common.h. * c-config-lang.in: Update paths in gtfiles for files in c-family/. * c-tree.h: Update include path for moved files. * c-lang.c: Likewise. * c-lang.h: Likewise. * c-parser.c: Likewise. * c-convert.c: Likewise. * c-decl.c: Likewise. * c-objc-common.c: Likewise. * configure.ac: Make sure c-family/ exists in the build directory. * configure: Regenerate. * Makefile.in: Update paths for moved files. Regroup files per location and update dependencies. Move generated_files down after ALL_GTFILES_H. * config/spu/spu-c.c: Update paths for moved files. * config/mep/mep-pragma.c: Likewise. * config/darwin-c.c: Likewise. * config/i386/msformat-c.c: Likewise. * config/i386/i386-c.c: Likewise. * config/avr/avr-c.c: Likewise. * config/sol2-c.c: Likewise. * config/ia64/ia64-c.c: Likewise. * config/rs6000/rs6000-c.c: Likewise. * config/arm/arm.c: Likewise. * config/arm/arm-c.c: Likewise. * config/h8300/h8300.c: Likewise. * config/v850/v850-c.c: Likewise. * config/t-darwin: Fix dependencies for moved files. * config/t-sol2: Fix dependencies for moved files. * config/mep/t-mep: Fix dependencies for moved files. * config/ia64/t-ia64: Fix dependencies for moved files. * config/rs6000/t-rs6000: Fix dependencies for moved files. * config/v850/t-v850: Fix dependencies for moved files. * config/v850/t-v850e: Fix dependencies for moved files. * config/m32c/m32c-pragma.c * po/exgettext: Look in c-family/ also. c-family/ChangeLog: * c-common.c: Include gt-c-family-c-common.h. * c-pragma.c: Include gt-c-family-c-pragma.h. objc/ChangeLog: * objc-act.c: Update include path for moved files. * objc-lang.c: Likewise. * config-lang.in: Update paths in gtfiles for files in c-family/. objcp/ChangeLog: * objcp-lang.c: Update include path for moved files. * config-lang.in: Update paths in gtfiles for files in c-family/. cp/ChangeLog: * typeck.c: Update include path for moved files. * decl.c: Likewise. * rtti.c: Likewise. * cp-gimplify.c: Likewise. * cp-lang.c: Likewise. * pt.c: Likewise. * semantics.c: Likewise. * cxx-pretty-print.h: Likewise. * decl2.c: Likewise. * parser.c: Likewise. * cp-objcp-common.c: Likewise. * cp-tree.h: Likewise. * name-lookup.c: Likewise. * lex.c: Likewise. * name-lookup.h: Likewise. * config-lang.in: Update paths in gtfiles for files in c-family/. * Make-lang.in: Likewise. From-SVN: r160330
2010-02-05Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.Richard Guenther1-1/+1
2010-02-05 Richard Guenther <rguenther@suse.de> * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h. * cp-lang.c: Include gt-cp-cp-lang.h. * config-lang.in (gtfiles): Add cp/cp-lang.c. From-SVN: r156521
2007-08-02typeck.c: Change copyright header to refer to version 3 of the GNU General ↵Nick Clifton1-6/+5
Public... * typeck.c: Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. * optimize.c, lang-specs.h, init.c, class.c, repo.c, decl.c, config-lang.in, cp-tree.def, call.c, decl.h, ptree.c, Make-lang.in, method.c, rtti.c, cp-objcp-common.c, g++spec.c, cp-objcp-common.h, except.c, error.c, operators.def, cvt.c, tree.c, mangle.c, cp-tree.h, dump.c, search.c, friend.c, expr.c, cp-gimplify.c, cxx-pretty-print.c, cp-lang.c, typeck2.c, pt.c, cxx-pretty-print.h, semantics.c, name-lookup.c, lex.c, decl2.c, name-lookup.h, parser.c: Likewise. From-SVN: r127154
2007-03-26gengtype.c: Don't include gtyp-gen.h.Zack Weinberg1-1/+1
* gengtype.c: Don't include gtyp-gen.h. (srcdir): Declare here. (base_files, lang_dir_names): Allocate dynamically. (gt_files, num_gt_files, num_lang_dirs): New globals. (measure_input_list, read_input_line, read_input_list) (set_lang_bitmap): New functions. (get_base_file_bitmap): Rename get_lang_bitmap and drastically simplify, relying on read_input_list to set up the bitmaps. (main): Arguments are no longer unused. Check for correct number of command line arguments, set srcdir and srcdir_len, then call read_input_list, before doing anything else. No need to worry about duplicates in main loop. * configure.ac: Simplify the calculation of all_gtfiles. Put language tags in there. Don't set or substitute all_gtfiles_files_langs or all_gtfiles_files_frags. * Makefile.in: Revamp the way gengtype is invoked, now that it takes a file on its command line with a much simpler format. Remove or replace with gtyp-input.list all references to gtyp-gen.h. (GTFILES): Remove duplicates and C source files. * c-config-lang.in, cp/config-lang.in, objc/config-lang.in * objcp/config-lang.in: Add c-pragma.h to gtfiles. * configure: Regenerate. From-SVN: r123234
2007-01-11configure.ac (strict1_warn): Rename to strict_warn.Paolo Bonzini1-3/+0
2007-01-11 Paolo Bonzini <bonzini@gnu.org> * configure.ac (strict1_warn): Rename to strict_warn. (WERROR, --enable-werror, symlink hacks, stage1_cflags, cc_set_by_configure, quoted_cc_set_by_configure, stage_prefix_set_by_configure, quoted_stage_prefix_set_by_configure, all_boot_languages, all_stagestuff): Remove. (target_list): Remove bootstrap targets. * Makefile.in (quickstrap): Unconditionally make a synonym of all. (BOOT_LANGUAGES, STAGE1_CFLAGS, STAGE1_CHECKING, REMAKEFLAGS, FLAGS_TO_PASS, PREPEND_DOTDOT_TO_RELATIVE_PATHS, SUBDIR_FLAGS_TO_PASS, WERROR_FLAGS, STRICT2_WARN, LANG_STAGESTUFF, VOL_FILES, POSTSTAGE1_FLAGS_TO_PASS, STAGE2_FLAGS_TO_PASS, STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS, stage1_build, stage1_copy, stage2_build, stage2_copy, stageprofile_build, stageprofile_copy, stage3_build, stage3_copy, stagefeedback_build, stagefeedback_copy, stage4_build, clean_s1, clean_sw, bootstrap, bootstrap-lean, bootstrap2, bootstrap2-lean, bootstrap3, bootstrap3-lean, bootstrap4, bootstrap4-lean, unstage1, unstage2, unstage3, unstage4, unstageprofile, unstagefeedback, restage, restage2, restage3, restage4, restageprofile, restagefeedback, bubbleestrap, cleanstrap, unstrap, restrap, *compare, *compare3, *compare4, *compare-lean, *compare3-lean, *compare4-lean, stage1-start, stage1, stage2-start, stage2, stage3-start, stage3, stage4-start, stage4, stageprofile-start, stageprofile, stagefeedback-start, stagefeedback, risky-stage1, risky-stage2, risky-stage3, risky-stage4): Remove. (ORDINARY_FLAGS_TO_PASS): Rename to FLAGS_TO_PASS. (STAGECOPYSTUFF, STAGEMOVESTUFF): Consolidate into MOSTLYCLEANFILES. (mostlyclean): Adjust. (clean, distclean): Don't mention bootstrap stuff. * configure: Regenerate. * ada/config-lang.in, cp/config-lang.in, forttran/config-lang.in, java/config-lang.in, objc/config-lang.in, objcp/config-lang.in, treelang/config-lang.in (stagestuff): Remove. * doc/sourcebuild.texi (stage1, stage2, stage3, stage4, stageprofile, stagefeedback, stagestuff): Remove mention. From-SVN: r120670
2005-07-09cp-lang.c (shadowed_var_for_decl, [...]): Move over to cp-objcp-common.c.Andrew Pinski1-1/+1
2005-07-09 Andrew Pinski <pinskia@physics.uc.edu> * cp-lang.c (shadowed_var_for_decl, decl_shadowed_for_var_lookup, decl_shadowed_for_var_insert): Move over to cp-objcp-common.c. (cp_init_ts): Call init_shadowed_var_for_decl. Remove include of gt-cp-cp-lang.h. * cp-objcp-common.c (shadowed_var_for_decl, decl_shadowed_for_var_lookup, decl_shadowed_for_var_insert): Moved from cp-lang.c. (init_shadowed_var_for_decl): New function to initialize shadowed_var_for_decl. Include gt-cp-cp-objcp-common.h. * Make-lang.in (gt-cp-lang.h): Remove. (gt-cp-cp-objcp-common.h): Add. (cp/cp-lang.o): Remove dependancy on gt-cp-lang.h. (cp/cp-objcp-common.o): Add dependancy on gt-cp-cp-objcp-common.h. * config-lang.in (gtfiles): Remove cp-lang.c and Add cp-objcp-common.c. * cp-tree (init_shadowed_var_for_decl): Add prototype. 2005-07-09 Andrew Pinski <pinskia@physics.uc.edu> * config-lang.in (gtfiles): Add cp-objcp-common.c. * objcp-lang.c (objcxx_init_ts): New function. (LANG_HOOKS_INIT_TS): Define. From-SVN: r101830
2005-07-08Makefile.in (TREE_H): Add treestruct.def.Daniel Berlin1-1/+1
2005-07-08 Daniel Berlin <dberlin@dberlin.org> * Makefile.in (TREE_H): Add treestruct.def. (c-decl.o): Add pointer-set.h * c-decl.c (diagnose_mismatched_decls): Don't attempt to look at visibility on regular DECL's. (merge_decls): Fix the copying of decl nodes of various types for the new structures. Don't update RTL, section name, weak status, etc, on DECL's without RTL. (grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone. Don't check volatile on non-variable types. (store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK to check whether we have seen arguments. * c-objc-common.c (c_tree_printer): Reverse order of tests so that flag is checked before field (flag is common, field is not). * dwarf2out.c (decl_ultimate_origin): Only DECL's with TS_DECL_COMMON could have an origin. (add_location_or_const_value_attribute): Don't check section name on non-var/function decls. (dwarf2out_var_location): Reverse order of tests. * emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace with DECL_WRTL_CHECK. * expmed.c (make_tree): rtl is now in decl_with_rtl. * fold-const.c (fold_binary): Don't check weakness on non-var/function decls. (tree_expr_nonzero_p): Ditto. (fold_checksum_tree): Use tree_decl_extra as sizeof buffer. * ggc-page.c (extra_order_size_table): Add sizes for tree_decl_non_common, tree_parm_decl, tree_var_decl, and tree_field_decl. * gimplify.c (gimplify_bind_expr): Only set DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL. * integrate.c (copy_decl_for_inlining): Don't set RTL on decl's without RTL. * langhooks-def.h (LANG_HOOK_INIT_TS): New. * langhooks.h (init_ts). New langhook. * passes.c (rest_of_decl_compilation): Reverse order of tests. * print-tree.c (print_node): Update to only print fields that exist in the structures the passed decl has. * toplev.c (wrapup_global_declarations): Don't reset DECL_DEFER_OUTPUT on DECL's that don't contain it. * tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed. * tree-inline.c (remap_decl): Ditto. * tree-outof-ssa.c (create_temp): Reverse order of tests. * tree-pretty-print.c (print_declaration): Don't print DECL_REGISTER on things that don't contain it. * tree-vrp.c (expr_computes_nonzero): Don't check weakness on non-var/function decls. * tree.c (tree_contains_struct): New structure. (init_priority_for_decl): New hashtable. (tree_int_map): New structure. (tree_int_map_eq): New function. (tree_int_map_marked_p): Ditto. (tree_int_map_hash): Ditto. (tree_map): Move to tree.h. (tree_map_eq): Externalize. (tree_map_hash): Ditto. (tree_map_marked_p): Ditto. (init_ttree): Set up tree_contains_struct and call langhook. (decl_assembler_name): Use DECL_NON_COMMON_CHECK.. (tree_code_size): Update for new structures. (tree_node_structure): Update for new structures. (make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls without the field. (copy_node_stat): Copy init priority. (build_decl_stat): Ditto for visibility. (ts_enum_names): New. (tree_contains_struct_check_failed): New function. (decl_init_priority_lookup): Ditto. (decl_init_priority_insert): Ditto. * treestruct.def: New file. * tree.h (CODE_CONTAINS_STRUCT): New macro. (CONTAINS_STRUCT_CHECK): Ditto. (tree_contains_struct_check_failed): New prototype. (DECL_CHECK): Removed. (DECL_MINIMAL_CHECK): New. (DECL_COMMON_CHECK): Ditto. (DECL_WRTL_CHECK): Ditto. (DECL_NON_COMMON_CHECK): Ditto. (DECL_WITH_VIS_CHECK): Ditto. (VAR_OR_FUNCTION_DECL_P): Ditto (struct tree_decl_minimal): New structure. (struct tree_decl_common): Ditto. (struct tree_decl_with_rtl): Ditto. (struct tree_decl_with_vis): Ditto. (struct tree_decl_non_common): Ditto. (struct tree_field_decl): Ditto. (struct tree_parm_decl): Ditto. (struct tree_var_decl): Ditto. (struct tree_function_decl): Ditto. (struct tree_const_decl): Ditto. (struct tree_result_decl): Ditto. (union tree_node): Add new structures. * var-tracking.c (track_expr_p): Reverse order of tests. * doc/c-tree.texi: Add documentation on DECL node internal structure. 2005-07-08 Daniel Berlin <dberlin@dberlin.org> * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is removed. 2005-07-08 Daniel Berlin <dberlin@dberlin.org> * Make-lang.in: Add gt-cp-lang.h. (cp-lang.o): Ditto. * class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME on the field. * config-lang.in: Add cp-lang.c to gtfiles. * cp-lang.c: Include hashtab.h. (cp_init_ts): New function. (LANG_HOOK_INIT_TS): Use macro. (decl_shadowed_for_var_lookup): New function. (decl_shadowed_for_var_insert): Ditto. * cp-tree.h (THUNK_FUNCTION_CHECK): Use decl_common. (NON_THUNK_FUNCTION_CHECK): Ditto. (DECL_NAMESPACE_ASSOCIATIONS): Use decl_non_common. (DECL_INIT_PRIORITY): Ditto. (DECL_HAS_SHADOWED_FOR_VAR_P): Ditto. (DECL_SHADOWED_FOR_VAR): Use hashtable. (SET_DECL_SHADOWED_FOR_VAR): Ditto. * decl.c (duplicate_decls): Update for new/updated structures. (poplevel): Use SET_DECL_SHADOWED_FOR_VAR. * decl2.c (start_static_initialization_or_destruction): Deal with priority. * pt.c (tsubst_decl): Check TS_DECL_WRTL before doing SET_DECL_RTL. * tree.c (handle_init_priority_attribute): Handle priority. 2005-07-08 Daniel Berlin <dberlin@dberlin.org> * objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is removed. * objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common. (KEYWORD_KEY_NAME): Use decl_minimal. (METHOD_SEL_NAME): Ditto.. (METHOD_SEL_ARGS): Use decl_non_common. (METHOD_ADD_ARGS): Ditto. (METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common. (METHOD_DEFINITION): Ditto. (METHOD_ENCODING): Ditto. * objc-lang.c: (objc_init_ts): New function. 2005-07-08 Daniel Berlin <dberlin@dberlin.org> * trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN is removed. From-SVN: r101799
2005-06-25Update FSF address.Kelley Cook1-2/+2
From-SVN: r101312
2005-06-15Make-lang.in: Reformat some long lines.Nathan Sidwell1-1/+1
* Make-lang.in: Reformat some long lines. (gt-cp-rtti.h): New target. (cp/rtti.o): Add dependency. * config-lang.in (gtfiles): Add cp/rtti.c. * cp-tree.h (CPTI_TI_DESC_TYPE, CPTI_BLTN_DESC_TYPE, CPTI_PTR_DESC_TYPE, CPTI_ARY_DESC_TYPE, CPTI_FUNC_DESC_TYPE, CPTI_ENUM_DESC_TYPE, CPTI_CLASS_DESC_TYPE, CPTI_SI_CLASS_DESC_TYPE, CPTI_VMI_CLASS_DESC_TYPE, CPTI_PTM_DESC_TYPE, CPTI_BASE_DESC_TYPE): Remove. (ti_desc_type_node, bltn_desc_type_node, ptr_desc_type_node, ary_desc_type_node, func_desc_type_node, enum_desc_type_node, class_desc_type_node, si_class_desc_type_node, vmi_class_desc_type_node, ptm_desc_type_node, base_desc_type_node): Remove. * decl.c: Adjust documentation of global trees. * rtti.c (TINFO_PSEUDO_TYPE, TINFO_VTABLE_DECL, TINFO_REAL_NAME): Remove. (struct tinfo_s): New. (enum tinfo_kind): New. (tinfo_descs): New. (get_tinfo_decl): Adjust use of tinfo descriptor. (tinfo_base_init, generic_initializer, ptr_initializer, ptm_initializer, class_initializer): Likewise. (get_pseudo_ti_init): Take descriptor index. Adjust. (create_pseudo_type_info): Likewise. (get_pseudo_ti_desc): Return descriptor index. Adjust. (create_tinfo_types): Adjust use of create_pseudo_type_info. (emit_tinfo_decl): Adjust use of tinfo descriptor. From-SVN: r100971
2005-06-06* config-lang.in (target_libs): Remove target-gperf.Hans-Peter Nilsson1-1/+1
From-SVN: r100659
2005-01-25class.c (abort_fndecl_addr): New variable.Andrew Pinski1-1/+1
2005-01-25 Andrew Pinski <pinskia@physics.uc.edu> * class.c (abort_fndecl_addr): New variable. (build_vtbl_initializer): If we have a pure virtual function share the abort function's address. Include gt-cp-class.h at the end. * config-lang.in (gtfiles): Add cp/class.c. From-SVN: r94225
2004-07-14cp-tree.h (IDENTIFIER_VALUE): Remove.Mark Mitchell1-1/+1
* cp-tree.h (IDENTIFIER_VALUE): Remove. (BINFO_PUSHDECLS_MARKED): Likewise. (maybe_inject_for_scope_var): Likewise. (push_class_decls): Likewise. * name-lookup.h (push_class_binding): Remove. (innermost_non_namespace_value): New function. (outer_binding): Likewise. * class.c (add_method): Push bindings before adding to TYPE_METHODS. (restore_class_cache): Do not restore class_shadowed. (pushclass): Do not add USING_DECLs. Do not call push_class_decls. * config-lang.in (gtfiles): Remove $(srcdir)/cp/search.c. * decl.c (pushdecl): Use outer_binding. (poplevel): Set the scope for an out-of-scope for-loop declaration appropriately. (cp_finish_decl): Don't call maybe_inject_for_scope_var. * name-lookup.c (new_class_binding): New function. (push_binding): Use it. (pushdecl): Use innermost_non_namespace_value. (maybe_inject_for_scope_var): Remove. (push_class_binding): Remove. (set_inherited_value_binding_p): New function. (get_class_binding): New function. (push_class_level_binding): Assert that the current_class_type is being defined. (outer_binding): New function. (innermost_non_namespace_value): Likewise. (lookup_name_real): Use outer_binding. (lookup_name_current_level): Ignore out-of-scope variables. * pt.c (check_template_shadow): Use innermost_non_namespace_value. (lookup_template_class): Likewise. * search.c (dfs_push_type_decls): Remove. (dfs_push_decls): Likewise. (setup_class_bindings): Likewise. (lookup_field_1): Handle USING_DECLs from dependent scopes. (marked_pushdecls_p): Remove. (unmarked_pushdecls_p): Remove. (marked_identifiers): Remove. (setup_class_bindings): Remove. (dfs_push_type_decls): Remove. (dfs_push_decls): Remove. (push_class_decls): Remove. From-SVN: r84689
2004-07-13cp-tree.h (lang_identifier): Remove class_value.Mark Mitchell1-1/+1
* cp-tree.h (lang_identifier): Remove class_value. (IDENTIFIER_CLASS_VALUE): Remove. (pop_class_decls): Likewise. (init_search_processing): Likewise. * class.c (handle_using_decl): Use lookup_member, not IDENTIFIER_CLASS_VALUE. (restore_class_cache): New function, split out from ... (pushclass): ... here. Do not call clear_identifier_class_values. (invalidate_class_lookup_cache): Do not clear IDENTIFIER_CLASS_VALUE. (popclass): Do not call pop_class_decls. (maybe_note_name_used_in_class): Do not save names looked up after the class is complete. Use lookup_member, not IDENTIFIER_CLASS_VALUE. * config-lang.in (gtfiles): Add $(srcdir)/cp/search.c. * decl.c (cxx_init_decl_processing): Do not call init_search_processing. * method.c (do_build_copy_constructor): Remove unnecessary code. (do_build_assign_ref): Likewise. * name-lookup.c (pushdecl): Use lookup_member, not IDENTIFIER_CLASS_VALUE. (set_identifier_type_value_with_scope): Set TREE_TYPE on the type_shadowed list. (poplevel_class): Do not restore IDENTIFIER_CLASS_VALUE. (push_class_binding): Do not set it. (clear_identifier_class_values): Remove. (push_class_level_binding): Do not set IDENTIFIER_CLASS_VALUE. (store_binding): Do not save it. (pop_from_top_level): Do not restore it. * name-lookup.h (cxx_saved_binding): Remove class_value. (clear_identifier_class_values): Remove. * ptree.c (cxx_print_identifier): Do not print IDENTIFIER_CLASS_VALUE. * search.c (search_obstack): Remove. (push_stack_level): Remove. (pop_stack_level): Remove. (search_level): Remove. (search_stack): Remove. (lookup_member): Don't check IDENTIFIER_CLASS_VALUE. (setup_class_bindings): Use IDENTIFIER_MARKED, not IDENTIFIER_CLASS_VALUE. (marked_identifiers): New variable. (push_class_decls): Clear IDENTIFIER_MARKED. (pop_class_decls): Don't call pop_search_level. (init_search_processing): Remove. From-SVN: r84629
2004-07-12re PR c++/2204 (G++ doesn't check (member) function parameter for ↵Giovanni Bajo1-1/+1
abstract-ness.) PR c++/2204 * config-lang.in (gtfiles): Add typeck2.c. * Make-lang.in: Tweak typeck2.c dependencies, and add rule for gt-cp-typeck2.h. * cp-tree.h: Declare complete_type_check_abstract. * typeck2.c (pat_calc_hash, pat_compare, complete_type_check_abstract): New functions. (abstract_virtuals_error): If the type is abstract, register the declaration within abstract_pending_vars for further checks. Inspect also dependent types. Handle IDENTIFIER_NODEs as decl. * decl.c (cp_finish_decl): Do not strip array types. (create_array_type_for_decl): Check for abstractness of the element type. (complete_vars): Call complete_type_check_abstract. * class.c (finish_struct): Prepare a list of virtual functions for template types, and call complete_vars on it to check for abstractness. PR c++/2204 * g++.dg/other/abstract2.C: New test. From-SVN: r84552
2004-06-24Make-lang.in (cp/lex.o): Do not depend on cp/lex.h.Mark Mitchell1-1/+1
* Make-lang.in (cp/lex.o): Do not depend on cp/lex.h. (cp/decl.o): Likewise. (cp/decl2.o): Likewise. (cp/pt.o): Likewise. (cp/semantics.o): Likewise. * config-lang.in (gtfiles): Do not reference cp/lex.h. * class.c: Do not include lex.h. (add_implicitly_declared_members): Do not use adding_implicit_members. (check_bases_and_members): Do not talk about grok_x_components. * cp/cp-tree.h (adding_implicit_members): Remove. (cp_storage_class): New type. (cp_decl_spec): Likewise. (cp_decl_specifier_seq): Likewise. (cp_parameter_declarator): Use it for the decl_specifiers field. (check_tag_decl): Adjust prototype. (shadow_tag): Likewise. (groktypename): Likewise. (start_decl): Likewise. (start_function): Likewise. (start_method): Likewise. (grok_x_components): Remove. (grokfield): Adjust prototype. (grokbitfield): Likewise. (finish_member_class_template): Remove. * decl.c: Do not include lex.h. (adding_implicit_members): Do not define. (check_tag_decl): Do not use trees to represent decl-specifiers. (shadow_tag): Likewise. (groktypename): Likewise. (start_decl): Likewise. (grokvardecl): Likewise. (grokdeclarator): Likewise. (grokparms): Likewise. (start_function): Likewise. (start_method): Likewise. * decl.h (grokdeclarator): Adjust prototype. * decl2.c: Do not include lex.h. (grok_x_components): Remove. (grokfield): Do not use trees to represent decl-specifiers. (grokbitfield): Likewise. * lex.c: Do not include lex.h. * lex.h: Remove. * parser.c: Include target.h. (clear_decl_specs): New function. (cp_parser_translation_unit): Do not use trees to represent decl-specifiers. (cp_parser_postfix_expression): Likewise. (cp_parser_new_type_id): Likewise. (cp_parser_condition): Likewise. (cp_parser_simple_declaration): Likewise. (cp_parser_decl_specifier_seq): Likewise. (cp_parser_function_specifier_opt): Likewise. (cp_parser_conversion_type_id): Likewise. (cp_parser_template_parameter): Likewise. (cp_parser_explicit_instantiation): Likewise. (cp_parser_type_specifier): Likewise. (cp_parser_simple_type_specifier): Likewise. (cp_parser_init_declarator): Likewise. (cp_parser_type_id): Likewise. (cp_parser_type_specifier_seq): Likewise. (cp_parser_parameter_declaration): Likewise. (cp_parser_member_declaration): Likewise. (cp_parser_exception_declaration): Likewise. (cp_parser_function_definition_from_specifiers_and_declarator): Likewise. (cp_parser_single_declaration): Likewise. (cp_parser_save_member_function_body): Likewise. (cp_parser_friend_p): Likewise. (cp_parser_set_storage_class): New function. (cp_parser_set_decl_spec_type): Likewise. * pt.c: Do not include lex.h. * semantics.c: Likewise. (finish_member_class_template): Remove. From-SVN: r83584
2004-02-27re PR c++/14278 (fails when calling through a function pointer)Mark Mitchell1-1/+1
PR c++/14278 * parser.c (cp_parser_parameter_declaration_list): Commit to fewer tentative parses. PR c++/14278 * g++.dg/parse/comma1.C: New test. [[Split portion of a mixed commit.]] From-SVN: r78541.2
2003-06-23i386.c (x86_output_mi_thunk): Don't pass MEM to %P0, just SYMBOL_REF.Jakub Jelinek1-1/+1
* config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0, just SYMBOL_REF. * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31 mode, as it requires pic register loaded. * varasm.c (resolve_unique_section): Remove prototype. No longer static. * tree.h (resolve_unique_section): New prototype. cp/ * method.c (thunk_labelno): New variable. (make_alias_for_thunk): New function. (use_thunk): Use it if defined ASM_OUTPUT_DEF. Put the thunk into the same section as the function it is calling. Include gt-cp-method.h. * Make-lang.in (gt-cp-method.h): Depend on s-gtype. (cp/method.o): Depend on gt-cp-method.h. * config-lang.in (gtfiles): Add $(srcdir)/cp/method.c. From-SVN: r68389
2003-04-03Index: testsuite/ChangeLogGeoffrey Keating1-1/+1
2003-04-02 Geoffrey Keating <geoffk@apple.com> * g++.dg/pch/system-2.C: New. * g++.dg/pch/system-2.Hs: New. Index: cp/ChangeLog 2003-04-02 Geoffrey Keating <geoffk@apple.com> * mangle.c: Include gt-cp-mangle.h. (subst_identifiers): Mark with GTY. * config-lang.in (gtfiles): Add cp/mangle.c. * Make-lang.in: (gt-cp-mangle.h): New rule. (cp/mangle.o): Depends on gt-cp-mangle.h. From-SVN: r65194
2003-04-01config-lang.in (gtfiles): add \$(srcdir)/cp/name-lookup.c after ↵Andrew Pinski1-1/+1
\$(srcdir)/cp/name-lookup.h. 2003-04-01 Andrew Pinski <pinskia@physics.uc.edu> * config-lang.in (gtfiles): add \$(srcdir)/cp/name-lookup.c after \$(srcdir)/cp/name-lookup.h. * name-lookup.c: (cxx_binding_make): Use ggc_alloc_clearedinstead of ggc_alloc. Include gt-cp-name-lookup.h at the end of the file. * Make-lang.in: (gt-cp-name-lookup.h): is generated by the gtype. (cp/name-lookup.o): depends on gt-cp-name-lookup.h. From-SVN: r65142
2003-03-30name-lookup.c: New file.Gabriel Dos Reis1-1/+1
* name-lookup.c: New file. * name-lookup.h: Likewise.. * decl.c (push_binding): Adjust use cxx_binding_make. (free_bindings): Move to name-lookup.c (pop_binding): Use cxx_binding_free. (binding_for_name): Tidy. * cp-tree.h: Include "name-lookup.h" (cxx_binding_make): Move to name-lookup.h (cxx_binding_clear): Likewise. (struct cxx_binding): Likewise. (LOCAL_BINDING_P): Likewise. (INHERITED_VALUE_BINDING_P): Likewise. (BINDING_SCOPE): Likewise. (BINDING_HAS_LEVEL_P): Likewise. (BINDING_VALUE): Likewise. (BINDING_TYPE): Likewise. * config-lang.in (gtfiles): Add cp/name-lookup.h * Make-lang.in (cp/name-lookup.o): New rule. (CXX_OBJS): Add cp/name-lookup.o (CXX_TREE_H): Add cp/name-lookup.h From-SVN: r65040
2003-03-05* config-lang.in: Replace ${libstdcxx_version} by its value.Nathanael Nerode1-1/+1
From-SVN: r63827
2003-01-14config-lang.in: Add semantics.c to gtfiles.Kriang Lerdsuwanakij1-1/+1
* config-lang.in: Add semantics.c to gtfiles. * cp-tree.h (flagged_type_tree_s): Remove lookups field. (saved_scope): Likewise. (type_lookups): Remove. (deferred_access): New structure. (type_access_control): Remove. (save_type_access_control): Likewise. (reset_type_access_control): Likewise. (decl_type_access_control): Likewise. (push_deferring_access_checks): Declare. (resume_deferring_access_checks): Likewise. (stop_deferring_access_checks): Likewise. (pop_deferring_access_checks): Likewise. (get_deferred_access_checks): Likewise. (pop_to_parent_deferring_access_checks): Likewise. (perform_deferred_access_checks): Likewise. (perform_or_defer_access_check): Likewise. * decl.c (make_typename_type): Use perform_or_defer_access_check. (make_unbound_class_template): Likewise. (grokdeclarator): Don't call decl_type_access_control. * parser.c (cp_parser_context): Remove deferred_access_checks and deferring_access_checks_p fields. (cp_parser_context_new): Adjust. (cp_parser): Remove access_checks_lists. (cp_parser_defer_access_check): Remove. (cp_parser_start_deferring_access_checks): Remove. (cp_parser_stop_deferring_access_checks): Remove. (cp_parser_perform_deferred_access_checks): Remove. (cp_parser_nested_name_specifier_opt): Use new deferred access functions. (cp_parser_simple_declaration): Likewise. (cp_parser_template_id): Likewise. (cp_parser_function_definition): Likewise. (cp_parser_class_specifier): Likewise. (cp_parser_lookup_name): Likewise. (cp_parser_single_declaration): Likewise. (cp_parser_pre_parsed_nested_name_specifier): Likewise. (cp_parser_parse_tentatively): Likewise. (cp_parser_parse_definitely): Likewise. (yyparse): Likewise. (cp_parser_init_declarator): Remove access_checks parameter. Use new deferred access functions. (cp_parser_function_definition_from_specifiers_and_declarator): Likewise. (cp_parser_class_head): Remove deferring_access_checks_p and saved_access_checks parameters. Use new deferred access functions. (cp_parser_member_specification_opt): Don't call reset_type_access_control. * search.c (type_access_control): Remove. * semantics.c: Include "gt-cp-semantics.h". (deferred_type_access_control): Remove. (deferred_access_stack): New variable. (deferred_access_free_list): Likewise. (push_deferring_access_checks): New function. (resume_deferring_access_checks): Likewise. (stop_deferring_access_checks): Likewise. (pop_deferring_access_checks): Likewise. (get_deferred_access_checks): Likewise. (pop_to_parent_deferring_access_checks): Likewise. (perform_deferred_access_checks): New function, adapted from cp_parser_perform_deferred_access_checks. (perform_or_defer_access_check): New function, adapted from cp_parser_defer_access_check. (current_type_lookups): Remove. (deferred_type_access_control): Likewise. (decl_type_access_control): Likewise. (save_type_access_control): Likewise. (reset_type_access_control): Likewise. (begin_function_definition): Adjust. (begin_class_definiton): Likewise. From-SVN: r61283
2002-12-30config-lang.in, [...]: GCC, not GNU CC.Nathanael Nerode1-5/+5
* config-lang.in, Make-lang.in, operators.def, cp-tree.def: GCC, not GNU CC. From-SVN: r60638
2002-12-28Make-lang.in (po-generated): Remove parse.c.Mark Mitchell1-1/+1
* Make-lang.in (po-generated): Remove parse.c. (CXX_OBJS): Remove parse.o and spew.o. Add parser.o. ($(srcdir)/cp/parse.h): Remove target. ($(srcdir)/cp/parse.c): Likewise. (gt-cp-parse.h): Likewise. (gt-cp-parser.h): New target. (c++.distclean): Do not remove parse.output. (c++.maintainer-clean): Do not remove parse.c or parse.h. (cp/spew.o): Remove target. (cp/lex.o): Adjust dependencies. (cp/pt.o): Likewise. (cp/parse.o): Likewise. (cp/TAGS): Do not mention parse.c. (cp/parser.o): New target. * NEWS: Mention the new parser. * call.c (build_scoped_method_call): Simplify. (build_method_call): Likewise. (build_new_function_call): Adjust calls to add_function_candidate and add_template_candidate. (build_new_op): Improve handling of erroroneous operands. (convert_default_arg): Remove circular argument processing. (name_as_c_string): New function. (build_new_method_call): Use it. (perform_implicit_conversion): Use error_operand_p. * class.c (finish_struct_anon): Use constructor_name_p. (check_field_decls): Likewise. (pop_nested_class): Use OVL_NEXT, not OVL_CHAIN. (resolve_address_of_overloaded_function): Likewise. (instantiate_type): Tweak pointer-to-member handling. (get_primary_binfo): Remove incorrect assertion. * config-lang.in (gtfiles): Add parser.c, remove parse.c. * cp-tree.h (DEFARG_TOKENS): New macro. (default_arg): New structure. (cp_tree_node_structure_enum): Add TS_CP_DEFAULT_ARG. (lang_tree_node): Add default_arg. (cp_tree_index): Add CPTI_TYPE_INFO_REF_TYPE. (type_info_ref_type): New macro. (saved_scope): Make processing_explicit_instantiation a boolean. (check_access): New field. (unparsed_text): Remove. (language_function): Remove unparsed_inlines. (error_operand_p): New macro. (lang_decl): Adjust pending_inline_info. (DEFARG_POINTER): Remove. (tag_types): Add typenames. (lookup_ualified_name): Declare. (lookup_name_real): Likewise. (shadow_tag): Adjust prototype. (get_scope_of_declarator): Declare it. (process_next_inline): Remove it. (check_for_missing_semicolon): Likewise. (maybe_get_template_decl_from_type_decl): Declare it. (finish_label_stmt): Adjust prototype. (finish_non_static_data_meber): Declare it. (finish_pseudo_destructor_call_expr): Rename to ... (finish_pseudo_destructor_expr): ... this. (finish_compound_literal): Declare it. (begin_inline_definitions): Remove it. (init_spew): Remove. (peekyylex): Likewise. (arbitrate_lookup): Likewise. (frob_opname): Likewise. (maybe_snarf_defarg): Likewise. (add_defarg_fn): Likewise. (do_pending_defargs): Likewise. (done_pending_defargs): Likewise. (unprocessed_defarg_fn): Likewise. (replace_defarg): Likewise. (end_input): Likewise. (get_overloaded_fn): Likewise. * cvt.c (convert_to_reference): Improve error handling. * decl.c (lookup_name_real): Do not declare it static. (maybe_push_to_top_level): Set check_access. (identifier_type_value): Adjust call to lookup_name_real. (lookup_qualified_name): New method. (lookup_name_real): Remove special-case parsing code. (lookup_name-nonclass): Adjust call to lookup_name_real. (lookup_name_namespace_only): Likewise. (lookup_name): Likewise. (check_tag_decl): Return the type declared. (shadow_tag): Likewise. (register_dtor_fn): Tweak check_access. (grokfndecl): Use constructor_name_p. (get_scope_of_declarator): New function. (grokdeclarator): Obscure tweaks for slightly different declarator representations. (start_method): Return error_mark_node to indicate failure. (cp_tree_node_structure_enum): Use TS_CP_DEFAULT_ARG for DEFAULT_ARGs. * decl2.c (constructor_name_full): Simplify. (constructor_name): Use it. (build_expr_from_tree): Adjust for changes to do new parser. (push_scope): Improve robustness. (validate_nonmember_using_decl): Process declarations, not names. (do_class_using_decl): Likewise. (handle_class_head): Do not mess with CLASSTYPE_DECLARED_CLASS here. * error.c (dump_expr): Handle IDENTIFIER_NODEs and BASELINKs. * expr.c (cxx_expand_expr): Handle BASELINKs. * init.c (member_init_ok_or_else): Issue more errors. (build_offset_ref): Tweak handling of FUNCTION_DECLs. * lex.c: Do not include parse.h. (yypring): Do not declare. (yylval): Likewise. (make_reference_declarator): Remove error-generating code. (rid_to_yy): Remove. (cxx_init): Do not call init_spew. (yypring): Remove. (check_for_missing_semicolon): Remove. * lex.h (got_scope): Remove. (got_object): Remove. * method.c (hack_identifier): Use finish_non_static_data_member. (implicitly_declare_fn): Adjust use of constructor_name. * parser.c: New file. * pt.c (parse.h): Do not include it. (maybe_get_template_decl_from_template): Do not declare it. (finish_member_template_decl): Tweak. (begin_explicit_instantiation): Adjust for processing_explicit_instantiation being boolean. (end_explicit_instantiation): Likewise. (maybe_process_partial_specialization): Tighten specialization test. (retrieve_local_specialization): Adjust ue of hash table. (eq_local_specializations): New function. (register_local_specialization): Likewise. (push_template_decl_real): Remove unnecessary test. (maybe_get_template_decl_from_type_decl): Don't make it static. (for_each_template_parm_r): Handle TYPEOF_TYPE. (tsubst_copy): Use retrieive_local_specialization to handle PARM_DECL. Adjust handling of CONST_DECLs. Handle BASELINKs. Handle COMPONENT_REFs with pseudo-destructor-expressions. Simplify handling of CALL_EXPR and METHOD_CALL_EXPR. (tsubst_expr): Pass decls, not names, to do_local_using_decl. (unify): Tweak handling of CONST_DECLs. (regenerate_decl_from_template): Use push_nested_class. (template_for_substitution): New funciton. (instantiate_decl): Use it. Register parameters as local specializations. * rtti.c (init_rtti_processing): Set type_info_ref_type. (build_typeid): Use it. (get_typeid): Likeise. * search.c (accessible_p): Use check_access, not flag_access_control. (adjust_result_of_qualified_name_lookup): Pay attention to the context_class. * semantics.c (finish_asm_stmt): Adjust error handling. (finish_label_stmt): Return the statement. (finish_non_static_data_member): New function. (finish_class_expr): Handle BASELINKs. (finish_call_expr): Handle PSEUDO_DTOR_EXPR. (finish_object_call_expr): Simplify handling during templates. (finish_pseudo_destructor_call_expr): Rename to ... (finish_pseudo_dtor_expr): ... this. (finish_compound_literal): New function. (begin_inline_definitions): Remove. (finish_sizeof): Remove special template handling. * spew.c: Do not include parse.h. * tree.c (get_overloaded_fn): Remove. * typeck.c (build_class_member_access_expr): Handle PSEUDO_DTOR_EXPR. Adjust handling of static member functions. (lookup_destructor): New function. (finish_class_member_access_expr): Use it. (convert_arguments): Simplify. (build_unary_op): Handle BASELINKs. From-SVN: r60560
2002-07-14Make gengtype.c language independent.Tim Josling1-1/+1
From-SVN: r55436
2002-06-04Merge from pch-branch up to tag pch-commit-20020603.Geoffrey Keating1-0/+2
From-SVN: r54232
2001-12-20configure.in (all_diff_excludes, [...]): Remove.Joseph Myers1-3/+0
* configure.in (all_diff_excludes, diff_excludes): Remove. * configure: Regenerate. * Makefile.in (LANG_DIFF_EXCLUDES): Remove. * objc/config-lang.in (diff_excludes): Remove. ada: * config-lang.in (diff_excludes): Remove. ch: * config-lang.in (diff_excludes): Remove. cp: * config-lang.in (diff_excludes): Remove. f: * config-lang.in (diff_excludes): Remove. java: * config-lang.in (diff_excludes): Remove. From-SVN: r48189
2001-09-29config-lang.in (target_libs): Added target-gperf, so that we don't try to ↵Alexandre Oliva1-2/+3
build it if C++ is disabled. * config-lang.in (target_libs): Added target-gperf, so that we don't try to build it if C++ is disabled. From-SVN: r45887
2000-12-12configure.in: Simplify language enabling/disabling code.Alexandre Oliva1-1/+3
* configure.in: Simplify language enabling/disabling code. * configure: Rebuilt. * ch/config-lang.in (target_libs): Set. (build_by_default): Set to no. * cp/config-lang.in (target_libs): Set. * f/config-lang.in (target_libs): Set. * java/config-lang.in (target_libs): Set. * objc/config-lang.in (target_libs): Set. From-SVN: r38207
2000-10-27configure.in: If not NO_MINUS_C_MINUS_O, substitute OUTPUT_OPTION with '-o $@'.Zack Weinberg1-2/+0
* configure.in: If not NO_MINUS_C_MINUS_O, substitute OUTPUT_OPTION with '-o $@'. Make zlibdir, zlibinc relative to top level. Kill oldstyle_subdirs. Do not include $srcdir/$s/Makefile.in in all_lang_makefiles, but do include $outputs. Do not run configure.lang from config.status. Rearrange warning-flag logic to correspond to what the makefile wants. Put special vax stage1 options in @stage1_flags@ not @stage1_warn_cflags@. Don't do anything with extra_c_objs, extra_cxx_objs, or extra_cpp_objs. (--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if switch is given, nothing otherwise. * configure.lang: Delete. * Makefile.in: Expunge all traces of extra_c_objs, extra_cxx_objs, and extra_cpp_objs. Set MAYBE_CPPLIB from @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS. Set warning options via a three level scheme so that -pedantic and -Wtraditional are not used for non-C front ends: LOOSE_WARN, STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS -> WARN_CFLAGS. Distinguish STAGE1_CFLAGS from BOOT_CFLAGS. Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES. Set OUTPUT_OPTION, ZLIB, ZLIBINC. Do not set P, LANG_FLAGS_TO_PASS. Add OUTPUT_OPTION to all object-file generation rules. Wrap all rules that change the current directory in parentheses; pmake doesn't spawn a new shell for each command. Expunge all references to $(P). When one command depends on another and they're run all at once, use && to separate them, not ;. Add libgcc_s$(SHLIB_EXT) to files deleted on make clean. Force OUTPUT_OPTION='-o $@' in stage2 and beyond. * cp/Make-lang.in, f/Make-lang.in, java/Make-lang.in, objc/Make-lang.in: Wrap all rules that change the current directory in parentheses. Expunge all references to $(P). When one command depends on another and they're run all at once, use && to separate them, not ;. Add OUTPUT_OPTION to all object-file generation rules. Delete obsolete variables. Move all build rules here from the corresponding Makefile.in and adapt to the new environment. * cp/Makefile.in, f/Makefile.in, java/Makefile.in, objc/Makefile.in: Delete. * cp/config-lang.in, f/config-lang.in, java/config-lang.in: Delete outputs= line. From-SVN: r37088
2000-10-09Make-lang.in (CXX_EXTRA_HEADERS): Remove.Richard Henderson1-4/+0
* Make-lang.in (CXX_EXTRA_HEADERS): Remove. (c++ language support bits for libgcc): Remove. (c++.clean): Remove cplib2.txt cleanup. * config-lang.in (headers, lib2funcs): Remove. * exception.cc, new.cc, new1.cc, new2.cc: Remove files. * tinfo.cc, tinfo.h, tinfo2.cc, vec.cc: Remove files. * inc/cxxabi.h, inc/exception, inc/new: Remove files. * inc/new.h, inc/typeinfo: Remove files. From-SVN: r36816
1999-01-06Copyright fixes.Jeff Law1-1/+1
From-SVN: r24537
1998-04-04* Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12Jeff Law1-1/+1
for details. * haifa-sched.c: Mirror recent changes from gcc2. From-SVN: r18984
1997-09-12* Makefile.in, config-lang.in: Convert to autoconf.Per Bothner1-0/+2
From-SVN: r15429
1996-09-3089th Cygnus<->FSF quick mergeMike Stump1-0/+4
From-SVN: r12883