summaryrefslogtreecommitdiffstats
path: root/gcc/doc/extend.texi
Commit message (Collapse)AuthorAgeFilesLines
* * doc/extend.texi (Strong Using): Warn users against using thismmitchel2004-04-181-0/+5
| | | | | | | feature. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80826 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.ghazi2004-03-271-7/+29
| | | | | | | | | | * builtins.def (DEF_C94_BUILTIN): New. Add wctype builtins. * doc/extend.texi: Likewise. testsuite: * gcc.dg/torture/builtin-wctype-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80011 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.def: Add ctype builtins.ghazi2004-03-251-47/+66
| | | | | | | | | * doc/extend.texi: Likewise. testsuite: * gcc.dg/torture/builtin-ctype-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79960 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (ARM Built-in Functions): Replace with correctian2004-03-241-135/+124
| | | | | | | declarations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79894 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLogbonzini2004-03-161-22/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-16 Paolo Bonzini <bonzini@gnu.org> * c-common.c (c_common_type_for_mode): Build vector types on demand. (handle_mode_attribute): Deprecate using the mode attribute to create vector types. Fix indentation. (vector_type_node_list): Remove. (handle_vector_size_attribute): Create vector types on demand. Strip a NON_LVALUE_EXPR from the attribute if there is one. * c-typeck.c (comptypes): Make vector types compatible if they have the same underlying mode. (convert_for_assignment): Use comptypes to convert between vector types. * tree.c (build_common_tree_nodes_2): Do not create vector types. * config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary vector types. * tree.h: Remove vector types. * config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise. * config/rs6000/rs6000.c (rs6000_init_builtins): Likewise. (V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node, V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals. * doc/extend.texi (Vector Types): Document how to use the vector_size attribute to create vectors, rather than mode. * config/arm/mmintrin.h: Use vector_size attribute, not mode. * config/i386/emmintrin.h: Likewise. * config/i386/mmintrin.h: Likewise. * config/i386/xmmintrin.h: Likewise. * config/sh/ushmedia.h: Likwise. testsuite/ChangeLog 2004-03-16 Paolo Bonzini <bonzini@gnu.org> * g++.dg/eh/simd-1.C: Use vector_size attribute, not mode. * g++.dg/eh/simd-2.C: Likewise. * g++.dg/init/array10.C: Likewise. * gcc.c-torture/compile/simd-1.c: Likewise. * gcc.c-torture/compile/simd-2.c: Likewise. * gcc.c-torture/compile/simd-3.c: Likewise. * gcc.c-torture/compile/simd-4.c: Likewise. * gcc.c-torture/compile/simd-6.c: Likewise. * gcc.c-torture/execute/simd-1.c: Likewise. * gcc.c-torture/execute/simd-2.c: Likewise. * gcc.dg/compat/vector-defs.h: Likewise. * gcc.dg/20020531-1.c: Likewise. * gcc.dg/altivec-3.c: Likewise. * gcc.dg/altivec-4.c: Likewise. * gcc.dg/altivec-varargs-1.c: Likewise. * testsuite/gcc.dg/compat/vector-defs.h: Likewise. * gcc.dg/i386-mmx-3.c: Likewise. * gcc.dg/i386-sse-4.c: Likewise. * gcc.dg/i386-sse-5.c: Likewise. * gcc.dg/i386-sse-8.c: Likewise. * gcc.dg/simd-1.c: Likewise. * gcc.dg/20030218-1.c: Likewise. Plus, do not declare __ev64_opaque__ since the machine description provides it. Index: c-common.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/c-common.c,v retrieving revision 1.487 diff -u -r1.487 c-common.c --- c-common.c 26 Feb 2004 01:24:37 -0000 1.487 +++ c-common.c 10 Mar 2004 10:25:28 -0000 @@ -1874,38 +1874,12 @@ if (mode == TYPE_MODE (build_pointer_type (integer_type_node))) return unsignedp ? make_unsigned_type (mode) : make_signed_type (mode); - switch (mode) + if (VECTOR_MODE_P (mode)) { - case V16QImode: git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79544 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/contrib.texi, doc/extend.texi, doc/gcov.texi,jsm282004-03-141-19/+19
| | | | | | | | | | doc/install.texi, doc/invoke.texi, doc/makefile.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize "gcc", "g++" and "g77" or mark up with appropriate markup. Adjust wording and grammar. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79482 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-02-23 Kelley Cook <kcook@gcc.gnu.org>hjl2004-02-241-2/+2
| | | | | | | | | | | | * config/i386/i386.c: Rename pni to sse3. * config/i386/i386.h: Likewise. * config/i386/i386.md: Likewise. * config/i386/pmmintrin.h: Likewise. * doc/extend.texi: Likewise. * doc/invoke.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78349 138bc75d-0d04-0410-961f-82ee72b054a4
* * reload1.c (reload): Correct comment.ian2004-02-191-4/+1
| | | | | | | | | (scan_paradoxical_subregs): Remove #if 0 and old comment. * doc/extend.texi (Local Reg Vars): Remove obsolete comment that register variables are not used by reload. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78100 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/kazu2004-02-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc: Remove obsolete ports and configurations. * config/linux-aout.h, config/netware.h, config/t-linux-gnulibc1, config/d30v/abi, config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h, config/d30v/d30v.md, config/d30v/libgcc1.asm, config/d30v/t-d30v, config/dsp16xx/dsp16xx-modes.def, config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c, config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md, config/i370/README, config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c, config/i370/i370.h, config/i370/i370.md, config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370, config/i386/freebsd-aout.h, config/i386/linux-aout.h, config/i386/moss.h, config/i386/netware.h, config/i386/svr3.ifile, config/i386/svr3dbx.h, config/i386/svr3gas.h, config/i386/svr3z.ifile, config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h, config/i960/i960-c.c, config/i960/i960-coff.h, config/i960/i960-modes.def, config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h, config/i960/i960.md, config/i960/rtems.h, config/i960/t-960bare, config/m68k/hp310.h, config/m68k/hp320.h, config/m68k/hp320base.h, config/m68k/m68kv4.h, config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320: Remove. * doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi: Remove mentions of obsolete ports. testsuite/ * gcc.dg/20020312-2.c, gcc.dg/builtin-inf-1.c, gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c, gcc.dg/cpp/assert4.c: Remove mentions of obsolete ports. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77216 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,sayle2004-02-011-0/+4
| | | | | | | | | | | | | | | | | | | BUILT_IN_SIGNBITL): New GCC builtins. * builtins.c (expand_builtin_signbit): New function to RTL expand calls to signbit, signbitf and signbitl as inline intrinsics. (expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*. (fold_builtin_signbit): New function to perform constant folding of signbit, signbitf and signbitl. (fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*. * doc/extend.texi: Document new signbit{,f,l} builtins. * gcc.dg/builtins-1.c: Also test for __builtin_signbit{,f,l}. * gcc.dg/builtins-31.c: New testcase. * gcc.dg/builtins-32.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77070 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-01-21 Andreas Jaeger <aj@suse.de>aj2004-01-211-6/+28
| | | | | | | | | Michael Matz <matz@suse.de> * doc/extend.texi (Extended Asm): Clarify memory clobber. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76288 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-decl.c (c_init_decl_processing): Set pedantic_lvalues tojsm282004-01-201-89/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | true unconditionally. * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning): Remove. (build_unary_op, build_modify_expr): Don't handle extended lvalues. (build_component_ref, build_conditional_expr): Call non_lvalue instead of pedantic_non_lvalue. (build_c_cast): Don't condition use of non_lvalue on pedantic. * fold-const.c (fold): Don't check pedantic directly for COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are passed to pedantic_non_lvalue. * doc/extend.texi: Remove documentation of extended lvalues. testsuite: * gcc.c-torture/compile/981022-1.c: Remove. * gcc.dg/array-5.c: Remove XFAIL. * gcc.dg/sequence-pt-1.c: Remove test using extended lvalues. * gcc.dg/cast-lvalue-1.c, gcc.dg/compound-lvalue-1.c, gcc.dg/cond-lvalue-1.c: Update. * gcc.dg/cast-lvalue-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76192 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,jsm282004-01-181-9/+9
| | | | | | | | | | doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi, doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi, doc/trouble.texi: Remove trailing whitespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76098 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,jsm282004-01-181-11/+11
| | | | | | | | doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use "GNU/Linux" and "Microsoft Windows" terminology. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76078 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,jsm282004-01-181-254/+254
| | | | | | | | | | doc/cppopts.texi, doc/extend.texi, doc/install.texi, doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use @smallexample instead of @example. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76075 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/6024jsm282004-01-071-2/+4
| | | | | | | | | | | | | | | | | * c-typeck.c (comptypes): Only treat enumerated types in the same translation unit as compatible with each other when they are the same type. * doc/extend.texi: Update. f: * com.h (ffecom_gfrt_basictype): Correct return type. testsuite: * gcc.dg/enum-compat-1.c: New test. * gcc.c-torture/execute/builtin-types-compatible-p.c: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75521 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/3414jsm282004-01-041-3/+8
| | | | | | | * doc/extend.texi: Clarify definition of malloc attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75395 138bc75d-0d04-0410-961f-82ee72b054a4
* note that in-out operands should only be used with register constraintsjason2003-12-181-12/+13
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74802 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/13275mmitchel2003-12-161-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.h (enum rid): Add RID_OFFSETOF. * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF. * ginclude/stddef.h (offsetof): Reimplement for C++, using __offsetof__. * doc/extend.texi: Document __offsetof__. PR c++/13275 * lex.c (reswords): Add "__offsetof" and "__offsetof__". * parser.c (cp_parser): Add in_offsetof_p. (cp_parser_new): Initialize it. (cp_parser_primary_expression): Handle __offsetof__ (...). (cp_parser_postfix_expression): Allow casts to pointer type and uses of "->" in a constant expression if implementing offsetof. (cp_parser_unary_expression): Allow the use of "&" in a constant expression if implementing offsetof. PR c++/13275 * g++.dg/other/offsetof2.C: Remove XFAIL. * g++.dg/parse/offsetof1.C: New test. * g++.gd/parse/offsetof2.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74702 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (Vector Extensions): Document that bitwisegeoffk2003-12-101-5/+6
| | | | | | | operations also work on vectors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74511 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (Constructing Calls): Add warning aboutebotcazou2003-12-051-0/+5
| | | | | | | the limitations of the functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74314 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-tree.h (DECL_NAMESPACE_ASSOCIATIONS): New macro.jason2003-11-111-0/+40
| | | | | | | | | | | | | | * name-lookup.c (parse_using_directive): New fn. (is_associated_namespace): New fn. (arg_assoc_namespace): Also check associated namespaces. * name-lookup.h: Declare new fns. * pt.c (maybe_process_partial_specialization): Allow specialization in associated namespace. * parser.c (cp_parser_using_directive): Accept attributes. Use parse_using_directive. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73468 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-typeck.c (pedantic_lvalue_warning): Deprecate compoundjsm282003-11-081-1/+2
| | | | | | | | | | | | | | | | expressions as lvalues. (internal_build_compound_expr): Remove special handling for non-pedantic case. * doc/extend.texi: Document that all extended lvalues are now deprecated. testsuite: * gcc.dg/compound-lvalue-1.c: New test. * gcc.dg/c90-const-expr-2.c, gcc.dg/c99-const-expr-2.c: Remove some XFAILs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73352 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (interrupt_handler): Add m68k to thebernie2003-10-261-6/+6
| | | | | | | | | | | | list of processors implementing it. * doc/invoke.texi (-msep-data): Document new m68k option. (-mno-sep-data): Likewise. (-mid-shared-library): Likewise. (-mno-id-shared-library): Likewise. (-mshared-library-id): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72962 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.kazu2003-10-221-0/+6
| | | | | | | | | | | | (h8300_saveall_function_p): New. (h8300_insert_attributes): Insert the saveall attribute if #pragma saveall is specified. (h8300_attribute_table): Add saveall. (TARGET_ASM_FUNCTION_EPILOGUE): Remove. * doc/extend.texi: Mention the saveall attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72827 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.kazu2003-10-221-8/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72813 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi: Deprecate casts as lvalues.jsm282003-10-201-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72723 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi: Fix typos.kazu2003-10-191-2/+2
| | | | | | | * doc/invoke.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72668 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (Function Attributes): Mention the exceptionalhp2003-10-121-0/+4
| | | | | | | path for noreturn-marked functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72401 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (Function Attributes): Fix title of GNU Cgerald2003-10-041-3/+3
| | | | | | | | | Preprocessor manual. (C++ Extensions): Fix reference to "Predefined Macros" in the GNU C Preprocessor manual. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72091 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi: Document how GCC estimates and relies on the sizerearnsha2003-10-041-0/+20
| | | | | | | of an asm. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72089 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (handle_warn_unused_result_attribute): New function.jakub2003-09-161-3/+23
| | | | | | | | | | | | | | | | | | | | | (c_common_attribute_table): Add warn_unused_result. (c_expand_expr): Issue warning when result of inlined function with warn_unused_result attribute is ignored. * calls.c (expand_call): Issue warning when result of function with warn_unused_result attribute is ignored. * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define. * expr.c (expr_wfl_stack): Define. (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore, pass const0_rtx as target. Chain locations into expr_wfl_stack. * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT bit if inlined function has warn_unused_result attribute. * input.h (expr_wfl_stack): Declare. * doc/extend.texi: Document warn_unused_result attribute. * gcc.dg/attr-warn-unused-result.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71424 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtin-types.defghazi2003-09-091-26/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE, BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New. * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH, BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL, BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN, BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF, BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN, BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF, BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF, BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL, BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW, BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH, BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT, BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF, BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL): New. * doc/extend.texi: Document new builtins. testsuite: * gcc.dg/builtins-1.c: Add more _Complex tests. * gcc.dg/torture/builtin-attr-1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71226 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove cast-as-lvalue extension.mmitchel2003-09-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * call.c (build_conditional_expr): Correct formatting. (convert_like_real): Use lvalue_p, not non_cast_lvalue_p. (initialize_real): Use real_lvalue_p, not real_non_cast_lvalue_p. * cp-tree.h (non_cast_lvalue_p): Remove. (real_non_cast_lvalue_p): Remove. (non_cast_lvalue_or_else): Remove. * tree.c (lvalue_p_1): Remove allow_cast_as_lvalue parameter. (real_lvalue_p): Adjust call to lvalue_p_1. (non_cast_lvalue_p): Remove. (non_cast_lvalue_or_else): Remove. (lvalue_p): Adjust call to lvalue_p_1. (lvalue_or_else): Simplify. * typeck.c (build_unary_op): Use lvalue_or_else, not non_cast_lvalue_or_else. (build_static_cast): Use real_lvalue_p, not real_non_cast_lvalue_p. * doc/extend.texi: Document removal of cast-as-lvalue extension in C++. * g++.dg/expr/lval1.C: New test. * g++.dg/ext/lvcast.C: Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71051 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,ghazi2003-08-281-23/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR, BT_FN_DOUBLE_DOUBLE_DOUBLEPTR, BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR, BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR, BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR, BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR, BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR, BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR, BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New. * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New. * tree.c: Assign new type_nodes. * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE, TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE. (float_ptr_type_node, double_ptr_type_node, long_double_ptr_type_node, integer_ptr_type_node): New type_nodes. * doc/extend.texi: Document new builtins. testsuite: * gcc.dg/builtins-1.c: Add new builtin cases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70890 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,ghazi2003-08-281-18/+62
| | | | | | | | | | | | | | | | | | | | | | | | BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New. * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA, BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F, BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L, BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA, BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND, BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA, BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F, BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L, BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New. * doc/extend.texi: Document new builtins. testsuite: * gcc.dg/builtins-1.c: Add new cases. * gcc.dg/torture/builtin-attr-1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70889 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,ghazi2003-08-281-37/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE, BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT, BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE, BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE, BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT, BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG, BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG, BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE, BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New. * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH, BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN, BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL, BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL, BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN, BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH, BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF, BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L, BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1, BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF, BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL, BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN, BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF, BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL, BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT, BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND, BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10, BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF, BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L, BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT, BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND, BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER, BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD, BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10, BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER, BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT, BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF, BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF, BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF, BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL, BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New. * doc/extend.texi: Document new builtins. testsuite: * gcc.dg/builtins-1.c: Add more math builtin tests. * gcc.dg/torture/builtin-attr-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70886 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (Function Attributes): Document the IA-64 versionrth2003-08-061-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | of the "model" attribute. * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro. (SYMBOL_REF_SMALL_ADDR_P): Ditto. (PREDICATE_CODES): Mention "small_addr_symbolic_operand". * config/ia64/ia64.c (ia64_handle_model_attribute): New function. (ia64_encode_section_info): Likewise. (ia64_attribute_table): Add "model" attribute. (TARGET_ENCODE_SECTION_INFO): Define. (small_addr_symbolic_operand): New function. (got_symbolic_operand): Return 0 for a symbolref to an object in the small address area. (enum ia64_addr_area): New type. (small_ident1): New variable. (small_ident2): Likewise. (init_idents): New function. (ia64_get_addr_area): Likewise. (ia64_encode_addr_area): Likewise. (ia64_encode_section_info): Likewise. (ia64_expand_load_address): For symbolic references to objects in the small-address-area, load the address via gen_rtx_SET() (which, eventually, will expand into "addl"). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70209 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtin-types.def (BT_SSIZE): New primitive type.sayle2003-08-031-6/+17
| | | | | | | | | | | | | | | | | | (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG, BT_FN_STRING_CONST_STRING_CONST_STRING_INT, BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR, BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types. * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT, BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON, BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins. * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last few functions that define default attributes using it. * c-common.c (c_common_insert_default_attributes): Do nothing. * doc/extend.texi: Document these "new" builtins. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70113 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/11295nathan2003-08-011-25/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/extend.texi (Statement Expressions): Document C++ semantics. cp: PR c++/11295 * cp-tree.h (tubst_flags_t): Add tf_stmt_expr_cmpd, tf_stmt_expr_body. (finish_stmt_expr_expr): Declare. * parser.c (cp_parser_primary_expression): Tell cp_parser_compount_statement that it is a statement expression. (cp_parser_statement, cp_parser_labeled_statement, cp_parser_compound_statement, cp_parser_statement_seq_opt): Add in_statement_expr_p parameter. (cp_parser_expression_statement): Likewise. Call finish_stmt_expr_expr for final expression of a statement expression. (cp_parser_for_init_statement, cp_parser_implicitly_scoped_statement, cp_parser_already_scoped_statement, cp_parser_function_definition, cp_parser_try_block, cp_parser_handled): Adjust. * pt.c (tsubst_copy) <STMT_EXPR case>: Pass tf_stmt_expr. (tsubst_expr): Process tf_stmt_expr and tf_stmt_exprs flags. (tsubst_expr) <EXPR_STMT case>: Check tf_stmt_exprs flag. * semantics.c (finish_expr_stmt): Do not deal with statement expressions. (begin_stmt_expr): Clear last_expr_type. (finish_stmt_expr_expr): New. (finish_stmt_expr): Process the value expression. testsuite: PR c++/11295 * g++.dg/ext/stmtexpr1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70043 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (Deprecated Features): Implicit typename isnathan2003-07-271-5/+7
| | | | | | | gone. Default args on types is going. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69853 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (Function Attributes): GNU C++ does now allownathan2003-07-251-4/+7
| | | | | | | | | unused parameter decls. (Attribute Syntax): GNU C++ does not allow label attributes to be after the ':'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69781 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi: Fixes to spelling, grammar, and diction.gerald2003-07-211-19/+20
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69633 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-decl.c (named_labels, shadowed_labels, label_level_chain)zack2003-07-191-15/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (push_label_level, pop_label_level): Kill. (struct binding_level): Rename level_chain to outer. Add outer_function field. Change parm_flag, function_body, keep, keep_if_subblocks to 1-bit bitfields of type bool. (current_function_level): New variable. (keep_next_level_flag, keep_next_if_subblocks): Change type to bool. (keep_next_level, declare_parm_level, warn_if_shadowing): Update to match. (struct language_function): Kill named_labels, shadowed_labels fields. (c_init_decl_processing, start_function, c_push__function_context) (c_pop_function_context): No need to muck with named_labels nor shadowed_labels. (make_binding_level): No need to clear the structure here. (pop_binding_level): Always operate on current_binding_level. Update current_function_level if necessary. (pushlevel): Don't clear named_labels. Update current_function_level if necessary. Use "true" and "false" where appropriate. (poplevel): Diagnose labels defined but not used, or vice versa, and clear out label-meanings leaving scope, while walking down the decls list, for all binding levels. Handle LABEL_DECLs appearing in the shadowed list. pop_binding_level takes no arguments. (pushdecl_function_level): Use current_function_level. (make_label, bind_label): New static functions. (declare_label): New exported function. (lookup_label, define_label): Rewritten for new data structure. (shadow_label): Kill. * c-tree.h: Prototype declare_label; don't prototype push_label_level, pop_label_level, nor shadow_label. * c-parse.in: Remove all calls to push_label_level and pop_label_level. Use declare_label for __label__ decls. * doc/extend.texi: Clarify that __label__ can be used to declare labels with local scope in any nested block, not just statement expressions. Cross-reference nested functions section from local labels section. testsuite: * gcc.dg/noncompile/label-1.c: New comprehensive test case for diagnostics of ill-formed constructs involving labels. * gcc.dg/noncompile/label-lineno-1.c: Add error regexp for the new 'previously defined here' message. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69597 138bc75d-0d04-0410-961f-82ee72b054a4
* * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.zack2003-07-051-65/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (struct cpp_options): Add narrow_charset, wide_charset, bytes_big_endian fields. Remove EBCDIC field. (cpp_init_iconv, cpp_interpret_string): New external interfaces. * cpphash.h: Include <iconv.h> if we have it, otherwise provide a dummy definition of iconv_t. (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields. (_cpp_valid_ucn): Update prototype. (_cpp_destroy_iconv): New prototype. * doc/cpp.texi: Document character set handling. * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=. * doc/extend.texi: Delete entire section on multiline strings. Rewrite section on __FUNCTION__ etc now that these are variables in C. * cppucnid.tab, cppucnid.pl: New files. * cppucnid.h: New generated file. * cppcharset.c: Include cppucnid.h. Lots of commentary added. (iconv_open, iconv, iconv_close): Provide dummy definitions if !HAVE_ICONV. (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv, _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn, emit_numeric_escape, convert_hex, convert_oct, convert_escape, cpp_interpret_string, narrow_str_to_charconst, wide_str_to_charconst): New. (ucn_valid_in_identifier): Use a binary search through the ucnranges table defined in cppucnid.h, not a long chain of if statements. (_cpp_valid_ucn): Add a limit pointer. Downgrade "universal character names are only valid in C++ and C99" to a warning. Issue the "meaning of \[uU] is different in traditional C" warning here. Take care not to let iconv see an invalid UCS value if we get a malformed UCN. Issue an error if we don't have iconv. (cpp_interpret_charconst): Moved here from cpplex.c. Use cpp_interpret_string to do the heavy lifting. * cppinit.c (cpp_create_reader): Initialize bytes_big_endian, narrow_charset, wide_charset fields of options structure. (cpp_destroy): Call _cpp_destroy_iconv. * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn. (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete. (cpp_interpret_charconst): Moved to cppcharset.c. * cpplib.c (dequote_string): Delete. (interpret_string_notranslate): New. (do_line, do_linemarker): Use interpret_string_notranslate. * Makefile.in (cppcharset.o): Depend on cppucnid.h. * c-common.c (fname_string, combine_strings): Delete. * c-common.h (fname_string, combine_strings): Delete prototypes. * c-lex.c (ignore_escape_flag): Delete. (cb_ident): Use cpp_interpret_string, not lex_string. (get_nonpadding_token): New function. (c_lex): Handle Objective-C @-prefixed identifiers and strings here. Adjust calls to lex_string. Don't write *value twice. (lex_string): Now handles string constant concatenation. Most of the work handed off to cpp_interpret_string. Call fix_string_type here. * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with FUNC_NAME, throughout. (OBJC_STRING): New token type. (primary:STRING): No need to call fix_string_type here. (primary:objc_string): Make that OBJC_STRING. (objc_string nonterminal): Delete. (yylexname): Delete code to handle fake string constants. (yylexstring): Delete entirely. (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING. No need to handle CPP_ATSIGN. * c.opt (-fexec-charset=, -fwide-exec-charset=): New options. * c-opts.c (missing_arg, c_common_handle_option): Handle OPT_fexec_charset_ and OPT_fwide_exec_charset_. (c_common_init): Set cpp_opts->bytes_big_endian, not cpp_opts->EBCDIC. Call cpp_init_iconv. (print_help): Document -fexec-charset= and -fexec-wide-charset=. (TARGET_EBCDIC): Delete default definition. * objc/objc-act.c (build_objc_string_object): No need to handle string constant concatenation. cp: * parser.c (cp_lexer_read_token): No need to handle string constant concatenation. testsuite: * gcc.c-torture/execute/wchar_t-1.x: New file; XFAIL wchar_t-1.c everywhere. * gcc.dg/concat.c: Concatenation of string constants with __FUNCTION__ / __PRETTY_FUNCTION__ is now a hard error. * gcc.dg/wtr-strcat-1.c: Loosen dg-warning regexp. * gcc.dg/cpp/escape-2.c: Use wide character constants where necessary to avoid multi-character character constant warning. * gcc.dg/cpp/escape.c: Likewise. * gcc.dg/cpp/ucs.c: Likewise. Remove backslashes from dg-bogus comments, as they confuse Tcl. Fix a typo. libstdc++-v3: * testsuite/22_locale/collate/compare/wchar_t/2.cc * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc * testsuite/22_locale/collate/hash/wchar_t/2.cc * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc * testsuite/22_locale/collate/transform/wchar_t/2.cc * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc: XFAIL on all targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68952 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/5287, PR c++/7910, PR c++/11021dannysmith2003-07-041-2/+70
| | | | | | | | | | | | | | | | | | | | | | | | * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add dllimport attribute if function is defined at declaration, but report error instead. Likewise for dllimport'd variable definitions. Set implicit TREE_PUBLIC for dllimport'd variables declared within functions, Report error if dllimport or dllexport symbol is not global. (i386_pe_dllimport_p): Ignore dllimport attribute of functions if defined after declaration or if inlined. Don't allow definition of static data members of C++ classes. Don't dllimport virtual methods. (i386_pe_mark_dllexport): Warn about inconsistent dll attributes. (i386_pe_mark_dllimport): Remove unnecessary checks. (i386_pe_encode_section_info): Warn if the dllimport attribute and symbol prefix have been instantiated and then overridden. * doc/extend.texi: Document dllimport and dllexport attributes. * config/i386/winnt.c (i386_pe_output_labelref): Fix indents. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68916 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-06-25 H.J. Lu <hongjiu.lu@intel.com>hjl2003-06-251-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/extend.texi: Document new builtin functions for Intel Prescott New Intrunctions. * doc/invoke.texi: Document new command-line options, -mpni and -mno-pni, for Intel Prescott New Intrunctions. * config.gcc (extra_headers): Add pmmintrin.h for i[34567]86-*-*. * config/i386/i386.c (override_options): Turn on MASK_SSE2 for -mpni. Turn on MASK_SSE for -msse2. (bdesc_2arg): Add PNI builtins with 2 args. (bdesc_1arg): Add PNI builtins with 1 arg. (ix86_init_mmx_sse_builtins): Handle PNI builtins. (ix86_expand_builtin): Likewise. * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT, MASK_TLS_DIRECT_SEG_REFS): Renumbered. (TARGET_PNI): New. (TARGET_SWITCHES): Don't enable MASK_SSE for -msse2 here. Add -mpni and -mno-pni. (TARGET_CPU_CPP_BUILTINS): Defined __PNI__ for PNI. (ix86_builtins): Add PNI builtins. (config/i386/i386.md): Add PNI patterns. * config/i386/pmmintrin.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68502 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi: Fix typos.kazu2003-06-231-1/+1
| | | | | | | | * doc/md.texi: Likewise. * doc/tm.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68371 138bc75d-0d04-0410-961f-82ee72b054a4
* (ARM Built-in Functions): New node. Document ARM builtin functions for iWMMXtnickc2003-06-201-0/+159
| | | | | | | support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68252 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (handle_cleanup_attribute): New.rth2003-06-041-0/+16
| | | | | | | | | | | | | | | | | | | | | | (c_common_attributes): Add it. * c-decl.c (finish_decl): Honor the cleanup attribute. * doc/extend.texi (Variable Attributes): Document it. * unwind-c.c: New file. * Makefile.in (LIB2ADDEH): Add it. * config/t-darwin, config/t-linux, config/t-linux-gnulibc1, config/ia64/t-ia64: Likewise. * gcc.dg/cleanup-1.c: New. * gcc.dg/cleanup-2.c: New. * gcc.dg/cleanup-3.c: New. * gcc.dg/cleanup-4.c: New. * gcc.dg/cleanup-5.c: New. * gcc.dg/cleanup-6.c: New. * gcc.dg/cleanup-7.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67449 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud