This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ping - old patch from April - mingw support for I32/I64 MS printf formatters to c-format.c


Hi all,

Sorry, I missed the precision definition for printf (e.g. something like 
%2.2x). So I corrected it in msformat-c.c file.
BTW: I found by this already an issue in binutils for mingw. The binutils 
assumes that 'll' length specifier is valid for mingw, which isn't true. 
So I think, this patch seems to be very useful.

"Joseph S. Myers" wrote on 08.01.2008 17:51:58:

> On Tue, 8 Jan 2008, Kai Tietz wrote:
> 
> >         * gcc/testsuite/gcc.dg/format/format.h: Add for mingw the gnu 
> > style printf prototypes.
> > 
> > Do you think it is ok for apply ?
> 
> The general approach is plausible, but the patch still needs full test 
> coverage for the MinGW formats before it's ready for review.  Every C90, 

> C99, X/Open or GNU format feature not present on Windows should have a 
> MinGW-specific test assertion added to the testsuite that the use of 
that 
> feature is diagnosed, which every such feature present on Windows should 

> have a MinGW-specific test assertion added that the feature is not 
> diagnosed.  (The effect should be that every entry in the MinGW format 
> datastructures is tested, and every difference from the GNU format 
> datastructures.)  When you have a patch ready with such tests, please 
> confirm that all the format tests pass cleanly with it applied for both 
> MinGW and non-MinGW targets; then it will be ready for review.

This patch includes the testcases for format for gnu and mingw style.

ChangeLog for gcc/testcase

2008-01-15  Kai Tietz  <kai.tietz@onevision.com>

        * gcc.dg/format/ms_array-1.c: New.
        * gcc.dg/format/ms_c90-scanf-3.c: New.
        * gcc.dg/format/ms_c99-strftime-1.c: New.
        * gcc.dg/format/ms_no-y2k-1.c: New.
        * gcc.dg/format/ms_attr-1.c: New.
        * gcc.dg/format/ms_c90-scanf-4.c: New.
        * gcc.dg/format/ms_c99-strftime-2.c: New.
        * gcc.dg/format/ms_nonlit-1.c: New.
        * gcc.dg/format/ms_c90-scanf-5.c: New.
        * gcc.dg/format/ms_cast-1.c: New.
        * gcc.dg/format/ms_nonlit-2.c: New.
        * gcc.dg/format/ms_attr-2.c: New.
        * gcc.dg/format/ms_c90-strftime-1.c: New.
        * gcc.dg/format/ms_miss-1.c: New.
        * gcc.dg/format/ms_nonlit-3.c: New.
        * gcc.dg/format/ms_attr-3.c: New.
        * gcc.dg/format/ms_c90-strftime-2.c: New.
        * gcc.dg/format/ms_miss-2.c: New.
        * gcc.dg/format/ms_nul-1.c: New.
        * gcc.dg/format/ms_attr-4.c: New.
        * gcc.dg/format/ms_c94-printf-1.c: New.
        * gcc.dg/format/ms_miss-3.c: New.
        * gcc.dg/format/ms_nul-2.c: New.
        * gcc.dg/format/ms_attr-7.c: New.
        * gcc.dg/format/ms_c94-scanf-1.c: New.
        * gcc.dg/format/ms_miss-4.c: New.
        * gcc.dg/format/ms_null-1.c: New.
        * gcc.dg/format/ms_bitfld-1.c: New.
        * gcc.dg/format/ms_c99-printf-1.c: New.
        * gcc.dg/format/ms_miss-5.c: New.
        * gcc.dg/format/ms_plus-1.c: New.
        * gcc.dg/format/ms_branch-1.c: New.
        * gcc.dg/format/ms_c99-printf-2.c: New.
        * gcc.dg/format/ms_miss-6.c: New.
        * gcc.dg/format/ms_sec-1.c: New.
        * gcc.dg/format/ms_c90-printf-1.c: New.
        * gcc.dg/format/ms_c99-printf-3.c: New.
        * gcc.dg/format/ms_multattr-1.c: New.
        * gcc.dg/format/ms_unnamed-1.c: New.
        * gcc.dg/format/ms_c90-printf-2.c: New.
        * gcc.dg/format/ms_c99-scanf-1.c: New.
        * gcc.dg/format/ms_multattr-2.c: New.
        * gcc.dg/format/ms_va-1.c: New.
        * gcc.dg/format/ms_c90-printf-3.c: New.
        * gcc.dg/format/ms_c99-scanf-2.c: New.
        * gcc.dg/format/ms_multattr-3.c: New.
        * gcc.dg/format/ms_warnll-1.c: New.
        * gcc.dg/format/ms_c90-scanf-1.c: New.
        * gcc.dg/format/ms_c99-scanf-3.c: New.
        * gcc.dg/format/ms_no-exargs-1.c: New.
        * gcc.dg/format/ms_zero-length-1.c: New.
        * gcc.dg/format/ms_c90-scanf-2.c: New.
        * gcc.dg/format/ms_c99-scanf-4.c: New.
        * gcc.dg/format/ms_no-exargs-2.c: New.
        * gcc.dg/format/sys_formatter.c: New.
        * gcc.dg/format/null-1.c: Add gnu style usage for mingw.
        * gcc.dg/format/miss-1.c: Likewise.
        * gcc.dg/format/miss-3.c: Likewise.
        * gcc.dg/format/multattr-2.c: Likewise.
        * gcc.dg/format/miss-5.c: Likewise.
        * gcc.dg/format/attr-2.c: Likewise.
        * gcc.dg/format/attr-4.c: Likewise.
        * gcc.dg/format/c90-scanf-4.c: Likewise.
        * gcc.dg/format/c99-printf-3.c: Likewise.
        * gcc.dg/format/multattr-1.c: Likewise.
        * gcc.dg/format/miss-4.c: Likewise.
        * gcc.dg/format/miss-6.c: Likewise.
        * gcc.dg/format/c90-printf-3.c: Likewise.
        * gcc.dg/format/attr-1.c: Likewise.
        * gcc.dg/format/attr-3.c: Likewise.
        * gcc.dg/format/attr-7.c: Likewise.
        * gcc.dg/format/format.h: Treat mingw and gnu style.

ChangeLog of gcc/:
2008-01-15      Kai Tietz  <kai.tietz@onevision.com>

        * c-format.c: (replace_formatter_name_to_system_name): New.
        (compare_tofa): New.
        (compare_format_types): New.
        (decode_format_attr): Use of 
replace_formatter_name_to_system_name.
        (format_types_orig): Add gnu_ prefix to names.
        (check_format_info_main): Special treating of \0 escaped names for
        supporting multi-character formatters as I32, I64.
        (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Use of user defined 
attributes.
        (gnu_target_overrides_format_attributes): New.
        * gcc/c-format.h: Add structure target_ovr_attr to hold
        system specific formatter names.
        (ovr_format_type): New enum.
        * gcc/config.gcc: Add for x86&x86_64 cygwin and mingw32 targets 
the
        msformat-c.o file to c_target_objs and cxx_target_objs.
        * gcc/config/i386/mingw32.h: (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): 
New.
        (TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT): New.
        (TARGET_N_FORMAT_TYPES): New.
        * gcc/config/i386/msformat-c.c: New.
        * gcc/config/i386/t-cygming: Add build rule for msformat-c.o.
        * gcc/doc/extend.texi: Add new format names gnu_* and ms_*.
        * gcc/doc/tm.texi: (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.

Is this ok for review ?

Cheers,
 i.A. Kai Tietz



|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.

------------------------------------------------------------------------------------------
  OneVision Software Entwicklungs GmbH & Co. KG
  Dr.-Leo-Ritter-StraÃe 9 - 93049 Regensburg
  Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
  Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
  Handelsregister: HRA 6744, Amtsgericht Regensburg
  KomplementÃrin: OneVision Software Entwicklungs Verwaltungs GmbH
  Dr.-Leo-Ritter-StraÃe 9 â 93049 Regensburg
  Handelsregister: HRB 8932, Amtsgericht Regensburg - GeschÃftsfÃhrer: 
Ulrike DÃhler, Manuela Kluger

Attachment: mingw-msformat.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]