| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-08-3 1 Dan Hipschman <dsh@google.com>
PR 32953
* c-format.c (check_format_arg): Move check for zero-length
format strings below the check for unterminated strings.
testsuite/
2007-08-13 Dan Hipschman <dsh@google.com>
PR 32953
* gcc.dg/format/array-1.c: Add an additional test for
unterminated format strings of length 1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127399 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* error.c (error_uinteger): New function.
(error_integer): Call error_uinteger.
(error_print): Handle %u, %lu, %li and %ld format specifiers.
* interface.c (compare_actual_formal): Use the new %lu specifier.
* c-format.c (gcc_gfc_length_specs): New array.
(gcc_gfc_char_table): Add unsigned specifier, and references to
the l length modifier.
(format_types_orig): Use the new gcc_gfc_length_specs.
* gcc.dg/format/gcc_gfc-1.c: Updated with new formats.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127382 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
3 of the GNU General Public License and to point readers at the COPYING3 file
and the FSF's license web page.
* gcc.c-torture/execute/ieee/ieee.exp, gcc.c-torture/unsorted/unsorted.exp,
gcc.c-torture/compile/compile.exp, gcc.c-torture/compile/structs.c,
gcc.target/powerpc/powerpc.exp, gcc.target/arm/neon/neon.exp, gcc.target/arm/arm.exp,
gcc.target/cris/torture/cris-torture.exp, gcc.target/cris/cris.exp, gcc.target/ia64/ia64.exp,
gcc.target/alpha/alpha.exp, gcc.target/m68k/m68k.exp, gcc.target/spu/spu.exp, gcc.target/mips/mips.exp,
gcc.target/sparc/sparc.exp, gcc.target/i386/i386.exp, gcc.target/x86_64/abi/abi-x86_64.exp, gnat.dg/specs/specs.exp,
gnat.dg/dg.exp, gnat.dg/style/style.exp, gcc.dg/special/mips-abi.exp, gcc.dg/special/special.exp,
gcc.dg/pch/pch.exp, gcc.dg/vxworks/vxworks.exp, gcc.dg/dg.exp, gcc.dg/charset/charset.exp, gcc.dg/weak/weak.exp,
gcc.dg/tree-ssa/tree-ssa.exp, gcc.dg/tls/tls.exp, gcc.dg/cpp/cpp.exp, gcc.dg/cpp/trad/trad.exp,
gcc.dg/matrix/matrix.exp, gcc.dg/vmx/vmx.exp, gcc.dg/compat/struct-layout-1.exp, gcc.dg/compat/compat.exp,
gcc.dg/compat/struct-layout-1_generate.c, gcc.dg/debug/debug.exp, gcc.dg/debug/dwarf2/dwarf2.exp, gcc.dg/tree-prof/tree-prof.exp,
gcc.dg/ipa/ipa.exp, gcc.dg/dfp/dfp.exp, gcc.dg/noncompile/noncompile.exp,
gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp, gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp,
gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp, gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp,
gcc.dg/vect/vect.exp, gcc.dg/format/format.exp, gcc.misc-tests/i386-prefetch.exp, gcc.misc-tests/sort2.exp,
gcc.misc-tests/matrix1.exp, gcc.misc-tests/dectest.exp, gcc.misc-tests/options.exp, gcc.misc-tests/gcov.exp,
gcc.misc-tests/mg-2.exp, gcc.misc-tests/mg.exp, gcc.misc-tests/bprob.exp, gcc.misc-tests/acker1.exp,
gcc.misc-tests/dhry.exp, gcc.misc-tests/linkage.exp, gcc.misc-tests/arm-isr.exp, gcc.misc-tests/sieve.exp,
g++.old-deja/g++.niklas/README, g++.old-deja/g++.gb/README, g++.old-deja/old-deja.exp,
gfortran.fortran-torture/execute/execute.exp, gfortran.fortran-torture/compile/compile.exp,
treelang/output/output-1.c, treelang/output/output-1.tree, treelang/execute/execute.exp, treelang/Makefile.in,
treelang/compile/compile.exp, g++.dg/dg.exp, g++.dg/debug/debug.exp, g++.dg/debug/dwarf2/dwarf2.exp,
g++.dg/charset/charset.exp, g++.dg/vect/vect.exp, g++.dg/tls/tls.exp, g++.dg/tree-prof/tree-prof.exp,
g++.dg/pch/pch.exp, g++.dg/special/ecos.exp, g++.dg/compat/struct-layout-1.exp,
g++.dg/compat/struct-layout-1_generate.c, g++.dg/compat/compat.exp, g++.dg/gcov/gcov.exp,
g++.dg/bprob/bprob.exp, config/default.exp, gcc.test-framework/test-framework.awk,
gcc.test-framework/gen_directive_tests, gcc.test-framework/test-framework.exp,
objc.dg/special/special.exp, objc.dg/gnu-encoding/gnu-encoding.exp,
objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c, objc.dg/pch/pch.exp, objc.dg/dg.exp, lib/copy-file.exp,
lib/profopt.exp, lib/gcc.exp, lib/mike-g++.exp, lib/c-compat.exp, lib/scanrtl.exp, lib/gfortran-dg.exp, lib/g++.exp,
lib/obj-c++.exp, lib/wrapper.exp, lib/gnat-dg.exp, lib/compat.exp, lib/c-torture.exp, lib/gcc-dg.exp, lib/scanasm.exp, lib/gnat.exp,
lib/treelang-dg.exp, lib/prune.exp, lib/gcov.exp, lib/treelang.exp, lib/dg-pch.exp, lib/scantree.exp,
lib/g++-dg.exp, lib/objc-dg.exp, lib/file-format.exp, lib/target-libpath.exp, lib/obj-c++-dg.exp, lib/scandump.exp,
lib/target-supports-dg.exp, lib/gcc-defs.exp, lib/fortran-torture.exp, lib/objc.exp, lib/scanipa.exp,
lib/mike-gcc.exp, lib/objc-torture.exp, lib/gfortran.exp, lib/target-supports.exp, obj-c++.dg/dg.exp, gfortran.dg/dg.exp,
gfortran.dg/vect/vect.exp, objc/execute/execute.exp, objc/execute/exceptions/exceptions.exp,
objc/compile/compile.exp: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127127 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Janis Johnson <janis187@us.ibm.com>
PR testsuite/25241
gcc/testsuite/
* gcc.test-framework/dg-error-exp-F.c: New test.
* gcc.test-framework/dg-warning-exp-F.c: New test.
* lib/gcc.exp: Enable warning and error prefixes.
* lib/gcc-dg.exp (dg-warning): Wrap original dg-warning.
(dg-error): Wrap original dg-error.
* gcc.target/powerpc/altivec-types-1.c: Remove explicit error/warning
markers from dg-error/dg-warning directives.
* gcc.dg/20040322-1.c: Likewise.
* gcc.dg/Wchar-subscripts-1.c: Likewise.
* gcc.dg/Wdeclaration-after-statement-1.c: Likewise.
* gcc.dg/Wdeclaration-after-statement-2.c: Likewise.
* gcc.dg/Werror-1.c: Likewise.
* gcc.dg/Werror-10.c: Likewise.
* gcc.dg/Werror-11.c: Likewise.
* gcc.dg/Werror-2.c: Likewise.
* gcc.dg/Werror-3.c: Likewise.
* gcc.dg/Werror-4.c: Likewise.
* gcc.dg/Werror-5.c: Likewise.
* gcc.dg/Werror-6.c: Likewise.
* gcc.dg/Werror-7.c: Likewise.
* gcc.dg/Werror-8.c: Likewise.
* gcc.dg/Werror-9.c: Likewise.
* gcc.dg/Werror-implicit-function-declaration.c: Likewise.
* gcc.dg/Wimplicit-function-declaration-c89-pedantic.c: Likewise.
* gcc.dg/Wimplicit-function-declaration-c89.c: Likewise.
* gcc.dg/Wimplicit-function-declaration-c99-pedantic.c: Likewise.
* gcc.dg/Wimplicit-function-declaration-c99.c: Likewise.
* gcc.dg/Wint-to-pointer-cast-1.c: Likewise.
* gcc.dg/Wint-to-pointer-cast-2.c: Likewise.
* gcc.dg/Wint-to-pointer-cast-3.c: Likewise.
* gcc.dg/Wnested-externs-1.c: Likewise.
* gcc.dg/Wpointer-to-int-cast-1.c: Likewise.
* gcc.dg/Wpointer-to-int-cast-2.c: Likewise.
* gcc.dg/Wpointer-to-int-cast-3.c: Likewise.
* gcc.dg/Wshadow-3.c: Likewise.
* gcc.dg/Wtraditional-conversion-2.c: Likewise.
* gcc.dg/Wwrite-strings-1.c: Likewise.
* gcc.dg/anon-struct-5.c: Likewise.
* gcc.dg/anon-struct-6.c: Likewise.
* gcc.dg/anon-struct-7.c: Likewise.
* gcc.dg/anon-struct-8.c: Likewise.
* gcc.dg/array-8.c: Likewise.
* gcc.dg/array-quals-2.c: Likewise.
* gcc.dg/asm-qual-1.c: Likewise.
* gcc.dg/asm-wide-1.c: Likewise.
* gcc.dg/assign-warn-1.c: Likewise.
* gcc.dg/assign-warn-2.c: Likewise.
* gcc.dg/bitfld-10.c: Likewise.
* gcc.dg/bitfld-11.c: Likewise.
* gcc.dg/bitfld-12.c: Likewise.
* gcc.dg/bitfld-13.c: Likewise.
* gcc.dg/bitfld-14.c: Likewise.
* gcc.dg/builtin-choose-expr-2.c: Likewise.
* gcc.dg/builtins-30.c: Likewise.
* gcc.dg/c90-const-expr-5.c: Likewise.
* gcc.dg/c90-typespec-1.c: Likewise.
* gcc.dg/c99-const-expr-5.c: Likewise.
* gcc.dg/c99-flex-array-5.c: Likewise.
* gcc.dg/c99-fordecl-3.c: Likewise.
* gcc.dg/c99-tag-3.c: Likewise.
* gcc.dg/c99-typespec-1.c: Likewise.
* gcc.dg/c99-vla-jump-1.c: Likewise.
* gcc.dg/c99-vla-jump-2.c: Likewise.
* gcc.dg/c99-vla-jump-3.c: Likewise.
* gcc.dg/c99-vla-jump-4.c: Likewise.
* gcc.dg/c99-vla-jump-5.c: Likewise.
* gcc.dg/cast-1.c: Likewise.
* gcc.dg/cast-2.c: Likewise.
* gcc.dg/cast-3.c: Likewise.
* gcc.dg/cast-4.c: Likewise.
* gcc.dg/cast-pretty-print-1.c: Likewise.
* gcc.dg/comp-goto-2.c: Likewise.
* gcc.dg/comp-goto-3.c: Likewise.
* gcc.dg/cpp/error-1.c: Likewise.
* gcc.dg/cpp/if-paren.c: Likewise.
* gcc.dg/decl-7.c: Likewise.
* gcc.dg/decl-8.c: Likewise.
* gcc.dg/decl-nospec-1.c: Likewise.
* gcc.dg/decl-nospec-2.c: Likewise.
* gcc.dg/decl-nospec-3.c: Likewise.
* gcc.dg/declspec-10.c: Likewise.
* gcc.dg/declspec-11.c: Likewise.
* gcc.dg/declspec-12.c: Likewise.
* gcc.dg/declspec-13.c: Likewise.
* gcc.dg/declspec-14.c: Likewise.
* gcc.dg/declspec-15.c: Likewise.
* gcc.dg/declspec-16.c: Likewise.
* gcc.dg/declspec-17.c: Likewise.
* gcc.dg/declspec-4.c: Likewise.
* gcc.dg/declspec-5.c: Likewise.
* gcc.dg/declspec-6.c: Likewise.
* gcc.dg/declspec-7.c: Likewise.
* gcc.dg/declspec-8.c: Likewise.
* gcc.dg/declspec-9.c: Likewise.
* gcc.dg/dfp/Wtraditional-conversion-2.c: Likewise.
* gcc.dg/dfp/constants-c99.c: Likewise.
* gcc.dg/dfp/keywords-c89.c: Likewise.
* gcc.dg/dfp/keywords-c99.c: Likewise.
* gcc.dg/dfp/keywords-reserved.c: Likewise.
* gcc.dg/dfp/typespec.c: Likewise.
* gcc.dg/dremf-type-compat-2.c: Likewise.
* gcc.dg/dremf-type-compat-3.c: Likewise.
* gcc.dg/dremf-type-compat-4.c: Likewise.
* gcc.dg/empty-source-2.c: Likewise.
* gcc.dg/empty-source-3.c: Likewise.
* gcc.dg/enum3.c: Likewise.
* gcc.dg/extra-semi-2.c: Likewise.
* gcc.dg/extra-semi-3.c: Likewise.
* gcc.dg/float-range-1.c: Likewise.
* gcc.dg/float-range-2.c: Likewise.
* gcc.dg/float-range-3.c: Likewise.
* gcc.dg/float-range-5.c: Likewise.
* gcc.dg/format/asm_fprintf-2.c: Likewise.
* gcc.dg/format/asm_fprintf-3.c: Likewise.
* gcc.dg/format/asm_fprintf-4.c: Likewise.
* gcc.dg/format/asm_fprintf-5.c: Likewise.
* gcc.dg/format/cast-1.c: Likewise.
* gcc.dg/format/gcc_diag-3.c: Likewise.
* gcc.dg/format/gcc_diag-4.c: Likewise.
* gcc.dg/format/gcc_diag-6.c: Likewise.
* gcc.dg/format/gcc_diag-8.c: Likewise.
* gcc.dg/format/gcc_diag-9.c: Likewise.
* gcc.dg/format/nul-2.c: Likewise.
* gcc.dg/format/opt-1.c: Likewise.
* gcc.dg/format/opt-2.c: Likewise.
* gcc.dg/format/opt-3.c: Likewise.
* gcc.dg/format/opt-4.c: Likewise.
* gcc.dg/format/opt-5.c: Likewise.
* gcc.dg/format/opt-6.c: Likewise.
* gcc.dg/framework-2.c: Likewise.
* gcc.dg/func-args-1.c: Likewise.
* gcc.dg/func-outside-1.c: Likewise.
* gcc.dg/func-outside-2.c: Likewise.
* gcc.dg/gnu-cond-expr-2.c: Likewise.
* gcc.dg/gnu-cond-expr-3.c: Likewise.
* gcc.dg/if-empty-1.c: Likewise.
* gcc.dg/init-bad-1.c: Likewise.
* gcc.dg/init-bad-2.c: Likewise.
* gcc.dg/init-bad-3.c: Likewise.
* gcc.dg/init-desig-obs-2.c: Likewise.
* gcc.dg/init-desig-obs-3.c: Likewise.
* gcc.dg/init-empty-2.c: Likewise.
* gcc.dg/init-empty-3.c: Likewise.
* gcc.dg/inline-11.c: Likewise.
* gcc.dg/inline-12.c: Likewise.
* gcc.dg/inline-8.c: Likewise.
* gcc.dg/inline-9.c: Likewise.
* gcc.dg/inline3.c: Likewise.
* gcc.dg/label-decl-1.c: Likewise.
* gcc.dg/label-decl-2.c: Likewise.
* gcc.dg/label-decl-3.c: Likewise.
* gcc.dg/label-decl-4.c: Likewise.
* gcc.dg/long-long-typespec-1.c: Likewise.
* gcc.dg/lvalue-2.c: Likewise.
* gcc.dg/lvalue-3.c: Likewise.
* gcc.dg/nested-func-3.c: Likewise.
* gcc.dg/nested-redef-1.c: Likewise.
* gcc.dg/noreturn-4.c: Likewise.
* gcc.dg/old-style-prom-2.c: Likewise.
* gcc.dg/old-style-prom-3.c: Likewise.
* gcc.dg/old-style-then-proto-1.c: Likewise.
* gcc.dg/overflow-warn-1.c: Likewise.
* gcc.dg/overflow-warn-2.c: Likewise.
* gcc.dg/overflow-warn-3.c: Likewise.
* gcc.dg/overflow-warn-4.c: Likewise.
* gcc.dg/overflow-warn-6.c: Likewise.
* gcc.dg/parm-forwdecl-2.c: Likewise.
* gcc.dg/parm-forwdecl-3.c: Likewise.
* gcc.dg/parm-impl-decl-1.c: Likewise.
* gcc.dg/parm-impl-decl-2.c: Likewise.
* gcc.dg/parm-incomplete-1.c: Likewise.
* gcc.dg/parm-mismatch-1.c: Likewise.
* gcc.dg/pointer-arith-1.c: Likewise.
* gcc.dg/pointer-arith-2.c: Likewise.
* gcc.dg/pointer-arith-3.c: Likewise.
* gcc.dg/pointer-arith-4.c: Likewise.
* gcc.dg/pointer-arith-6.c: Likewise.
* gcc.dg/pointer-arith-7.c: Likewise.
* gcc.dg/pointer-arith-8.c: Likewise.
* gcc.dg/pr13804-1.c: Likewise.
* gcc.dg/pr15698-1.c: Likewise.
* gcc.dg/pr15698-2.c: Likewise.
* gcc.dg/pr15698-3.c: Likewise.
* gcc.dg/pr15698-4.c: Likewise.
* gcc.dg/pr15698-5.c: Likewise.
* gcc.dg/pr15698-6.c: Likewise.
* gcc.dg/pr15698-7.c: Likewise.
* gcc.dg/pr15698-8.c: Likewise.
* gcc.dg/pr17188-1.c: Likewise.
* gcc.dg/pr17301-1.c: Likewise.
* gcc.dg/pr17301-2.c: Likewise.
* gcc.dg/pr17730-1.c: Likewise.
* gcc.dg/pr20368-1.c: Likewise.
* gcc.dg/pr20368-2.c: Likewise.
* gcc.dg/pr20368-3.c: Likewise.
* gcc.dg/pr22308-1.c: Likewise.
* gcc.dg/qual-component-1.c: Likewise.
* gcc.dg/redecl-1.c: Likewise.
* gcc.dg/redecl-11.c: Likewise.
* gcc.dg/redecl-12.c: Likewise.
* gcc.dg/redecl-13.c: Likewise.
* gcc.dg/redecl-14.c: Likewise.
* gcc.dg/redecl-15.c: Likewise.
* gcc.dg/register-var-1.c: Likewise.
* gcc.dg/register-var-2.c: Likewise.
* gcc.dg/stmt-expr-2.c: Likewise.
* gcc.dg/stmt-expr-3.c: Likewise.
* gcc.dg/stmt-expr-label-1.c: Likewise.
* gcc.dg/stmt-expr-label-2.c: Likewise.
* gcc.dg/stmt-expr-label-3.c: Likewise.
* gcc.dg/struct-empty-2.c: Likewise.
* gcc.dg/struct-empty-3.c: Likewise.
* gcc.dg/struct-parse-1.c: Likewise.
* gcc.dg/struct-semi-1.c: Likewise.
* gcc.dg/struct-semi-2.c: Likewise.
* gcc.dg/struct-semi-3.c: Likewise.
* gcc.dg/switch-5.c: Likewise.
* gcc.dg/switch-6.c: Likewise.
* gcc.dg/switch-7.c: Likewise.
* gcc.dg/tls/diag-5.c: Likewise.
* gcc.dg/transparent-union-1.c: Likewise.
* gcc.dg/transparent-union-3.c: Likewise.
* gcc.dg/typespec-1.c: Likewise.
* gcc.dg/vla-init-2.c: Likewise.
* gcc.dg/vla-init-3.c: Likewise.
* gcc.dg/vla-init-4.c: Likewise.
* gcc.dg/vla-init-5.c: Likewise.
* gcc.dg/void-cast-2.c: Likewise.
* gcc.dg/wvla-3.c: Likewise.
* gcc.dg/wvla-7.c: Likewise.
* gcc.target/i386/991209-1.c: Likewise.
* gcc.target/ia64/fpreg-1.c: Likewise.
* gcc.target/m68k/interrupt_thread-2.c: Likewise.
* gcc.target/m68k/interrupt_thread-3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126606 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123640 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(check_effective_target_ptr32plus): New.
(check_effective_target_size32plus): New.
(check_effective_target_int16): New.
(check_profiling_available): Add m32c to the list of unsupported targets.
* gcc.c-torture/compile/20000804-1.c: Skip m32c also.
* gcc.c-torture/compile/20001226-1.c: Skip m32c due to small
memory size.
* gcc.c-torture/compile/20010327-1.c: Skip m32c due to non-SI
pointers.
* gcc.c-torture/compile/20020604-1.c: Skip m32c due to small
size_t.
* gcc.c-torture/compile/20050303-1.c: Require >=32 bit integers
and size_t.
* gcc.c-torture/compile/980506-1.c: Require >=32 bit size_t.
* gcc.c-torture/execute/20020404-1.x: Check for any 16 bit target,
not just xstormy16. Skip m32c due to weird pointer size.
* gcc.c-torture/execute/20021024-1.x: Check for any 16 bit target,
not just xstormy16.
* gcc.c-torture/execute/shiftdi.x: Check for any 16 bit target,
not just xstormy16.
* gcc.dg/20020312-2.c: Add m32c support.
* gcc.dg/20040622-2.c: Require >=32 bit pointers.
* gcc.dg/20050321-1.c: XFail m32c due to incorrect malloc prototype
in test.
* gcc.dg/20050321-2.c: Require >=32 bit integers.
* gcc.dg/asm-1.c: Skip if int and short are the same size.
* gcc.dg/fold-mod-1.c: Require >=32 bit integers.
* gcc.dg/fold-overflow-1.c: Skip m32c due to small const types in asm.
* gcc.dg/format/bitfld-1.c: Require >=32 bit integers due to printf formats
* gcc.dg/init-string-2.c: Require >=32 bit integers.
* gcc.dg/max-1.c: Skip m32c in r8c or m16c mode due to small pointers.
* gcc.dg/noncompile/920923-1.c: Skip small-int message for int16 hosts.
* gcc.dg/pch/struct-1.c: Require >= 32 bit integers.
* gcc.dg/pr14796-2.c: Require >=32 bit integers.
* gcc.dg/pr17112-1.c: Require >=32 bit integers.
* gcc.dg/pr18241-1.c: XFail m32c due to incorrect memset prototype
in test.
* gcc.dg/pr18241-2.c: XFail m32c due to incorrect memset prototype
in test.
* gcc.dg/pr19340.c: Skip m32c due to lack of scheduling.
* gcc.dg/pr23049.c: Require >=32 bit integers.
* gcc.dg/torture/pr26565.c: Skip m32c as everything is already packed.
* gcc.dg/torture/pr26587.c: Require >=32 bit integers.
* gcc.dg/torture/pr26630.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/loop-10.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/loop-2.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/loop-4.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/ltrans-1.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/ltrans-2.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/ltrans-3.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/ltrans-4.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/pr14341.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/pr23382.c: XFail m32c due to incorrect malloc
prototype in test.
* gcc.dg/tree-ssa/pr24627.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/pr26180.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/vrp14.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/vrp21.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/vrp22.c: Require >=32 bit integers.
* gcc.c-torture/execute/20040629-1.x: New. Require >16 bit integers.
* gcc.c-torture/execute/20040703-1.x: Likewise.
* gcc.c-torture/execute/20040705-1.x: Likewise.
* gcc.c-torture/execute/20040705-2.x: Likewise.
* gcc.c-torture/execute/20040709-1.x: Likewise.
* gcc.c-torture/execute/20040709-2.x: Likewise.
* gcc.c-torture/execute/20040811-1.x: Likewise.
* gcc.c-torture/execute/20050316-1.x: Likewise.
* gcc.c-torture/execute/bitfld-4.x: Likewise.
* gcc.c-torture/execute/pr19689.x: Likewise.
* gcc.c-torture/execute/pr7284-1.x: Likewise.
* gcc.c-torture/execute/usmul.x: Likewise.
* gcc.c-torture/execute/vrp-5.x: Likewise.
* gcc.c-torture/execute/vrp-6.x: Likewise.
* gcc.dg/debug/20041023-1.s: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112934 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc.dg/compat/scalar-return-dfp_x.c: Likewise.
* gcc.dg/compat/scalar-return-dfp_x.c: Likewise.
* gcc.dg/compat/scalar-return-dfp_main.c: Likewise.
* gcc.dg/compat/scalar-by-value-dfp_main.c: Likewise.
* gcc.dg/compat/scalar-by-value-dfp_x.c: Likewise.
* gcc.dg/compat/scalar-return-dfp_y.c: Likewise.
* gcc.dg/compat/scalar-by-value-dfp_y.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-float.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-dfp.c: Likewise.
* gcc.dg/format/dfp-scanf-1.c: Likewise.
* gcc.dg/format/dfp-printf-1.c: Likewise.
* gcc.dg/compat/struct-layout-1.exp: Use c-compat.exp.
(compat_setup_dfp): New.
* gcc.dg/compat/compat.exp: Use it.
(compat-use-alt-compiler, compat-use-tst-compiler): Move to new file.
Make some variables global, prepend "compat_" to their names.
* gcc.dg/compat/struct-layout-1.h: Conditional DFP support.
* gcc.dg/compat/struct-layout-1_generate.c: Ditto.
* gcc.misc-tests/dectest.exp: New test driver for decTest.
* lib/compat.exp (compat_skip_list): Make global, rename.
* lib/c-compat.exp: New file.
* lib/target-supports.exp (check_effective_target_dfp): New.
* gcc.dg/dfp/dec-eval-method.c, gcc.dg/dfp/func-array.c,
gcc.dg/dfp/convert-dfp-fold.c, gcc.dg/dfp/struct-union.c,
gcc.dg/dfp/compare-rel.h, gcc.dg/dfp/convert-dfp-round.c,
gcc.dg/dfp/func-struct.c, gcc.dg/dfp/constants-c99.c,
gcc.dg/dfp/compare-eq-d32.c, gcc.dg/dfp/func-vararg-mixed.c,
gcc.dg/dfp/compare-rel-d128.c, gcc.dg/dfp/operator-comma.c,
gcc.dg/dfp/decfloat-constants.c, gcc.dg/dfp/operator-bitwise.c,
gcc.dg/dfp/func-mixed.c, gcc.dg/dfp/compare-eq-dfp.c,
gcc.dg/dfp/operator-assignment.c, gcc.dg/dfp/dfp-round.h,
gcc.dg/dfp/modes.c, gcc.dg/dfp/keywords-c99.c, gcc.dg/dfp/nan-1.c,
gcc.dg/dfp/loop-index.c, gcc.dg/dfp/compare-eq-d64.c,
gcc.dg/dfp/convert-bfp.c, gcc.dg/dfp/usual-arith-conv-const.c,
gcc.dg/dfp/convert-dfp.c, gcc.dg/dfp/compare-rel-const.c,
gcc.dg/dfp/convert-int-fold.c, gcc.dg/dfp/keywords-pedantic.c,
gcc.dg/dfp/compare-rel-d32.c, gcc.dg/dfp/call-by-value.c,
gcc.dg/dfp/constants-hex.c, gcc.dg/dfp/func-scalar.c,
gcc.dg/dfp/keywords-ignored-c99.c, gcc.dg/dfp/snan.c,
gcc.dg/dfp/usual-arith-conv.c, gcc.dg/dfp/constants-pedantic.c,
gcc.dg/dfp/operator-logical.c, gcc.dg/dfp/compare-eq-d128.c,
gcc.dg/dfp/convert-bfp-fold.c, gcc.dg/dfp/ctypes.c,
gcc.dg/dfp/convert-int.c, gcc.dg/dfp/keywords-c89.c,
gcc.dg/dfp/constants.c, gcc.dg/dfp/compare-rel-dfp.c,
gcc.dg/dfp/compare-eq-const.c, gcc.dg/dfp/cast-bad.c,
gcc.dg/dfp/operator-arith-fold.c, gcc.dg/dfp/union-init.c,
gcc.dg/dfp/struct-layout-1.c,
gcc.dg/dfp/compare-eq.hgcc.dg/dfp/convert-int-saturate.c,
gcc.dg/dfp/compare-rel-d64.c, gcc.dg/dfp/func-vararg-size0.c,
gcc.dg/dfp/Wconversion-2.c, gcc.dg/dfp/nan-2.c,
gcc.dg/dfp/operator-cond.c, gcc.dg/dfp/composite-type.c,
gcc.dg/dfp/func-vararg-dfp.c,
gcc.dg/dfp/dfp.expgcc.dg/dfp/keywords-reserved.c,
gcc.dg/dfp/convert-complex.c, gcc.dg/dfp/Wbad-function-cast-1.c,
gcc.dg/dfp/operator-unary.c, gcc.dg/dfp/altivec-types.c,
gcc.dg/dfp/cast.c, gcc.dg/dfp/typespec.c,
gcc.dg/dfp/wtr-conversion-1.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109604 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-01-05 Carlos O'Donell <carlos@codesourcery.com>
* c-typeck.c (build_c_cast): Always warn when casting
from a pointer to an integer of different size, even if
the node was constant.
gcc/testsuite
2006-01-05 Carlos O'Donell <carlos@codesourcery.com>
* gcc.dg/cast-1.c: Add new warning.
* gcc.dg/cast-2.c: Likewise.
* gcc.dg/cast-3.c: Likewise.
* gcc.dg/format/cast-1.c: Likewise.
* gcc.dg/cast-4.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109386 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/abi/mangle24.C, g++.dg/abi/mangle25.C,
g++.dg/ext/vector2.C, g++.dg/opt/longbranch2.C, g++.dg/opt/mmx1.C,
g++.dg/opt/reg-stack4.C, gcc.dg/20020108-1.c, gcc.dg/20020122-2.c,
gcc.dg/20020122-3.c, gcc.dg/20020206-1.c, gcc.dg/20020310-1.c,
gcc.dg/20020411-1.c, gcc.dg/20020418-2.c, gcc.dg/20020426-2.c,
gcc.dg/20020517-1.c, gcc.dg/20030204-1.c, gcc.dg/20030826-2.c,
gcc.dg/20031202-1.c, gcc.dg/format/unnamed-1.c, gcc.dg/setjmp-2.c,
gcc.dg/short-compare-1.c, gcc.dg/short-compare-2.c,
gcc.dg/tls/opt-1.c, gcc.dg/tls/opt-2.c,
gcc.dg/torture/fp-int-convert-float128-timode.c,
gcc.dg/torture/fp-int-convert-float128.c,
gcc.dg/torture/fp-int-convert-float80-timode.c,
gcc.dg/torture/fp-int-convert-float80.c, gcc.dg/unroll-1.c,
gcc.target/i386/20030926-1.c: Merge i?86 and x86_64 cases.
* gcc.dg/tls/opt-1.c: Require effective target fpic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108348 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(c_common_truthvalue_conversion): Handle NOP_EXPR the same as
CONVERT_EXPR.
(check_function_arguments_recurse): Allow both NOP_EXPR and
CONVERT_EXPR but check conversions preserve precision.
* c-typeck.c (pointer_diff): Allow both NOP_EXPR and CONVERT_EXPR
but check conversions preserve precision.
(build_unary_op): Don't allow NOP_EXPR. Use gcc_unreachable () in
default case.
testsuite:
* gcc.dg/format/cast-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108020 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
avoid extra warnings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106486 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* c-pretty-print.c (pp_c_type_specifier): Do not recurse if
c_common_type_for_mode returns an unnamed type.
testsuite:
* gcc.dg/format/unnamed-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106421 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-common.c (check_function_arguments): Call
'check_function_format' if either -Wformat or
-Wmissing-format-attribute are specified.
* c-format.c (check_function_format): Check -Wformat before
calling 'check_format_info'.
* c-opts.c (c_common_post_options): Don't warn for
-Wmissing-format-attribute without -Wformat.
* c-typeck.c (convert_for_assignment): Detect additional cases for
-Wmissing-format-attribute.
* doc/invoke.texi (-Wmissing-format-attribute): Document new
behavior.
testsuite:
* gcc.dg/format/miss-1.c, gcc.dg/format/miss-2.c: Don't
specify -Wformat for these tests.
* gcc.dg/format/miss-3.c, gcc.dg/format/miss-4.c,
gcc.dg/format/miss-5.c, gcc.dg/format/miss-6.c: New.
* gcc.dg/format/opt-6.c: Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102155 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-decl.c (c_build_bitfield_integer_type): New function.
(finish_struct): Call it.
* c-pretty-print.c (pp_c_type_specifier): Handle bit-field types.
testsuite:
* gcc.dg/format/bitfld-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102091 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc_gfc_char_table, init_dynamic_gfc_info): New.
(format_types_orig, handle_format_attribute): Add support for
format "gcc_gfc".
fortran:
* error.c (error_printf, error_print): Use ATTRIBUTE_GCC_GFC.
* gfortran.h (ATTRIBUTE_GCC_GFC): New.
(gfc_warning, gfc_warning_now, gfc_error, gfc_error_now,
gfc_fatal_error, gfc_internal_error, gfc_notify_std): Use
ATTRIBUTE_GCC_GFC.
testsuite:
* gcc.dg/format/gcc_gfc-1.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101552 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-tree.h (GCC_DIAG_STYLE): Do not define. Change minimum GCC
version for format checking to 4.1.
* c-format.c: Include toplev.h after c-common.h.
(enum format_type): Add gcc_tdiag_format_type.
(gcc_tdiag_length_specs, gcc_tdiag_flag_pairs,
gcc_tdiag_flag_specs, gcc_tdiag_char_table): New.
(format_types_orig): Add gcc_tdiag.
(init_dynamic_diag_info): Support gcc_tdiag formats.
(handle_format_attribute): Likewise.
* toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Remove.
(GCC_DIAG_STYLE): Default to __gcc_tdiag__. Change minimum GCC
version for format checking to 4.1.
(warning0, warning, error, pedwarn, sorry): Use
ATTRIBUTE_GCC_DIAG.
* config/rs6000/rs6000.c (altivec_expand_builtin), varasm.c
(finish_aliases_1): Do not use %qE.
* config/arm/arm.c, config/i386/i386.c, config/mmix/mmix.c,
config/pdp11/pdp11.c, stor-layout.c, tree-eh.c, tree-ssa.c:
Correct format bugs.
* config/v850/v850-protos.h (v850_output_aligned_bss): Change size
parameter to unsigned HOST_WIDE_INT.
* config/v850/v850.c (v850_output_aligned_bss): Likewise.
cp:
* cp-tree.h (GCC_DIAG_STYLE): #undef before defining. Change
minimum GCC version for format checking to 4.1.
testsuite:
* gcc.dg/format/gcc_diag-1.c: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101543 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Joseph S. Myers <joseph@codesourcery.com>
* toplev.c (default_tree_printer): Handle setting location with
'+' flag.
* c-objc.common.c (c_tree_printer): Likewise.
* c-format.c (gcc_diag_flag_specs): Add '+'.
(gcc_cdiag_char_table): Allow '+' flag for tree formats.
(format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag
formats.
* c-common.c, c-decl.c, c-objc-common.c, c-pragma.c,
config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c,
config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c,
config/v850/v850.c, function.c, stor-layout.c, toplev.c,
tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag
instead of %J or %H. Use 'q' flag for quoting. Avoid '.' at end
of diagnostics. Use %q+D not %s for a decl. Do not pass excess
format arguments where %J is used without %D.
cp:
* error.c (location_of): Add comment.
(locate_error, cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
* cp-tree.h (cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
* call.c, class.c, decl.c, decl2.c, friend.c, init.c,
name-lookup.c, parser.c, pt.c, search.c, semantics.c, typeck.c,
typeck2.c: Use '+' flag instead of %J, cp_error_at, cp_warning_at
or cp_pedwarn_at. Mark up some diagnostic strings with N_.
java:
* class.c, decl.c, expr.c: Use '+' flag instead of %J. Use 'q'
flag for quoting.
objc:
* objc-act.c: Use '+' flag instead of %J. Use 'q' flag for
quoting.
testsuite:
* gcc.dg/format/gcc_diag-1.c: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101532 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-common.c (check_function_sentinel): Pass in named argument
list, skip over named arguments before looking for a sentinel.
(check_function_arguments): Pass in named argument list.
* c-common.h (check_function_arguments): Likewise.
* c-typeck.c (build_function_call): Likewise.
cp:
* call.c (build_over_call): Pass in named argument list to
`check_function_arguments'.
* typeck.c (build_function_call): Likewise.
testsuite:
PR c/21911
* gcc.dg/format/sentinel-1.c: Update. Fix execl* calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101341 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101316 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
formats.
testsuite:
* gcc.dg/format/cmn_err-1.c: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100763 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-format.c (init_dynamic_asm_fprintf_info): Give errors, not
assertion failures, if __gcc_host_wide_int__ is not properly
defined.
(init_dynamic_diag_info): Give errors, not assertion failures, if
location_t, tree or __gcc_host_wide_int__ are not properly
defined.
testsuite:
* gcc.dg/format/asm_fprintf-2.c, gcc.dg/format/asm_fprintf-3.c,
gcc.dg/format/asm_fprintf-4.c, gcc.dg/format/asm_fprintf-5.c,
gcc.dg/format/gcc_diag-2.c, gcc.dg/format/gcc_diag-3.c,
gcc.dg/format/gcc_diag-4.c, gcc.dg/format/gcc_diag-5.c,
gcc.dg/format/gcc_diag-6.c, gcc.dg/format/gcc_diag-7.c ,
gcc.dg/format/gcc_diag-8.c, gcc.dg/format/gcc_diag-9.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98800 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc.dg/cast-2.c, gcc.dg/cast-3.c, gcc.dg/format/opt-1.c,
gcc.dg/format/opt-2.c, gcc.dg/format/opt-3.c,
gcc.dg/format/opt-4.c, gcc.dg/format/opt-5.c,
gcc.dg/format/opt-6.c, gcc.dg/pointer-arith-5.c,
gcc.dg/pointer-arith-6.c, gcc.dg/pointer-arith-7.c,
gcc.dg/pointer-arith-8.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91405 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config/sol2-c.c (cmn_err_char_table): Add "p".
testsuite:
2004-11-15 Mark Mitchell <mark@codesourcery.com>
* gcc.dg/format/cmn-err-1.c: Add tests for "%p".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90673 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
gcc.dg/comp-goto-1.c, gcc.dg/comp-goto-2.c, gcc.dg/comp-goto-3.c,
gcc.dg/format/strfmon-2.c, gcc.dg/pointer-arith-1.c,
gcc.dg/pointer-arith-2.c, gcc.dg/pointer-arith-3.c,
gcc.dg/pointer-arith-4.c, gcc.dg/switch-5.c, gcc.dg/switch-6.c,
gcc.dg/switch-7.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90637 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
* c-common.c (c_common_attribute_table): Accept parameters to
sentinel attribute.
(check_function_sentinel, handle_sentinel_attribute): Likewise.
* doc/extend.texi: Update accordingly.
testsuite:
* gcc.dg/format/sentinel-1.c: Update for parameter option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87098 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
New.
* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
attribute.
* c-common.c (handle_sentinel_attribute, check_function_sentinel):
New functions.
(c_common_attribute_table): Add `sentinel' attribute.
(check_function_arguments): Handle `sentinel' attribute.
* doc/extend.texi: Document `sentinel' attribute.
gcc/testsuite:
* gcc.dg/format/sentinel-1.c: New test.
include:
* ansidecl.h (ATTRIBUTE_SENTINEL): Define.
* libiberty.h (concat, reconcat, concat_length, concat_copy,
concat_copy2): Use ATTRIBUTE_SENTINEL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87096 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.in: Remove target-libstdc++-v3 from noconfigdirs for
*-*-netware, but add target-libmudflap.
Consolidate *-*-netware targets (of which really only i?86 exists)
into a single entry.
* configure: Likewise.
gcc/
* config.gcc: Resurrect NetWare as a target. Handle special case of
Novell linker to be used (specified through --with-ld=) and threading
model of either Posix (default) or NKS.
* config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
* config/i386/netware.c, config/i386/netware.h: New.
* config/i386/nwld.c, config/i386/nwld.h: New.
* config/i386/netware-crt0.c: New.
* config/i386/netware-libgcc.c: New.
* config/i386/netware-libgcc.def: New.
* config/i386/netware-libgcc.exp: New.
* config/i386/t-netware, config/i386/t-nwld: New.
* gthr-nks.h: New.
* doc/install.texi: Document NKS threading model.
gcc/cp/
* g++spec.c (MATH_LIBRARY_PROFILE): Default to MATH_LIBRARY rather
than "-lm".
gcc/testsuite/
* g++.dg/abi/bitfield5.C: Use -mno-ms-bitfields.
* g++.old-deja/g++.jason/thunk2.C: xfail for NetWare.
* g++.old-deja/g++.law/profile1.C: xfail for NetWare.
* g++.old-deja/g++.other/store-expr1.C: xfail for NetWare.
* gcc.c-torture/compile/20001109-1.c: xfail for NetWare.
* gcc.c-torture/compile/20001109-2.c: xfail for NetWare.
* gcc.c-torture/execute/multi-ix.c: Use __builtin_bzero rather than
the non-portable bzero.
* gcc.dg/20010912-1.c: xfail for NetWare.
* gcc.dg/20020426-2.c: xfail for NetWare.
* gcc.dg/20021014-1.c: xfail for NetWare.
* gcc.dg/20021018-1.c: xfail for NetWare.
* gcc.dg/20030213-1.c: xfail for NetWare.
* gcc.dg/20030225-1.c: xfail for NetWare.
* gcc.dg/20030708-1.c: xfail for NetWare.
* gcc.dg/builtins-config.h: Also exclude NetWare.
* gcc.dg/format/format.h: Define restrict only if not already defined.
* gcc.dg/nest.c: xfail for NetWare.
* gcc.dg/special/gcsec-1.c: Don't pass -static for NetWare.
* lib/target-supports.exp (check_visibility_available): Exclude
NetWare.
fixincludes/
* inclhack.def: Suppress exception_structure and math_exception
for NetWare headers.
* fixincl.x: Regenerate.
libstdc++-v3/
* crossconfig.m4: Add NetWare as a target.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87040 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__UINTMAX_TYPE__.
* c-cppbuiltin.c (builtin_define_stdint_macros): New. Define
__INTMAX_MAX__.
(c_cpp_builtins): Call it.
* doc/cpp.texi: Update.
testsuite:
* gcc.c-torture/execute/builtins/abs-2.c,
gcc.c-torture/execute/builtins/abs-3.c,
gcc.c-torture/execute/builtins/lib/abs.c, gcc.dg/format/format.h,
gcc.dg/torture/builtin-attr-1.c: Use predefined macros for
intmax_t, uintmax_t and their limits.
* gcc.dg/intmax_t-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85588 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarations.
testsuite:
* gcc.dg/redecl-5.c: New test.
* gcc.dg/format/attr-6.c: Expect warning for implicit declaration
of scanf.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85509 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.in (c-format.o): Depend on c-format.h.
* c-format.h: New file.
(struct format_char_info): Add CHAIN member.
* c-format.c: Move some types and constants to c-format.h.
(format_type_error): Set to -1.
(struct function_format_info): Use an int for format_type.
(decode_format_type): Return an int. Return format_type_error
on error.
(print_char_table, asm_fprintf_char_table, gcc_diag_char_table)
(gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table)
(scan_char_table, time_char_table, monetary_char_table): Initialize
CHAIN to NULL.
(n_format_types): New variable.
(check_format_info_main): Handle CHAIN in format_char_info.
(handle_format_attribute): Handle TARGET_FORMAT_TYPES and
TARGET_N_FORMAT_TYPES.
* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
(sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c.
* config/sol2-c.c: New file.
* config/t-sol2: New file.
* config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define.
* config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine
TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES.
* doc/extend.texi (Target Format Checks): New section.
(Function Attributes): Mention it.
* doc/invoke.texi: Mention target format checks.
* doc/sourcebuild.texi: Mention target format checks.
* dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and
TARGET_FORMAT_TYPES.
testsuite/
* gcc.dg/format/cmn-err-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84920 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-lang.c (c_initialize_diagnostics): Move from here ...
* c-objc-common.c: ... to here. Include "c-pretty-print.h".
(c_tree_printer): Use pretty-printer to format %T.
* c-pretty-print.c (pp_c_specifier_qualifier_list): Include space
before '*' if not C++.
(pp_c_direct_abstract_declarator): Don't try to print array upper
bound for flexible array members.
* c-tree.h: Include "diagnostic.h".
(c_initialize_diagnostics): Declare.
* objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define.
* c-format.c (format_type_warning): New function. Improve
diagnostics for incorrect format argument types.
(check_format_types): Use it. Add two parameters. Use the
TYPE_MAIN_VARIANT of wanted_type.
(check_format_info_main): Pass new parameters to
check_format_types.
(struct format_wanted_type): Update comment.
testsuite:
* gcc.dg/Wswitch-enum.c, gcc.dg/Wswitch.c,
gcc.dg/format/branch-1.c, gcc.dg/format/diag-1.c,
gcc.dg/format/multattr-3.c, gcc.dg/format/xopen-1.c: Update
expected warning text.
* gcc.dg/format/diag-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83965 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-format.c (avoid_dollar_number): New function.
(check_format_info_main): Call avoid_dollar_number when operand
numbers might occur but has_operand_number == 0.
testsuite:
* gcc.dg/format/xopen-1.c: Adjust expected message.
* gcc.dg/format/xopen-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81871 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
decimal formats.
testsuite:
* gcc.dg/format/ext-1.c: Allow 'I' flag on floating point decimal
formats.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74860 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c/8714
* c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
* invoke.texi: Update.
testsuite:
PR c/3190
PR c/8714
* gcc.dg/format/c90-strftime-1.c, gcc.dg/format/c90-strftime-2.c,
gcc.dg/format/c99-strftime-1.c, gcc.dg/format/ext3.c,
gcc.dg/format/no-y2k-1.c: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73378 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
(check_format_types): Fix wanted_type name lookup.
(init_dynamic_diag_info): Setup %J.
* diagnostic.c (text_specifies_location): Implement %J.
* c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
* tree-inline.c: Include intl.h
(inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
* Makefile.in (tree-inline.o): Update.
cp/
* decl.c, decl2.c, pt.c: Use %J in diagnostics.
java/
* check-init.c, class.c, decl.c, expr.c: Use %J in diagnostics.
testsuite/
* gcc.dg/format/gcc_diag-1.c: Add tests for %J.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71619 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* builtin-attrs.def (gcc_diag, gcc_cdiag, gcc_cxxdiag): New
format attributes.
* c-format.c (enum format_type): Add gcc_diag_format_type,
gcc_cdiag_format_type, and gcc_cxxdiag_format_type.
(gcc_diag_length_specs, gcc_cdiag_length_specs,
gcc_cxxdiag_length_specs, gcc_diag_flag_pairs,
gcc_cdiag_flag_pairs, gcc_cxxdiag_flag_pairs, gcc_diag_flag_specs,
gcc_cdiag_flag_specs, gcc_cxxdiag_flag_specs, gcc_diag_char_table,
gcc_cdiag_char_table, gcc_cxxdiag_char_table): New.
(format_types_orig): Add new data.
(find_char_info_specifier_index, init_dynamic_diag_info): New
functions.
(handle_format_attribute): Update to handle new format attributes.
testsuite:
* gcc.dg/format/gcc_diag-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68689 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* c-format.c (format_types_orig): Disallow '*' width/precision in
asm_fprintf format checks.
testsuite:
* gcc.dg/format/asm_fprintf-1.c: Update width/precision checks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67897 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67519 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
(BT_FN_INT_CONST_STRING_VALIST_ARG,
BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
BT_FN_INT_STRING_CONST_STRING_VAR,
BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
ATTR_NONNULL_3): Also include the nothrow attribute.
(sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
vsnprintf, vscanf, vsscanf): Don't define attributes here.
* builtins.def (putchar, puts): Make full C89 built-ins.
(snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
vsscanf, vsnprintf, vsprintf): New built-ins.
* c-common.c (c_common_nodes_and_builtins): Handle new macro
DEF_FUNCTION_TYPE_VAR_3.
* doc/extend.texi: Document these new built-in functions.
* java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
(initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.
* g++.old-deja/g++.other/builtins10.C: New test for PR 9367.
* gcc.dg/format/attr-5.c: Handle new conflicting types warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63650 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.old-deja/g++.abi/ptrmem.C: Likewise.
* g++.old-deja/g++.bugs/900210_05.C: Likewise.
* g++.old-deja/g++.bugs/900211_04.C: Likewise.
* g++.old-deja/g++.bugs/900321_02.C: Likewise.
* g++.old-deja/g++.bugs/900404_02.C: Likewise.
* g++.old-deja/g++.bugs/900520_06.C: Likewise.
* g++.old-deja/g++.law/global-init1.C: Likewise.
* g++.old-deja/g++.other/delete4.C: Likewise.
* g++.old-deja/g++.other/inline21.C: Likewise.
* g++.old-deja/g++.other/singleton.C: Likewise.
* g77.dg/strlen0.f: Likewise.
* g77.f-torture/compile/20010519-1.f: Likewise.
* g77.f-torture/compile/980310-4.f: Likewise.
* gcc.c-torture/compile/20000605-1.c: Likewise.
* gcc.c-torture/execute/20020225-1.c: Likewise.
* gcc.dg/c90-hexfloat-2.c: Likewise.
* gcc.dg/c99-bool-1.c: Likewise.
* gcc.dg/c99-hexfloat-2.c: Likewise.
* gcc.dg/dll-2.c: Likewise.
* gcc.dg/wtr-union-init-1.c: Likewise.
* gcc.dg/wtr-union-init-2.c: Likewise.
* gcc.dg/wtr-union-init-3.c: Likewise.
* gcc.dg/cpp/avoidpaste1.c: Likewise.
* gcc.dg/cpp/defined.c: Likewise.
* gcc.dg/cpp/macsyntx.c: Likewise.
* gcc.dg/cpp/paste2.c: Likewise.
* gcc.dg/cpp/trad/defined.c: Likewise.
* gcc.dg/format/c90-printf-1.c: Likewise.
* gcc.dg/format/c90-scanf-1.c: Likewise.
* gcc.dg/format/c99-printf-1.c: Likewise.
* gcc.dg/format/c99-scanf-1.c: Likewise.
* gcc.misc-tests/gcov-8.c: Likewise.
* lib/profopt.exp: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57189 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g++.dg/template/friend4.C: Likewise.
* g++.old-deja/g++.pt/crash67.C: Likewise.
* gcc.c-torture/execute/20000801-4.c: Likewise.
* gcc.dg/c90-digraph-1.c: Likewise.
* gcc.dg/c94-digraph-1.c: Likewise.
* gcc.dg/c99-digraph-1.c: Likewise.
* gcc.dg/cpp/line5.c: Likewise.
* gcc.dg/cpp/multiline.c: Likewise.
* gcc.dg/cpp/trad/literals-1.c: Likewise.
* gcc.dg/format/attr-3.c: Likewise.
* gcc.dg/format/c90-scanf-3.c: Likewise.
* gcc.dg/format/ext-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57161 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(ATTR_NONNULL): New attribute identifier.
(ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
attribute tree lists.
(DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
format operand.
(ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
(DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
attribute lists. Chain the appropriate nonnull attribute.
* c-format.c (check_format_arg): Remove null format string
warning.
* testsuite/gcc.dg/format/null-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53801 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is used without -Wformat.
* c-common.h (warn_format_zero_length): Declare extern.
* c-decl.c (warn_options): Add "format-zero-length".
* c-format.c (warn_format_zero_length): Declare.
(set_Wformat): Set warn_format_zero_length for -Wformat.
(check_format_info): Only warn about zero-length formats if
warn_format_zero_length is true. Include the format type
name in the warning message.
* doc/invoke.texi: Document -Wformat-zero-length.
* testsuite/gcc.dg/format/zero-length-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53592 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
parameter for * width until after operand number has been read,
and only check for it if format parameters are available.
Fixes PR c/6547.
testsuite:
* gcc.dg/format/xopen-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53118 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
Mark with the __printf__ attribute.
* builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
and set the replacement function depending on it.
(expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
Handle BUILT_IN_*_UNLOCKED when optimizing.
* builtins.def (DEF_EXT_FALLBACK_BUILTIN,
DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
Declare the "unlocked" stdio functions.
* c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
Add an `unlocked' parameter and set the replacement function
depending on it.
(c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
BUILT_IN_FPRINTF_UNLOCKED.
* doc/extend.texi (printf_unlocked, fprintf_unlocked,
fputs_unlocked): Document.
testsuite:
* gcc.dg/format/builtin-1.c: Test unlocked stdio.
* gcc.dg/format/c90-printf-3.c: Likewise.
* gcc.dg/format/c99-printf-3.c: Likewise.
* gcc.dg/format/ext-1.c: Likewise.
* gcc.dg/format/ext-6.c: Likewise.
* gcc.dg/format/format.h: Prototype unlocked stdio.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48229 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(format_types): Use it for scanf.
(dollar_arguments_pointer_p): New.
(init_dollar_format_checking): Store details of which arguments
are pointers.
(maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
(finish_dollar_format_checking): Take extra parameter
pointer_gap_ok. Treat unused arguments differently if
pointer_gap_ok and the unused arguments are pointers.
(check_format_info_main): Pass extra argument to
finish_dollar_format_checking.
* doc/invoke.texi (-Wno-format-extra-args): Document behavior when
unused arguments are present between used arguments with operand
numbers.
testsuite:
* gcc.dg/format/strfmon-1.c: Update comments. Adjust examples
from Austin Group draft 7.
* gcc.dg/format/xopen-1.c: Update comments. Add tests for gaps in
scanf format arguments.
* gcc.dg/format/no-exargs-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47327 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
across all the headers.
* gcc.dg/format/format.exp: For testing on a remote host,
copy format.h.
* gcc.c-torture/execute/20011008-3.c: Allow for small STACK_SIZE.
* gcc.c-torture/execute/930406-1.c: Likewise.
* gcc.c-torture/execute/comp-goto-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47194 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
format_arg attributes apply to function types rather than to
decls.
(is_valid_printf_arglist): Construct an attribute list and pass
that to check_function_format rather than a name.
* c-common.h (check_function_format): Adjust prototype.
* c-decl.c (duplicate_decls): Preserve attributes from type of
built-in decl when allowing for harmless conflict in types.
* c-format.c (record_function_format,
record_international_format, function_format_list,
international_format_info, international_format_list): Remove.
(function_format_info): Remove next, name and assembler_name.
Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
(decode_format_attr): New.
(handle_format_attribute): Handle receiving a type rather than a
decl. Call decode_format_attr. Store format information in a
function_format_info.
(handle_format_arg_attribute): Correct comment. Handle receiving
a type rather than a decl. Use unsigned HOST_WIDE_INT for
arg_num.
(check_format_info_recurse, check_format_info_main): Take argument
numbers as unsigned HOST_WIDE_INT.
(check_function_format): Take a list of attributes from the
function type rather than a name or assembler name. Check for
format attributes in that list and the attributes on the type of
the current function rather than looking through
function_format_list.
(check_format_info): Use unsigned HOST_WIDE_INT for argument
numbers.
(check_format_info_recurse): Take format_arg attributes from the
type of the function calls rather than using
international_format_list. Allow for multiple format_arg
attributes.
* c-typeck.c (build_function_call): Pass type attributes to
check_function_format rather than name or assembler name. Don't
require there to be a name or assembler name to check formats.
cp:
* call.c (build_over_call), typeck.c (build_function_call_real):
Pass type attributes to check_function_format rather than name or
assembler name. Don't require there to be a name or assembler
name to check formats.
testsuite:
* g++.dg/warn/format2.C, gcc.dg/format/attr-7.c,
gcc.dg/format/multattr-1.c, gcc.dg/format/multattr-2.c,
gcc.dg/format/multattr-3.c: New tests.
* gcc.dg/format/attr-3.c: Update expected error texts. Remove
tests for format attributes on function pointers being rejected.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45945 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
insert_default_attributes to insert default attributes on
functions in a lazy manner.
* builtin-attrs.def: New file; define the default format and
format_arg attributes.
* c-common.c (c_format_attribute_table): Move to earlier in the
file.
(c_common_nodes_and_builtins): Initialize format_attribute_table.
(enum built_in_attribute, built_in_attributes,
c_attrs_initialized, c_init_attributes,
c_common_insert_default_attributes): New.
(c_common_lang_init): Don't initialize format_attribute_table. Do
call c_init_attributes.
* Makefile.in (c-common.o): Depend on builtin-attrs.def.
* c-common.h (init_function_format_info): Don't declare.
(c_common_insert_default_attributes): Declare.
* c-decl.c (implicitly_declare, builtin_function): Call
decl_attributes.
(init_decl_processing): Don't call init_function_format_info.
(insert_default_attributes): New.
* c-format.c (handle_format_attribute,
handle_format_arg_attribute): Be quiet about inappropriate
declaration when applying default attributes.
(init_function_format_info): Remove.
* tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
(insert_default_attributes): Declare.
cp:
* decl.c (init_decl_processing): Don't call
init_function_format_info. Initialize lang_attribute_table
earlier.
(builtin_function): Call decl_attributes.
(insert_default_attributes): New.
testsuite:
* gcc.dg/format/attr-5.c, gcc.dg/format/attr-6.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45942 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
and __builtin_fprintf even if -ffreestanding. Check C99 functions
in gnu89 mode.
testsuite:
* gcc.dg/format/builtin-1.c, gcc.dg/format/ext-6.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45757 138bc75d-0d04-0410-961f-82ee72b054a4
|