1. 27 Jul, 2014 1 commit
  2. 16 Jul, 2014 1 commit
    • Support location tracking for built-in macro tokens · c468587a
      When a built-in macro is expanded, the location of the token in the
      epansion list is the location of the expansion point of the built-in
      macro.
      
      This patch creates a virtual location for that token instead,
      effectively tracking locations of tokens resulting from built-in macro
      tokens.
      
      libcpp/
      	* include/line-map.h (line_maps::builtin_location): New data
      	member.
      	(line_map_init): Add a new parameter to initialize the new
      	line_maps::builtin_location data member.
      	* line-map.c (linemap_init): Initialize the
      	line_maps::builtin_location data member.
      	* macro.c (builtin_macro): Create a macro map and track the token
      	resulting from the expansion of a built-in macro.
      gcc/
      	* input.h (is_location_from_builtin_token): New function
      	declaration.
      	* input.c (is_location_from_builtin_token): New function
      	definition.
      	* toplev.c (general_init): Tell libcpp what the pre-defined
      	spelling location for built-in tokens is.
      
      Signed-off-by: Dodji Seketeli <dodji@redhat.com>
      
      From-SVN: r212637
      Dodji Seketeli committed
  3. 11 Jul, 2014 1 commit
  4. 10 Jul, 2014 1 commit
  5. 09 Jul, 2014 1 commit
    • PR c++/58155 - -Wliteral-suffix warns about tokens which are skipped · 7aee8646
      libcpp/
      
      2014-07-09  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	PR c++/58155 - -Wliteral-suffix warns about tokens which are skipped
      	by preprocessor
      	* lex.c (lex_raw_string ()): Do not warn about invalid suffix
      	if skipping. (lex_string ()): Ditto.
      
      
      gcc/testsuite/
      
      2014-07-09  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	PR c++/58155 - -Wliteral-suffix warns about tokens which are skipped
      	g++.dg/cpp0x/pr58155.C: New.
      
      From-SVN: r212392
      Edward Smith-Rowland committed
  6. 05 Jun, 2014 2 commits
  7. 26 May, 2014 1 commit
    • configure.ac: Remove long long and __int64 type checks... · edf6ddf6
      2014-05-26  Richard Biener  <rguenther@suse.de>
      
      	libcpp/
      	* configure.ac: Remove long long and __int64 type checks,
      	add check for uint64_t and fail if that wasn't found.
      	* include/cpplib.h (cpp_num_part): Use uint64_t.
      	* config.in: Regenerate.
      	* configure: Likewise.
      
      	gcc/
      	* configure.ac: Drop __int64 type check.  Insist that we
      	found uint64_t and int64_t.
      	* hwint.h (HOST_BITS_PER___INT64): Remove.
      	(HOST_BITS_PER_WIDE_INT): Define to 64 and remove
      	__int64 case.
      	(HOST_WIDE_INT_PRINT_*): Remove 32bit case.
      	(HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
      	(HOST_WIDEST_FAST_INT): Remove __int64 case.
      	* vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
      	for dst_q_src_df_rms_cdt.
      	* configure: Regenerate.
      	* config.in: Likewise.
      
      From-SVN: r210928
      Richard Biener committed
  8. 21 May, 2014 2 commits
  9. 20 May, 2014 1 commit
    • config.gcc: Remove need_64bit_hwint. · 54da09ee
      2014-05-20  Richard Biener  <rguenther@suse.de>
      
      	gcc/
      	* config.gcc: Remove need_64bit_hwint.
      	* configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
      	* hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
      	it to be true.
      	* config.in: Regenerate.
      	* configure: Likewise.
      
      	libcpp/
      	* configure.ac: Copy gcc logic of detecting a 64bit type.
      	Remove HOST_WIDE_INT define.
      	* include/cpplib.h: typedef cpp_num_part to a 64bit type,
      	similar to how hwint.h does it.
      	* config.in: Regenerate.
      	* configure: Likewise.
      
      From-SVN: r210632
      Richard Biener committed
  10. 09 May, 2014 1 commit
  11. 07 May, 2014 1 commit
  12. 22 Apr, 2014 1 commit
    • Remove obsolete Solaris 9 support · d9f069ab
      	libstdc++-v3:
      	* configure.host: Remove solaris2.9 handling.
      	Change os_include_dir to os/solaris/solaris2.10.
      	* acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
      	* crossconfig.m4: Remove *-solaris2.9 handling, simplify.
      	* configure: Regenerate.
      	* config/abi/post/solaris2.9: Remove.
      	* config/os/solaris/solaris2.9: Rename to ...
      	* config/os/solaris/solaris2.10: ... this.
      	* config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
      	Remove.
      
      	* doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
      	Remove Solaris 9 reference.
      	* doc/html/manual/configure.html: Regenerate.
      
      	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
      	Remove *-*-solaris2.9 xfail.
      	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
      	Likewise.
      
      	* testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
      	xfail.
      
      	libjava:
      	* configure.ac (THREADLIBS, THREADSPEC): Remove *-*-solaris2.9
      	handling.
      	* configure: Regenerate.
      
      	libgfortran:
      	* config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
      	check.
      
      	libgcc:
      	* config/i386/crtfastmath.c (set_fast_math): Remove SSE execution
      	check.
      	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
      	Solaris 9 single-threaded support.
      	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
      	Solaris 9 single-threaded support.  Add call_user_handler code
      	sequences.
      	(sparc_is_sighandler): Likewise.
      
      	libcpp:
      	* lex.c: Remove Solaris 9 reference.
      
      	gcc/testsuite:
      	* gcc.c-torture/compile/pr28865.c: Remove dg-xfail-if.
      
      	* gcc.dg/c99-stdint-6.c: Remove dg-options for *-*-solaris2.9.
      	* gcc.dg/lto/20090210_0.c: Remove dg-extra-ld-options for
      	*-*-solaris2.9.
      	* gcc.dg/torture/pr47917.c: Remove dg-options for *-*-solaris2.9.
      	* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.9 handling
      	from dg-options.
      	* gcc.target/i386/pr22152.c: Remove i?86-*-solaris2.9 handling
      	from dg-additional-options.
      	* gcc.target/i386/vect8-ret.c: Remove i?86-*-solaris2.9 handling
      	from dg-options.
      
      	* gcc.dg/vect/tree-vect.h (check_vect): Remove Solaris 9 SSE2
      	execution check.
      	* gcc.target/i386/sse-os-support.h [__sun__ && __svr4__]
      	(sigill_hdlr): Remove.
      	(sse_os_support) [__sun__ && __svr4__]: Remove SSE execution
      	check.
      
      	* gfortran.dg/erf_3.F90: Remove sparc*-*-solaris2.9* handling.
      	* gfortran.dg/fmt_en.f90: Remove i?86-*-solaris2.9* handling.
      	* gfortran.dg/round_4.f90: Remove *-*-solaris2.9* handling.
      
      	* lib/target-supports.exp (add_options_for_tls): Remove
      	*-*-solaris2.9* handling.
      
      	gcc:
      	* config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
      	(*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
      	(*-*-solaris2*): Simplify.
      	(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
      	(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
      	*-*-solaris2.9* handling.
      
      	* configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
      	as bug.
      	(gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
      	(ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
      	handling, simplify.
      	(gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
      	* configure: Regenerate.
      
      	* config/i386/sol2-9.h: Remove.
      
      	* doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
      	(Specific, *-*-solaris2*): Mention Solaris 9 support removal.
      	Remove Solaris 9 references.
      
      	fixincludes:
      	* inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*.
      	(solaris_int_types): Remove.
      	(solaris_longjmp_noreturn): Remove.
      	(solaris_mutex_init_2): Remove.
      	(solaris_once_init_2): Remove.
      	(solaris_sys_va_list): Remove.
      	* fixincl.x: Regenerate.
      	* tests/base/iso/setjmp_iso.h: Remove.
      	* tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]: Remove.
      	[SOLARIS_ONCE_INIT_1_CHECK]: Remove wrapping done by
      	solaris_once_init_2.
      	[SOLARIS_ONCE_INIT_2_CHECK]: Remove.
      	* tests/base/sys/int_types.h: Remove.
      	* tests/base/sys/va_list.h: Remove.
      
      	contrib:
      	* config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9.
      
      From-SVN: r209621
      Rainer Orth committed
  13. 18 Mar, 2014 1 commit
  14. 03 Mar, 2014 1 commit
    • be.po, [...]: Update. · 8c92028e
      	* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
      	id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
      	vi.po, zh_CN.po, zh_TW.po: Update.
      
      From-SVN: r208285
      Joseph Myers committed
  15. 24 Feb, 2014 1 commit
    • TILE-Gx big endian support. · 341c653c
      /:
      	* configure.ac (tilepro-*-*) Change to tilepro*-*-*.
      	(tilegx-*-*): Change to tilegx*-*-*.
      	* configure: Regenerate.
      
      contrib/:
      	* config-list.mk (LIST): Add tilegxbe-linux-gnu.
      
      libcpp/:
      	* configure.ac: Change "tilepro" triplet to "tilepro*".
      	* configure: Regenerate.
      
      libgcc/:
      	* config.host: Support "tilegx*" and "tilepro*" triplets.
      	* config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian.
      	* config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian.
      
      gcc/:
      	* config.gcc (tilepro-*-*): Change to tilepro*-*-*.
      	(tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
      	triplet.
      	* common/config/tilegx/tilegx-common.c
      	(TARGET_DEFAULT_TARGET_FLAGS): Define.
      	* config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
      	(LINK_SPEC): Ditto.
      	* config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
      	* config/tilegx/tilegx.c (tilegx_return_in_msb): New.
      	(tilegx_gimplify_va_arg_expr): Handle big endian.
      	(tilegx_expand_unaligned_load): Ditto.
      	(tilegx_expand_unaligned_store): Ditto.
      	(TARGET_RETURN_IN_MSB): New.
      	* config/tilegx/tilegx.h (TARGET_DEFAULT): New.
      	(TARGET_ENDIAN_DEFAULT): New.
      	(TARGET_BIG_ENDIAN): Handle big endian.
      	(BYTES_BIG_ENDIAN): Ditto.
      	(WORDS_BIG_ENDIAN): Ditto.
      	(FLOAT_WORDS_BIG_ENDIAN): Ditto.
      	(ENDIAN_SPEC): New.
      	(EXTRA_SPECS): New.
      	* config/tilegx/tilegx.md (extv): Handle big endian.
      	(extzv): Ditto.
      	(insn_st<n>): Ditto.
      	(insn_st<n>_add<bitsuffix>): Ditto.
      	(insn_stnt<n>): Ditto.
      	(insn_stnt<n>_add<bitsuffix>):Ditto.
      	(vec_interleave_highv8qi): Handle big endian.
      	(vec_interleave_highv8qi_be): New.
      	(vec_interleave_highv8qi_le): New.
      	(insn_v1int_h): Handle big endian.
      	(vec_interleave_lowv8qi): Handle big endian.
      	(vec_interleave_lowv8qi_be): New.
      	(vec_interleave_lowv8qi_le): New.
      	(insn_v1int_l): Handle big endian.
      	(vec_interleave_highv4hi): Handle big endian.
      	(vec_interleave_highv4hi_be): New.
      	(vec_interleave_highv4hi_le): New.
      	(insn_v2int_h): Handle big endian.
      	(vec_interleave_lowv4hi): Handle big endian.
      	(vec_interleave_lowv4hi_be): New.
      	(vec_interleave_lowv4hi_le): New.
      	(insn_v2int_l): Handle big endian.
      	(vec_interleave_highv2si): Handle big endian.
      	(vec_interleave_highv2si_be): New.
      	(vec_interleave_highv2si_le): New.
      	(insn_v4int_h): Handle big endian.
      	(vec_interleave_lowv2si): Handle big endian.
      	(vec_interleave_lowv2si_be): New.
      	(vec_interleave_lowv2si_le): New.
      	(insn_v4int_l): Handle big endian.
      	* config/tilegx/tilegx.opt (mbig-endian): New option.
      	(mlittle-endian): New option.
      	* doc/install.texi: Document tilegxbe-linux.
      	* doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
      
      From-SVN: r208069
      Walter Lee committed
  16. 19 Feb, 2014 1 commit
  17. 07 Feb, 2014 1 commit
    • re PR preprocessor/56824 (pragma GCC diagnostic push/pop fail with GCC… · acf601ae
      re PR preprocessor/56824 (pragma GCC diagnostic push/pop fail with GCC diagnostic ignored "-Waggregate-return")
      
      	PR preprocessor/56824
      	* line-map.c (get_combined_adhoc_loc, linemap_get_expansion_line,
      	linemap_get_expansion_filename, linemap_location_in_system_header_p,
      	linemap_location_from_macro_expansion_p,
      	linemap_macro_loc_to_spelling_point, linemap_macro_loc_to_def_point,
      	linemap_macro_loc_to_exp_point, linemap_expand_location): Fix
      	formatting.
      	(linemap_compare_locations): Look through adhoc locations for both
      	l0 and l1.
      
      	* gcc.dg/pr56824.c: New test.
      
      From-SVN: r207606
      Jakub Jelinek committed
  18. 02 Feb, 2014 1 commit
  19. 23 Jan, 2014 1 commit
    • PR preprocessor/58580 - preprocessor goes OOM with warning for zero literals · 7ecc3eb9
      In this problem report, the compiler is fed a (bogus) translation unit
      in which some literals contain bytes whose value is zero.  The
      preprocessor detects that and proceeds to emit diagnostics for that
      king of bogus literals.  But then when the diagnostics machinery
      re-reads the input file again to display the bogus literals with a
      caret, it attempts to calculate the length of each of the lines it got
      using fgets.  The line length calculation is done using strlen.  But
      that doesn't work well when the content of the line can have several
      zero bytes.  The result is that the read_line never sees the end of
      the line because strlen repeatedly reports that the line ends before
      the end-of-line character; so read_line thinks its buffer for reading
      the line is too small; it thus increases the buffer, leading to a huge
      memory consumption and disaster.
      
      Here is what this patch does.
      
      location_get_source_line is modified to return the length of a source
      line that can now contain bytes with zero value.
      diagnostic_show_locus() is then modified to consider that a line can
      have characters of value zero, and so just shows a white space when
      instructed to display one of these characters.
      
      Additionally location_get_source_line is modified to avoid re-reading
      each and every line from the beginning of the file until it reaches
      the line number N that it is instructed to get; this was leading to
      annoying quadratic behaviour when reading adjacent lines near the end
      of (big) files.  So a cache is now associated to the file opened in
      text mode.  When the content of the file is read, that content is
      stashed in the file cache.  That file cache is searched for line
      delimiters.  A number of line positions are saved in the cache and a
      number of file caches are kept in memory.  That way when
      location_get_source_line is asked to read line N + 1, it just has to
      start reading from line N that it has already read.
      
      libcpp/ChangeLog:
      
      	* include/line-map.h (linemap_get_file_highest_location): Declare
      	new function.
      	* line-map.c (linemap_get_file_highest_location): Define it.
      
      gcc/ChangeLog:
      
      	* input.h (location_get_source_line): Take an additional line_size
      	parameter.
      	(void diagnostics_file_cache_fini): Declare new function.
      	* input.c (struct fcache): New type.
      	(fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
      	New static constants.
      	(diagnostic_file_cache_init, total_lines_num)
      	(lookup_file_in_cache_tab, evicted_cache_tab_entry)
      	(add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
      	(needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
      	(get_next_line, read_next_line, goto_next_line, read_line_num):
      	New static function definitions.
      	(diagnostic_file_cache_fini): New function.
      	(location_get_source_line): Take an additional output line_len
      	parameter.  Re-write using lookup_or_add_file_to_cache_tab and
      	read_line_num.
      	* diagnostic.c (diagnostic_finish): Call
      	diagnostic_file_cache_fini.
      	(adjust_line): Take an additional input parameter for the length
      	of the line, rather than calculating it with strlen.
      	(diagnostic_show_locus): Adjust the use of
      	location_get_source_line and adjust_line with respect to their new
      	signature.  While displaying a line now, do not stop at the first
      	null byte.  Rather, display the zero byte as a space and keep
      	going until we reach the size of the line.
      	* Makefile.in: Add vec.o to OBJS-libcommon
      
      gcc/testsuite/ChangeLog:
      
      	* c-c++-common/cpp/warning-zero-in-literals-1.c: New test file.
      
      Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
      
      From-SVN: r206957
      Dodji Seketeli committed
  20. 02 Jan, 2014 1 commit
  21. 18 Dec, 2013 1 commit
  22. 10 Dec, 2013 1 commit
  23. 18 Nov, 2013 1 commit
  24. 16 Nov, 2013 1 commit
    • ucnid-2011-1.c: New test. · d3f4ff8b
      gcc/testsuite:
      	* c-c++-common/cpp/ucnid-2011-1.c: New test.
      
      libcpp:
      	* ucnid.tab: Add C11 and C11NOSTART data.
      	* makeucnid.c (digit): Rename enum value to N99.
      	(C11, N11, all_languages): New enum values.
      	(NUM_CODE_POINTS, MAX_CODE_POINT): New macros.
      	(flags, decomp, combining_value): Use NUM_CODE_POINTS as array
      	size.
      	(decomp): Use unsigned int as element type.
      	(all_decomp): New array.
      	(read_ucnid): Handle C11 and C11NOSTART.  Use MAX_CODE_POINT.
      	(read_table): Use MAX_CODE_POINT.  Store all decompositions in
      	all_decomp.
      	(read_derived): Use MAX_CODE_POINT.
      	(write_table): Use NUM_CODE_POINTS.  Print N99, C11 and N11
      	flags.  Print whole array variable declaration rather than just
      	array contents.
      	(char_id_valid, write_context_switch): New functions.
      	(main): Call write_context_switch.
      	* ucnid.h: Regenerate.
      	* include/cpplib.h (struct cpp_options): Add c11_identifiers.
      	* init.c (struct lang_flags): Add c11_identifiers.
      	(cpp_set_lang): Set c11_identifiers option from selected language.
      	* internal.h (struct normalize_state): Document "previous" as
      	previous starter character.
      	(NORMALIZE_STATE_UPDATE_IDNUM): Take character as argument.
      	* charset.c (DIG): Rename enum value to N99.
      	(C11, N11): New enum values.
      	(struct ucnrange): Give name to struct.  Use short for flags and
      	unsigned int for end of range.  Include ucnid.h for whole variable
      	declaration.
      	(ucn_valid_in_identifier): Allow for characters up to 0x10FFFF.
      	Allow for C11 in determining valid characters and valid start
      	characters.  Use check_nfc for non-Hangul context-dependent
      	checks.  Only store starter characters in nst->previous.
      	(_cpp_valid_ucn): Pass new argument to
      	NORMALIZE_STATE_UPDATE_IDNUM.
      	* lex.c (lex_identifier): Pass new argument to
      	NORMALIZE_STATE_UPDATE_IDNUM.  Call NORMALIZE_STATE_UPDATE_IDNUM
      	after initial non-UCN part of identifier.
      	(lex_number): Pass new argument to NORMALIZE_STATE_UPDATE_IDNUM.
      
      From-SVN: r204886
      Joseph Myers committed
  25. 15 Nov, 2013 1 commit
    • ucnid-9.c: New test. · 54848ff8
      gcc/testsuite:
      	* gcc.dg/cpp/ucnid-9.c: New test.
      
      libcpp:
      	* ucnid.tab: Mark C99 digits as [C99DIG].
      	* makeucnid.c (read_ucnid): Handle [C99DIG].
      	(read_table): Don't check for digit characters.
      	* ucnid.h: Regenerate.
      
      From-SVN: r204835
      Joseph Myers committed
  26. 06 Nov, 2013 1 commit
    • macro.c (_cpp_builtin_macro_text): Correct wording of two warnings. · 5157b91e
      libcpp/
      2013-11-06  Tobias Burnus  <burnus@net-b.de>
      
              * macro.c (_cpp_builtin_macro_text): Correct
              wording of two warnings.
      
      gcc/c-family/
      2013-11-06  Tobias Burnus  <burnus@net-b.de>
      
              * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
      
      gcc/
      2013-11-06  Tobias Burnus  <burnus@net-b.de>
      
              * doc/invoke.texi (Wdate-time): Fix typo.
      
      gcc/testsuite/
      2013-11-06  Tobias Burnus  <burnus@net-b.de>
      
              * g++.dg/warn/wdate-time.C: Update dg-error pattern.
              * gcc.dg/wdate-time.c: Ditto.
              * gfortran.dg/wdate-time.F90: Ditto.
      
      From-SVN: r204486
      Tobias Burnus committed
  27. 05 Nov, 2013 1 commit
    • c.opt (-Wdate-time): New option · e8ff5196
      2013-11-05  Tobias Burnus  <burnus@net-b.de>
      
      gcc/c-family/
              * c.opt (-Wdate-time): New option
              * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
      
      gcc/
              * doc/invoke.texi (-Wdate-time): Document.
      
      gcc/fortran
              * lang.opt (-Wdate-time): New option
              * cpp.c (gfc_cpp_option_data): Add warn_date_time.
              (gfc_cpp_init_options, gfc_cpp_handle_option,
              gfc_cpp_post_options): Handle it and pass on to libcpp.
      
      gcc/testsuite/
              * g++.dg/warn/wdate-time.C: New.
              * gcc.dg/wdate-time.c: New.
              * gfortran.dg/wdate-time.F90: New.
      
      libcpp/
              * include/cpplib.h (CPP_W_DATE_TIME): Added.
              (cpp_options): Add warn_date_time.
              * init.c (cpp_create_reader): Init it.
              * macro.c (_cpp_builtin_macro_text): Warn when
              __DATE__/__TIME__/__TIMESTAMP__ is used.
      
      From-SVN: r204420
      Tobias Burnus committed
  28. 01 Nov, 2013 1 commit
  29. 31 Oct, 2013 1 commit
    • Implement C++14 digit separators. · 7057e645
      libcpp:
      
      2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
              Implement C++14 digit separators.
      	* include/cpplib.h (cpp_options): Add digit_separators flag.
      	* internal.h (DIGIT_SEP(c)): New macro.
      	* expr.c (cpp_classify_number): Check improper placement of digit sep;
      	(cpp_interpret_integer): Skip over digit separators.
      	* init.c (lang_flags): Add digit_separators flag; (lang_defaults): Add
      	digit separator flags per language; (cpp_set_lang): Set
      	digit_separators
      	* lex.c (lex_number): Add digits separator to allowable characters for
      	C++14.
      
      
      gcc/c-family:
      
      2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
              Implement C++14 digit separators.
      	* c-lex.c (interpret_float): Remove digit separators from scratch string
      	before building real literal.
      
      
      gcc/testsuite:
      
      2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
              Implement C++14 digit separators.
      	* g++.dg/cpp1y/digit-sep.C: New.
      	* g++.dg/cpp1y/digit-sep-neg.C: New.
      	* g++.dg/cpp1y/digit-sep-cxx11-neg.C: New.
      
      
      libstdc++-v3:
      
      2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
              Implement C++14 digit separators.
      	* include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'>
      	to struct _Digit<_Base, '\''>.
      
      From-SVN: r204260
      Edward Smith-Rowland committed
  30. 15 Oct, 2013 1 commit
    • Add --enable-host-shared configuration option · 459260ec
      /
      	* configure.ac: Add --enable-host-shared
      	* configure: Regenerate.
      
      gcc/
      	* Makefile.in (PICFLAG): New.
      	(enable_host_shared): New.
      	(INTERNAL_CFLAGS): Use PICFLAG.
      	(LIBIBERTY): Use pic build of libiberty.a if configured with
      	--enable-host-shared.
      	* configure.ac: Add --enable-host-shared, setting up new
      	PICFLAG variable.
      	* configure: Regenerate.
      	* doc/install.texi (--enable-shared): Add note contrasting it
      	with...
      	(--enable-host-shared): New option.
      
      libbacktrace/
      	* configure.ac: Add --enable-host-shared, setting up
      	pre-existing PIC_FLAG variable within Makefile.am et al.
      	* configure: Regenerate.
      
      libcpp/
      	* Makefile.in (PICFLAG): New.
      	(ALL_CFLAGS): Add PICFLAG.
      	(ALL_CXXFLAGS): Likewise.
      	* configure.ac: Add --enable-host-shared, setting up new
      	PICFLAG variable.
      	* configure: Regenerate.
      
      libdecnumber/
      	* Makefile.in (PICFLAG): New.
      	(ALL_CFLAGS): Add PICFLAG.
      	* configure.ac: Add --enable-host-shared, setting up new
      	PICFLAG variable.
      	* configure: Regenerate.
      
      libiberty/
      	* configure.ac: If --enable-host-shared, use -fPIC.
      	* configure: Regenerate.
      
      zlib/
      	* configure.ac: Add --enable-host-shared, setting up new
      	PICFLAG variable.
      	* Makefile.am: Add PICFLAG to libz_a_CFLAGS.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      
      From-SVN: r203632
      David Malcolm committed
  31. 03 Oct, 2013 1 commit
  32. 07 Aug, 2013 1 commit
  33. 21 Jul, 2013 1 commit
    • re PR preprocessor/57620 (Phantom terminator confuses raw string literal parsing.) · 8cf88735
      	PR preprocessor/57620
      	* lex.c (lex_raw_string): Undo phase1 and phase2 transformations
      	between R" and final " rather than only in between R"del( and )del".
      
      	* c-c++-common/raw-string-2.c (s12, u12, U12, L12): Remove.
      	(main): Don't test {s,u,U,L}12.
      	* c-c++-common/raw-string-13.c: New test.
      	* c-c++-common/raw-string-14.c: New test.
      	* c-c++-common/raw-string-15.c: New test.
      	* c-c++-common/raw-string-16.c: New test.
      
      From-SVN: r201091
      Jakub Jelinek committed
  34. 10 Jul, 2013 3 commits
  35. 29 Jun, 2013 1 commit
    • lex.c (lex_raw_string(), [...]): Constrain suffixes treated as concatenated… · c865f923
      lex.c (lex_raw_string(), [...]): Constrain suffixes treated as concatenated literal and macro to just the...
      
      libcpp:
      
      2013-06-28  Ed Smith-Rowland  <3dw4rd@verizon.net>
      
      	* lex.c (lex_raw_string(), lex_string()): Constrain suffixes treated
      	as concatenated literal and macro to just the patterns found in
      	inttypes.h; (is_macro()): New.
      
      
      gcc/cp:
      
      2013-06-28  Ed Smith-Rowland  <3dw4rd@verizon.net>
      
      	* cp-tree.h (UDLIT_OP_ANSI_PREFIX): Remove space.
      	* parser.c (cp_parser_operator()): Parse user-defined string
      	literal as literal operator.
      
      
      gcc/testsuite:
      
      2013-06-28  Ed Smith-Rowland  <3dw4rd@verizon.net>
      
      	* g++.dg/cpp0x/udlit-nospace-neg.C: Adjust.
      	* g++.dg/cpp1y/udlit-enc-prefix-neg.C: New.
      	* g++.dg/cpp1y/udlit-userdef-string.C: New.
      	* g++.dg/cpp1y/complex_literals.h: New.
      
      From-SVN: r200563
      Ed Smith-Rowland committed
  36. 24 Jun, 2013 1 commit