summaryrefslogtreecommitdiffstats
path: root/gcc/cp
Commit message (Collapse)AuthorAgeFilesLines
* * c-lex.c (indent_level): Remove.neil2002-05-232-9/+5
| | | | | | | | | | | | (cb_file_change, c_lex): Remove indent level handling. * c-lex.h (indent_level): Remove. * input.h (struct file_stack): Remove indent_level. * toplev.c (push_srcloc): Remove indent_level handling. cp: * spew.c (yyungetc, snarf_block): Remove indent_level handling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53786 138bc75d-0d04-0410-961f-82ee72b054a4
* * varasm.c (default_section_type_flags): Check for VAR_DECLrth2002-05-232-1/+6
| | | | | | | | | | before using DECL_THREAD_LOCAL. * decl.c (obscure_complex_init): Check for VAR_DECL before using DECL_THREAD_LOCAL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53761 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (check_tag_decl): Handle RID_THREAD.rth2002-05-223-2/+59
| | | | | | | | | | | | | | | (obscure_complex_init): Reject run-time init of tls. (grokvardecl, grokdeclarator): Handle RID_THREAD. * lex.c (reswords): Add __thread. (rid_to_yy): Map RID_THREAD to SCSPEC. * g++.dg/dg.exp: Prune the tls subdirectory. * g++.dg/tls/tls.exp, g++.dg/tls/trivial.C: New. * g++.dg/tls/diag-1.C, g++.dg/tls/diag-2.C: New. * g++.dg/tls/init-1.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53754 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix a typo.jakub2002-05-221-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53739 138bc75d-0d04-0410-961f-82ee72b054a4
* PR preprocessor/6517neil2002-05-225-13/+11
| | | | | | | | | | | | | | | | | | | | | | | * Makefile.in: Update. * c-common.c (c_common_post_options): Add preprocessor errors to the error count. * c-lang.c (c_post_options): Kill. (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options. * hooks.h: Add header guards. * langhooks-def.h: Include hooks.h. (LANG_HOOKS_POST_OPTIONS): Update. * langhooks.h (struct lang_hooks): Update post_options. * toplev.c (parse_options_and_default_flags): Update. cp: * cp-lang.c (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options. * cp-tree.h (cxx_post_options): Kill. * cp-lex.c (cxx_post_options): Kill. objc: * objc-lang.c (objc_post_options): Kill. (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53724 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.h (enum rid): Add RID_THREAD.rth2002-05-222-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables. (grokdeclarator): Grok __thread. * c-parse.in (reswords): Add __thread. (rid_to_yy): Add RID_THREAD. * cp/lex.c (rid_to_yy): Add RID_THREAD. * tree.h (DECL_THREAD_LOCAL): New. (struct tree_decl): Add thread_local_flag. * print-tree.c (print_node): Dump DECL_THREAD_LOCAL. * tree.c (staticp): TLS variables are not static. * target-def.h (TARGET_HAVE_TLS): New. * target.h (have_tls): New. * output.h (SECTION_TLS): New. * varasm.c (assemble_variable): TLS variables can't be common for now. (default_section_type_flags): Handle .tdata and .tbss. (default_elf_asm_named_section): Handle SECTION_TLS. (categorize_decl_for_section): Handle DECL_THREAD_LOCAL. * flags.h (flag_tls_default): Declare. * toplev.c (flag_tls_default): Define. (display_help): Display help for it. (decode_f_option): Set it. * doc/extend.texi (Thread-Local): New node describing language-level thread-local storage. * doc/invoke.texi (-ftls-model): Document. * fixinc/inclhack.def (thread_keyword): New. * fixinc/fixincl.x: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53715 138bc75d-0d04-0410-961f-82ee72b054a4
* * init.c (build_vec_init): Test for trivial copy-assignment whenaoliva2002-05-212-1/+9
| | | | | | | copy-assigning arrays. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53691 138bc75d-0d04-0410-961f-82ee72b054a4
* * init.c (build_default_init): Remove unused variable.aj2002-05-202-23/+25
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53660 138bc75d-0d04-0410-961f-82ee72b054a4
* * call.c (any_strictly_viable): New.aoliva2002-05-202-1/+36
| | | | | | | (build_new_op): Use it for COMPOUND_EXPR and ADDR_EXPRs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53656 138bc75d-0d04-0410-961f-82ee72b054a4
* * error.c (dump_type) [TYPEOF_TYPE]: Fix parenthesis printing.lerdsuwa2002-05-192-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53623 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/186, DR 259lerdsuwa2002-05-192-13/+25
| | | | | | | | | * pt.c (do_decl_instantiation): Don't complain explicit instantiation after explicit specialization. (do_type_instantiation): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53621 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-tree.h (complete_type_or_diagnostic): Changed prototype,aoliva2002-05-195-19/+76
| | | | | | | | | | | | | | | | | | | renamed from... (complete_type_or_else): ... this. Redefined as macro. (cxx_incomplete_type_diagnostic): Declare. (cxx_incomplete_type_error): Define as macro. * init.c (build_delete): Warn about incomplete types other than void, and use the built-in operator delete for them. * typeck.c (complete_type_or_diagnostic): Renamed from complete_type_or_else. Added warn_only argument, passed to... * typeck2.c (cxx_incomplete_type_diagnostic): ... this. Print warnings or errors depending on new warn_only argument. Renamed from... (cxx_incomplete_type_error): ... this. New implementation in terms of cxx_incomplete_type_diagnostic. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53605 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl2.c (import_export_decl): If we clearjason2002-05-182-1/+12
| | | | | | | DECL_NOT_REALLY_EXTERN, make sure DECL_EXTERNAL is set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53576 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/6620lerdsuwa2002-05-162-23/+18
| | | | | | | | | | * pt.c (verify_class_unification): Don't check if PARM is template parameter dependent. Simplify. (unify) [TEMPLATE_PARM_INDEX]: Handle when ARG is a template parameter dependent expression. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53517 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp/rtti.c (get_tinfo_decl): Don't call comdat_linkage.jason2002-05-163-32/+42
| | | | | | | | | | | | | Do set DECL_COMDAT. (synthesize_tinfo_var): Take the public decl. (create_real_tinfo_var): Likewise. Check DECL_COMDAT. (emit_tinfo_decl): Adjust. Call import_export_decl. * cp/decl2.c (import_export_decl): Simplify tinfo decl handling. * config/mips/mips.c (mips_output_external): Don't do sdata optimization for a variable with DECL_COMDAT set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53506 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-tree.h (struct lang_type): Added non_zero_init.aoliva2002-05-148-38/+143
| | | | | | | | | | | | | | | | | | | | | (CLASS_NON_ZERO_INIT_P): New macro. (zero_init_p, force_store_init_value, build_forced_zero_init): Declare. * class.c (check_field_decls): Test non_zero_init. * cvt.c (convert_to_pointer_force): Use cp_convert_to_pointer for zero-to-NULL conversions. * decl.c (obscure_complex_init): Don't reset DECL_INITIAL of a type that needs zero-initialization without zeros. (check_initializer_decl): Compute zero-initializer for types that require a non-trivial one. * init.c (build_forced_zero_init): New function. (build_default_init): Use it. * tree.c (zero_init_p): New function. * typeck2.c (force_store_init_value): New function. (process_init_constructor): Create non-trivial zero-initializers for array members and class fields. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53461 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.c (cpp_options): Must pass -m* and -f* optionsneil2002-05-142-2/+6
| | | | | | | | | | | | | to the front end even when only preprocessing. (cc1_options): Remove redundant -lang-c. * tradcpp.c (main): Ignore -m options. cp: * lang-specs.h: Remove redundant -lang-c++. objc: * lang-specs.h: Similarly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53460 138bc75d-0d04-0410-961f-82ee72b054a4
* revert last checkinjason2002-05-143-12/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53457 138bc75d-0d04-0410-961f-82ee72b054a4
* * class.c (build_vtbl_ref_1): Use fixed_type_or_null.jason2002-05-135-65/+48
| | | | | | | | | | | | | (fixed_type_or_null): See through reference vars. (build_base_path): Vtable contents are constant. * typeck.c (get_member_function_from_ptrfunc): Likewise. * rtti.c (emit_tinfo_decl): Call import_export_decl. * decl2.c (import_export_decl): Set DECL_NOT_REALLY_EXTERN on tinfo decls by default. Don't mess with the builtins. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53416 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-lang.c (ok_to_generate_alias_set_for_type): Backend-createdjason2002-05-122-0/+8
| | | | | | | structs are safe. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53402 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in: Update.neil2002-05-093-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.c (flag_iso, flag_undef, cb_register_builtins, builtin_define_std): New. (c_common_init): Register CPP builtins callback. * c-common.h (flag_iso, flag_undef): New. * c-decl.c (c_decode_option): Set flag_iso and flag_undef. * c-lex.c: Don't include target.h. (cb_register_builtins): Move to c-common.c. (init_c_lex): Don't register hook here. * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New. (cpp_define, cpp_assert): Remove. * gcc.c (cc1_options): Pass -undef to front end. * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove. (TARGET_INITIALIZER): Update. * target.h (struct cpp_reader): Don't predeclare. (struct gcc_target): Remove cpp builtin hook. * tree.c (default_register_cpp_builtins): Remove. cp: * cp-tree.h (flag_ansi): Remove. * decl2.c (flag_ansi): Remove. (cxx_decode_option): Set flag_iso and flag_undef. doc: * tm.texi: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53349 138bc75d-0d04-0410-961f-82ee72b054a4
* * typeck.c (get_member_function_from_ptrfunc): Reorganize.jason2002-05-094-68/+67
| | | | | | | | | | Use subtraction rather than a bitmask to get the index. * cvt.c (cp_convert_to_pointer): Bail on an error_mark_node. * pt.c (tsubst_expr) [ASM_STMT]: Copy ASM_INPUT_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53335 138bc75d-0d04-0410-961f-82ee72b054a4
* add PR notejason2002-05-091-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53332 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (warn_multichar): New.neil2002-05-064-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | (c_common_init): Set CPP's warn_multichar. * c-common.h (warn_multichar): New. * c-decl.c (warn_multichar): Remove. * c-lex.c (lex_charconst): Update. * c-tree.h (warn_multichar): Remove. * cppexp.c (eval_token): Sign-extend charconst value. * cppinit.c (cpp_create_reader): Set warn_multichar. * cpplex.c (cpp_interpret_charconst): Don't sign-extend each character. Update prototype. Sign-extend the result. * cpplib.h: Fix conditions. (struct cpp_options): Add new warning flag. (cpp_interpret_charconst): Update prototype. cp: * Make-lang.in (decl2.o): Update. * cp-tree.h (warn_multichar): Remove. * decl2.c: Include c-common.h. (warn_multichar): Remove. doc: * cpp.texi: Update documentation. testsuite: * gcc.dg/cpp/charconst-3.c: Correct tests accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53240 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.c (build_cplus_array_type): Only const and volatile getjason2002-05-032-4/+9
| | | | | | | special handling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53098 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.jason2002-05-032-5/+4
| | | | | | | | | | * c-decl.c (c_init_decl_processing): Use it. * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE. * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define. * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53089 138bc75d-0d04-0410-961f-82ee72b054a4
* Add ABI change note to previous change.davem2002-04-301-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52977 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-04-30 Mark Mitchell <mark@codesourcery.com>davem2002-04-302-9/+8
| | | | | | | | | * class.c (finish_struct_bits): Only mark TREE_ADDRESSABLE if TYPE_HAS_TRIVIAL_INIT_REF is false or TYPE_HAS_NONTRIVIAL_DESTRUCTOR is true. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52976 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (grokdeclarator): Don't override TYPE_NAME of anjason2002-04-302-0/+7
| | | | | | | anonymous class with a typedef if there are attributes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52954 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/6492mmitchel2002-04-301-25/+42
| | | | | | | | * pt.c (tsubst_friend_class): If the friend has an explicit scope, enter that scope before name lookup. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52951 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (nomods_initdcl0): Replace $<ttype>3 with $<ttype>$.jason2002-04-302-6/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52948 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (nomods_initdcl0): Do not move stack entriesnathan2002-04-302-5/+8
| | | | | | | when setting things up as initdcl0_innards expects. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52939 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/6477jakub2002-04-292-0/+8
| | | | | | | | | | * decl.c (follow_tag_typedef): Check if TYPE_NAME (original) is non-NULL first. * g++.dg/parse/typedef1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52900 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/6492mmitchel2002-04-292-3/+20
| | | | | | | | | | | | | | | | | | * pt.c (tsubst_friend_class): If the friend has an explicit scope, enter that scope before name lookup. PR c++/6486 * method.c (do_build_copy_constructor): Avoid building cv-qualified reference types. PR c++/6486 * g++.dg/template/friend6.C: New test. PR c++/6492 * g++.dg/init/copy1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52895 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2002-04-292-1/+9
| | | | | | | | | | | PR c++/5719 * decl.c (grok_op_properties): Assignment ops don't have to return by value. operator% should. testsuite: * g++.dg/warn/effc1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52888 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>sirl2002-04-282-1/+7
| | | | | | | | | | | | | | | | | | | PR c/6343 * c-decl.c (duplicate_decls): Call merge_weak. * c-pragma.c (apply_pragma_weak): Warn about misuse. * output.h (merge_weak): Prototype merge_weak. * varasm.c (merge_weak): New function. (declare_weak): Make sure we don't give an error on VAR_DECLs. Mark RTL with SYMBOL_REF_WEAK. cp: * decl.c (duplicate_decls): Call merge_weak. testsuite: * gcc.dg/weak-[2-7].c: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52844 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-parse.in (malloced_yyss, malloced_yyvs): New.rth2002-04-272-1/+61
| | | | | | | | | | | | | | (yyoverflow): Re-add. Set them. (free_parser_stacks): New. * c-common.h: Declare it. * c-lex.c (c_common_parse_file): Call it. * parse.y (malloced_yyss, malloced_yyvs): New. (yyoverflow): Re-add. Set them. (free_parser_stacks): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52827 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/6445mmitchel2002-04-262-1/+7
| | | | | | | | | | | | | | | | | | | * config/i386/i386.md (untyped_call): Return the value in a float register if TARGET_FLOAT_RETURNS_IN_80387, not just if TARGET_80387. PR c++/6497 * method.c (do_build_assign_ref): Pass a derivation to build_method_call when calling base class assignment operators. PR c++/6497 * g++.dg/inherit/access2.C: New test. PR bootstrap/6445 * gcc.dg/20020426-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52809 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-parse.in (yyoverflow): Revert.rth2002-04-262-34/+4
| | | | | | | * parse.y (yyoverflow): Revert. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52794 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (fix_string_type): Split out of ...rth2002-04-265-32/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | (combine_strings): ... here. Take a varray, not a tree list. (c_expand_builtin_printf): Use fix_string_type. * c-common.h: Update decls. * c-parse.in (string): Remove. Update all uses to use STRING instead, and not call combine_strings. (yylexstring): New. (_yylex): Use it. * c-typeck.c (simple_asm_stmt): Don't call combine_strings. (build_asm_stmt): Likewise. * objc/objc-act.c (my_build_string): Use fix_string_type. (build_objc_string_object): Build varray for combine_strings. * parse.y (string): Remove. Update all uses to use STRING instead, and not call combine_strings. * rtti.c (tinfo_name): Use fix_string_type. * semantics.c (finish_asm_stmt): Don't call combine_strings. * spew.c (yylexstring): New. (read_token): Use it. * g++.dg/parse/concat1.C: New. * gcc.dg/concat2.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52790 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-parse.in (yyoverflow): New.rth2002-04-262-0/+39
| | | | | | | | | * cp/parse.y (yyoverflow): New. * g++.dg/parse/stack1.C: New. * gcc.dg/20020425-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52779 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/5607jason2002-04-254-2/+13
| | | | | | | | | * search.c (check_final_overrider): No longer static. * class.c (update_vtable_entry_for_fn): Call it. * cp-tree.h: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52760 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.h (c_common_parse_file): Update.neil2002-04-255-25/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove. * c-lex.c (YYDEBUG): Get from c-lex.h. (c_common_parse_file): Update. * c-lex.h (YYDEBUG, yydebug): New. * c-parse.in (YYDEBUG): Get from c-lex.h. (c_set_yydebug): Remove. * c-tree.h (c_set_yydebug): Remove. * langhooks-def.h (lhd_do_nothing_i): New. (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove. (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update. * langhooks.c (lhd_do_nothing_i): New. (lhd_set_yydebug): Remove. * langhooks.h (struct lang_hooks): Update. * toplev.c (set_yydebug): New. (compile_file): Update call to parse_file hook. (decode_d_option): Update. ada: * misc.c (gnat_parse_file): Update. cp: * cp-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove. * cp-tree.h (cxx_set_yydebug): Die. * lex.c (YYDEBUG): Get from c-lex.h. (cxx_set_yydebug): Remove. * parse.y: Include c-lex.h. (YYDEBUG): Get from c-lex.h. f: * com.h (ffe_parse_file): Update. * lex.c (ffe_parse_file): Update. java: * java-tree.h (java_parse_file): Update. (java_set_yydebug): Remove. * jcf-parse.c (yydebug): Remove. (java_set_yydebug): Die. (java_parse_file): Update. * lang.c (LANG_HOOKS_SET_YYDEBUG): Remove. objc: * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52753 138bc75d-0d04-0410-961f-82ee72b054a4
* * mangle.c (write_type): Don't use TYPE_MAIN_VARIANT when writingmmitchel2002-04-251-8/+13
| | | | | | | | | out an array type. (write_CV_qualifiers_for_type): Use TYPE_QUALS, not cp_type_quals, to determine qualifiers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52749 138bc75d-0d04-0410-961f-82ee72b054a4
* * typeck.c (build_modify_expr): The pedwarn for array assignment isjason2002-04-253-2/+10
| | | | | | | | | now unconditional. * tree.c (build_cplus_array_type_1): Still process simple array types normally in templates. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52746 138bc75d-0d04-0410-961f-82ee72b054a4
* * cvt.c (convert_to_void): Don't unconditionally make COND_EXPRsmmitchel2002-04-242-1/+7
| | | | | | | void. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52742 138bc75d-0d04-0410-961f-82ee72b054a4
* * attribs.c (c_common_attribute_table): Move table and handlersneil2002-04-245-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to c-common.c. (format_attribute_table, lang_attribute_table, lang_attribute_common): Remove. (init_attributes): Replace NULL pointers with pointers to the empty table. (handle_packed_attribute, handle_nocommon_attribute, handle_common_attribute, handle_noreturn_attribute, handle_noinline_attribute, handle_always_inline_attribute, handle_used_attribute, handle_unused_attribute, handle_const_attribute, handle_transparent_union_attribute, handle_constructor_attribute, handle_destructor_attribute, handle_mode_attribute, handle_section_attribute, handle_aligned_attribute, handle_weak_attribute, handle_alias_attribute, handle_visibility_attribute, handle_no_instrument_function_attribute, handle_malloc_attribute, handle_no_limit_stack_attribute, handle_pure_attribute, handle_deprecated_attribute, handle_vector_size_attribute, vector_size_helper): Move to c-common.c. * c-common.c (c_common_attribute_table, handle_packed_attribute, handle_nocommon_attribute, handle_common_attribute, handle_noreturn_attribute, handle_noinline_attribute, handle_always_inline_attribute, handle_used_attribute, handle_unused_attribute, handle_const_attribute, handle_transparent_union_attribute, handle_constructor_attribute, handle_destructor_attribute, handle_mode_attribute, handle_section_attribute, handle_aligned_attribute, handle_weak_attribute, handle_alias_attribute, handle_visibility_attribute, handle_no_instrument_function_attribute, handle_malloc_attribute, handle_no_limit_stack_attribute, handle_pure_attribute, handle_deprecated_attribute, handle_vector_size_attribute, vector_size_helper): Move from attribs.c. * c-common.h (c_common_attribute_table, c_common_format_attribute_table): New. * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine. * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE, LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New. (LANG_HOOKS_INITIALIZER): Update. * langhooks.h (struct lang_hooks): 3 new attribute hooks. * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL. * target.h: Update comment. * tree.c (default_target_attribute_table): Remove. * tree.h (default_target_attribute_table, format_attribute_table, lang_attribute_table, lang_attribute_common): Remove. ada: * misc.c (gnat_init): Don't set lang_attribute_common. cp: * cp-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine. * cp-tree.h (cp_attribute_table): Rename. * decl.c (lang_attribute_table): Remove declaration. (cxx_init_decl_processing): Don't set it. * tree.c (cp_attribute_table): Rename. objc: * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52730 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/6331jason2002-04-243-3/+8
| | | | | | | | * method.c (do_build_copy_constructor): Use cp_build_qualified_type. * typeck.c (build_modify_expr): Allow arrays to differ in cv-quals. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52709 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/6395jason2002-04-232-11/+18
| | | | | | | | * decl.c (make_rtl_for_nonlocal_decl): Don't mess with #pragma i/i stuff for comdats. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52696 138bc75d-0d04-0410-961f-82ee72b054a4
* * parse.y (check_class_key): Allow KEY to be union/enum/struct/classjakub2002-04-232-0/+7
| | | | | | | | | node with attributes. * g++.dg/parse/attr1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52678 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud