------- Comment #3 from janis at gcc dot gnu dot org 2009-05-07 22:34 ------- Subject: Bug 39037
Author: janis Date: Thu May 7 22:34:08 2009 New Revision: 147259 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147259 Log: gcc/ PR c/39037 * c-common.h (mark_valid_location_for_stdc_pragma, valid_location_for_stdc_pragma_p, set_float_const_decimal64, clear_float_const_decimal64, float_const_decimal64_p): New. * c.opt (Wunsuffixed-float-constants): New. * c-lex.c (interpret_float): Use pragma FLOAT_CONST_DECIMAL64 for unsuffixed float constant, handle new warning. * c-cppbuiltin.c (c_cpp_builtins): Use cast for double constants. * c-decl.c (c_scope): New flag float_const_decimal64. (set_float_const_decimal64, clear_float_const_decimal64, float_const_decimal64_p): New. (push_scope): Set new flag. * c-parser.c (c_parser_translation_unit): Mark when it's valid to use STDC pragmas. (c_parser_external_declaration): Ditto. (c_parser_compound_statement_nostart): Ditto. * c-pragma.c (valid_location_for_stdc_pragma, mark_valid_location_for_stdc_pragma, valid_location_for_stdc_pragma_p, handle_stdc_pragma, handle_pragma_float_const_decimal64): New. (init_pragma): Register new pragma FLOAT_CONST_DECIMAL64. * cp/semantics.c (valid_location_for_stdc_pragma_p, set_float_const_decimal64, clear_float_const_decimal64, float_const_decimal64_p): New dummy functions. * doc/extend.texi (Decimal Float): Remove statement that the pragma, and suffix for double constants, are not supported. * doc/invoke.texi (Warning Options): List new option. (-Wunsuffixed-float-constants): New. gcc/testsuite PR c/39037 * gcc.dg/Wunsuffixed-float-constants-1.c: New test. * gcc.dg/cpp/pragma-float-const-decimal64-1.c: New test. * gcc.dg/dfp/float-constant-double.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-1.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-2.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-3.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-4.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-5.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-6.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-7.c: New test. * gcc.dg/dfp/pragma-float-const-decimal64-8.c: New test. * g++.dg/cpp/pragma-float-const-decimal64-1.C: New test. Added: trunk/gcc/testsuite/g++.dg/cpp/pragma-float-const-decimal64-1.C trunk/gcc/testsuite/gcc.dg/Wunsuffixed-float-constants-1.c trunk/gcc/testsuite/gcc.dg/cpp/pragma-float-const-decimal64-1.c trunk/gcc/testsuite/gcc.dg/dfp/float-constant-double.c trunk/gcc/testsuite/gcc.dg/dfp/pragma-float-const-decimal64-1.c trunk/gcc/testsuite/gcc.dg/dfp/pragma-float-const-decimal64-2.c trunk/gcc/testsuite/gcc.dg/dfp/pragma-float-const-decimal64-3.c trunk/gcc/testsuite/gcc.dg/dfp/pragma-float-const-decimal64-4.c trunk/gcc/testsuite/gcc.dg/dfp/pragma-float-const-decimal64-5.c trunk/gcc/testsuite/gcc.dg/dfp/pragma-float-const-decimal64-6.c trunk/gcc/testsuite/gcc.dg/dfp/pragma-float-const-decimal64-7.c trunk/gcc/testsuite/gcc.dg/dfp/pragma-float-const-decimal64-8.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-common.h trunk/gcc/c-cppbuiltin.c trunk/gcc/c-decl.c trunk/gcc/c-lex.c trunk/gcc/c-parser.c trunk/gcc/c-pragma.c trunk/gcc/c.opt trunk/gcc/cp/semantics.c trunk/gcc/doc/extend.texi trunk/gcc/doc/invoke.texi trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39037