| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Fixes libstdc++ failure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16153 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
(compile_file): If flag_exceptions still has the value 2, then
set it to 0.
* lex.c (lang_init): Enable flag_exceptions by default if no
command line switch was specified.
Gross hacks to allow front-ends to override -fexceptions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16152 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add static to definitions.
* pt.c (add_to_template_args, note_template_header,
processing_explicit_specialization, type_unification_real): Likewise.
({determine,check}_explicit_specialization): Use a single string for
error messages.
fixes problems building with sunos4 system cc
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16150 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
(expand_end_catch_block): Likewise.
(expand_end_eh_spec): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16106 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (duplicate_decls): Handle template specializations
correctly.
* error.c (dump_function_name): Fix printing of specializations of
member functions that are not member templates.
* cp-tree.h (processing_specialization): Make global.
* pt.c (processing_specialization): Likewise.
* lex.c (cons_up_default_function): Save and restore
processing_specialization to avoid confusion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16101 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* typeck.c (comp_target_types): Handle UNKNOWN_TYPE.
(common_type): Likewise.
* error.c (args_as_string): Recognize null_node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16100 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
to keep Purify quiet.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15938 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
(build_overload_int): Not here.
Wed Oct 15 00:35:28 1997 Mike Stump <mrs@wrs.com>
* class.c (build_type_pathname): Remove.
(prepare_fresh_vtable): Fix problem with complex MI vtable names.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15928 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
&&label GNU extension.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15907 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15906 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15905 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it,
so as to avoid incorrect manglings.
* method.c (build_decl_overload_real): Don't mangle return types
for constructors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15904 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
scratch_tree_cons): Define as macros for now.
* call.c, class.c, cvt.c, decl.c, decl2.c, except.c, expr.c, init.c,
lex.c, method.c, parse.y, pt.c, rtti.c, search.c, tree.c, typeck.c,
typeck2.c: Use them and the expression_obstack variants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15900 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
be used with the named return values extension.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15896 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15888 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15884 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15883 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
(instantiate_decl): Really use the original template.
* call.c (build_new_method_call): Use simple constructor_name for
error messages.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15882 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
features.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15881 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
for our key method; it might have been inlined by -O3.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15877 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* decl.c (make_typename_type): Do not try to call lookup_field for
non-aggregate types.
Tue Oct 7 22:52:10 1997 Jason Merrill <jason@yorick.cygnus.com>
* typeck.c (build_reinterpret_cast): Tweak.
Tue Oct 7 22:45:31 1997 Alexandre Oliva <oliva@dcc.unicamp.br>
* typeck.c (build_reinterpret_cast): converting a void pointer
to function pointer with a reinterpret_cast produces a warning
if -pedantic is issued
Tue Oct 7 22:43:43 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
* typeck.c (c_expand_return): Don't warn about returning a
reference-type variable as a reference.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15876 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
1997-10-07 Brendan Kehoe <brendan@lisa.cygnus.com>
* decl.c (duplicate_decls): Make sure DECL_LANG_SPECIFIC is set on
OLDDECL before we try to do DECL_USE_TEMPLATE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15873 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15871 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
are allowed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15869 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* typeck.c (mark_addressable): Lose ancient code that unsets
DECL_EXTERNAL.
* pt.c (do_decl_instantiation): Lose support for instantiating
non-templates.
* call.c (build_new_function_call): Fix handling of null explicit
template args.
(build_new_method_call): Likewise.
Mon Oct 6 23:44:34 1997 Mark Mitchell <mmitchell@usa.net>
* method.c (build_underscore_int): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15851 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
print_inline_obstack_statistics until its definition is checked in.
the definition of the fn's not checked in yet by jason
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15849 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
print_inline_obstack_statistics until its definition is checked in.
the definition of the fn's not checked in yet by jason
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15848 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* pt.c (instantiate_decl): Look for the original template.
(tsubst): Set DECL_IMPLICIT_INSTANTIATION on partial instantiations
of member templates.
Fixes tstring.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15838 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15828 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
(CONFLICTS): Update.
* g++FAQ.texi: Moved from libg++.
* parse.y (PFUNCNAME): Only specify the type once.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15827 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
the c-lex.c parser does for complex and real numbers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15826 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15804 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15803 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lex.c (real_yylex): Treat `$' just like `_', except issue a
diagnostic if !dollars_in_ident or if pedantic.
* lang-specs.h (@c++): -ansi no longer implies -$.
* decl2.c (lang_decode_option):
-traditional and -ansi now do not mess with
dollars_in_ident.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15802 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.in (parse.o, decl.o): Also depend on
$(srcdir)/../except.h $(srcdir)/../output.h.
(decl2.o): Also depend on $(srcdir)/../expr.h ../insn-codes.h
$(srcdir)/../except.h $(srcdir)/../output.h.
(typeck.o, init.o): Also depend on $(srcdir)/../expr.h
../insn-codes.h.
* call.c, cp-tree.h, decl.c, tree.c: Finish prototyping.
* expr.c (cplus_expand_expr): Make it static.
* decl2.c, init.c, typeck.c: Include "expr.h".
(expand_expr): Use proper values when calling the function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15801 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lang-options.h: new -Wold-style-cast flag.
* cp-tree.h (warn_old_style_cast): new variable.
* decl2.c (warn_old_style_cast): ditto.
(lang_decode_option): support -Wold-style-cast.
(reparse_absdcl_as_casts): produce old-style-cast warning.
Mon Sep 29 09:20:53 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
* decl.c (cp_finish_decl): Allow expand_aggr_init to set
TREE_USED, reset value based on already_used.
* init.c (expand_member_init): Revert change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15793 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
Lose DECL_C_STATIC and DECL_PUBLIC. Don't pretend statics are public.
* decl2.c (lang_decode_option): Add missing ;.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15789 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* friend.c (do_friend): Disable injection for all template-derived
decls.
* decl2.c (lang_decode_option): Handle -fguiding-decls.
* parse.y (notype_template_declarator): New nonterminal.
(direct_notype_declarator): Use it.
(complex_direct_notype_declarator): Likewise.
(object_template_id): Accept any kind of identifier after TEMPLATE.
(notype_qualified_id): Don't add template declarators here.
Sat Sep 27 16:21:58 1997 Mark Mitchell <mmitchell@usa.net>
* call.c (add_template_candidate): Add explicit_targs parameter.
(build_scoped_method_call): Use it.
(build_overload_call_real): Likewise.
(build_user_type_conversion_1): Likewise.
(build_new_function_call): Likewise.
(build_object_call): Likewise.
(build_new_op): Likewise.
(build_new_method_call): Likewise.
(build_new_function_call): Handle TEMPLATE_ID_EXPR.
(build_new_method_call): Likewise.
* class.c (finish_struct_methods): Add specialization pass to
determine which methods were specializing which other methods.
(instantiate_type): Handle TEMPLATE_ID_EXPR.
* cp-tree.def (TEMPLATE_ID_EXPR): New tree code.
* cp-tree.h (name_mangling_version): New variable.
(flag_guiding_decls): Likewise.
(build_template_decl_overload): New function.
(begin_specialization): Likewise.
(reset_specialization): Likewise.
(end_specialization): Likewise.
(determine_explicit_specialization): Likewise.
(check_explicit_specialization): Likewise.
(lookup_template_function): Likewise.
(fn_type_unification): Add explicit_targs parameter.
(type_unification): Likewise.
* decl.c (duplicate_decls): Add smarts for explicit
specializations.
(grokdeclarator): Handle TEMPLATE_ID_EXPR, and function
specializations.
(grokfndecl): Call check_explicit_specialization.
* decl2.c (lang_decode_option): Handle -fname-mangling-version.
(build_expr_from_tree): Handle TEMPLATE_ID_EXPR.
(check_classfn): Handle specializations.
* error.c (dump_function_name): Print specialization arguments.
* friend.c (do_friend): Don't call pushdecl for template
instantiations.
* init.c (build_member_call): Handle TEMPLATE_ID_EXPR.
* lang-options.h: Add -fname-mangling-version, -fguiding-decls,
and -fno-guiding-decls.
* lex.c (identifier_type): Return PFUNCNAME for template function
names.
* method.c (build_decl_overload_real): New function.
(build_template_parm_names): New function.
(build_overload_identifier): Use it.
(build_underscore_int): New function.
(build_overload_int): Use it. Add levels for template
parameters.
(build_overload_name): Likewise. Also, handle TYPENAME_TYPEs.
(build_overload_nested_names): Handle template type parameters.
(build_template_decl_overload): New function.
* parse.y (YYSTYPE): New ntype member.
(nested_name_specifier): Use it.
(nested_name_specifier_1): Likewise.
(PFUNCNAME): New token.
(template_id, object_template_id): New non-terminals.
(template_parm_list): Note specializations.
(template_def): Likewise.
(structsp): Likewise.
(fn.def2): Handle member template specializations.
(component_decl_1): Likewise.
(direct_notype_declarator): Handle template-ids.
(component_decl_1): Likewise.
(direct_notype_declarator): Handle template-ids.
(primary): Handle TEMPLATE_ID_EXPR, and template-ids.
* pt.c (processing_specializations): New variable.
(template_header_count): Likewise.
(type_unification_real): New function.
(processing_explicit_specialization): Likewise.
(note_template_header): Likewise.
(is_member_template): Handle specializations.
(end_template_decl): Call reset_specialization.
(push_template_decl): Handle member template specializations.
(tsubst): Likewise.
(tsubst_copy): Handle TEMPLATE_ID_EXPR.
(instantiate_template): Handle specializations.
(instantiate_decl): Likewise.
(fn_type_unification): Handle explicit_targs.
(type_unification): Likewise. Allow incomplete unification
without an error message, if allow_incomplete.
(get_bindings): Use new calling sequence for fn_type_unification.
* spew.c (yylex): Handle PFUNCNAME.
* tree.c (is_overloaded_fn): Handle TEMPLATE_ID_EXPR.
(really_overloaded_fn): Likewise.
(get_first_fn): Handle function templates.
* typeck.c (build_x_function_call): Use really_overloaded_fn.
Handle TEMPLATE_ID_EXPR.
(build_x_unary_op): Likewise.
(build_unary_op): Likewise.
(mark_addressable): Templates whose address is taken are marked
as used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15774 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15749 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* decl.c (init_decl_processing): Declare __builtin_constant_p as
accepting any kind of type, not only int.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15734 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
about covariant returns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15732 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
extension for initializing base members.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15720 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15719 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parse.y (typename_sub{,[0-2]}): New rules.
(structsp, rule TYPENAME_KEYWORD): Use typename_sub.
(nonnested_type): New rule.
(complete_type_name): Use it.
(base_class.1): Use typename_sub and nonnested_type.
(nested_name_specifier): Don't elide std:: here.
* decl.c (make_typename_type): Handle getting a type for NAME.
(lookup_name_real): Turn std:: into :: here.
Rvalue conversions were removed in London.
* call.c (is_subseq): Don't consider lvalue transformations.
(build_conv): LVALUE_CONV and RVALUE_CONV get IDENTITY_RANK.
(joust): Reenable ?: kludge.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15715 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15687 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
pedwarn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15660 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
build_cplus_new.
Fixes t20.C mode problem.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15598 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
Fixes CLN problems.
* decl.c (finish_function): Just warn about flowing off the end.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15555 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
in a function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15516 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15514 138bc75d-0d04-0410-961f-82ee72b054a4
|