<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ppe42-gcc/libcpp/ChangeLog, branch gcc-4_9_2-ppe42</title>
<subtitle>GCC for the PPE42</subtitle>
<id>https://git.raptorcs.com/git/ppe42-gcc/atom?h=gcc-4_9_2-ppe42</id>
<link rel='self' href='https://git.raptorcs.com/git/ppe42-gcc/atom?h=gcc-4_9_2-ppe42'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/'/>
<updated>2014-10-30T08:25:26+00:00</updated>
<entry>
<title>Mark ChangeLog</title>
<updated>2014-10-30T08:25:26+00:00</updated>
<author>
<name>gccadmin</name>
<email>gccadmin@138bc75d-0d04-0410-961f-82ee72b054a4</email>
</author>
<published>2014-10-30T08:25:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/commit/?id=260ba992f13ea90603a43be28337f3657f1dc77b'/>
<id>urn:sha1:260ba992f13ea90603a43be28337f3657f1dc77b</id>
<content type='text'>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@216882 138bc75d-0d04-0410-961f-82ee72b054a4
</content>
</entry>
<entry>
<title>2014-10-12  Bill Schmidt  &lt;wschmidt@linux.vnet.ibm.com&gt;</title>
<updated>2014-10-13T01:40:11+00:00</updated>
<author>
<name>wschmidt</name>
<email>wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4</email>
</author>
<published>2014-10-13T01:40:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/commit/?id=26036fbf93f291e4b743e8bce605bd82c7d6fdc3'/>
<id>urn:sha1:26036fbf93f291e4b743e8bce605bd82c7d6fdc3</id>
<content type='text'>
	Backport from mainline r215873
	2014-10-03  Bill Schmidt  &lt;wschmidt@linux.vnet.ibm.com&gt;

	* lex.c (search_line_fast): Add new version to be used for Power8
	and later targets when Altivec is enabled.  Restrict the existing
	Altivec version to big-endian systems so that lvsr is not used on
	little endian, where it is deprecated.  Remove LE-specific code
	from the now-BE-only version.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@216132 138bc75d-0d04-0410-961f-82ee72b054a4
</content>
</entry>
<entry>
<title>libcpp/</title>
<updated>2014-10-08T11:05:43+00:00</updated>
<author>
<name>emsr</name>
<email>emsr@138bc75d-0d04-0410-961f-82ee72b054a4</email>
</author>
<published>2014-10-08T11:05:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/commit/?id=3064627f8924d72a3e5f969d50d983ae9adb83a0'/>
<id>urn:sha1:3064627f8924d72a3e5f969d50d983ae9adb83a0</id>
<content type='text'>
2014-10-08  Edward Smith-Rowland  &lt;3dw4rd@verizon.net&gt;

	Implement SD-6: SG10 Feature Test Recommendations
	* internal.h (lexer_state, spec_nodes): Add in__has_include__.
	* directives.c: Support __has_include__ builtin.
	* expr.c (parse_has_include): New function to parse __has_include__
	builtin; (eval_token()): Use it.
	* files.c (_cpp_has_header()): New funtion to look for header;
	(open_file_failed()): Not an error to not find a header file for
	__has_include__.
	* identifiers.c (_cpp_init_hashtable()): Add entry for __has_include__.
	* pch.c (cpp_read_state): Lookup __has_include__.
	* traditional.c (enum ls, _cpp_scan_out_logical_line()): Walk through
	__has_include__ statements.


gcc/c-family/

2014-10-08  Edward Smith-Rowland  &lt;3dw4rd@verizon.net&gt;

	Implement SD-6: SG10 Feature Test Recommendations
	* c-cppbuiltin.c (c_cpp_builtins()): Define language feature
	macros and the __has_header macro.


libstdc++-v3/

2014-10-08  Edward Smith-Rowland  &lt;3dw4rd@verizon.net&gt;

	Implement SD-6: SG10 Feature Test Recommendations
	* include/bits/basic_string.h: Add __cpp_lib feature test macro.
	* include/bits/stl_algobase.h: Ditto.
	* include/bits/stl_function.h: Ditto.
	* include/bits/unique_ptr.h: Ditto.
	* include/std/chrono: Ditto.
	* include/std/complex: Ditto.
	* include/std/iomanip: Ditto.
	* include/std/shared_mutex: Ditto.
	* include/std/tuple: Ditto.
	* include/std/type_traits: Ditto.
	* include/std/utility: Ditto.
	* testsuite/experimental/feat-cxx14.cc: New.
	* testsuite/experimental/feat-lib-fund.cc: New.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
	* testsuite/20_util/duration/literals/range.cc: Adjust.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Adjust.


gcc/testsuite/

2014-10-08  Edward Smith-Rowland  &lt;3dw4rd@verizon.net&gt;

	Implement SD-6: SG10 Feature Test Recommendations
	* g++.dg/cpp1y/feat-cxx11-neg.C: New.
	* g++.dg/cpp1y/feat-cxx11.C: New.
	* g++.dg/cpp1y/feat-cxx14.C: New.
	* g++.dg/cpp1y/feat-cxx98.C: New.
	* g++.dg/cpp1y/feat-cxx98-neg.C: New.
	* g++.dg/cpp1y/phoobhar.h: New.
	* g++.dg/cpp1y/testinc/phoobhar.h: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@215998 138bc75d-0d04-0410-961f-82ee72b054a4
</content>
</entry>
<entry>
<title>Mark ChangeLog</title>
<updated>2014-07-16T10:02:23+00:00</updated>
<author>
<name>gccadmin</name>
<email>gccadmin@138bc75d-0d04-0410-961f-82ee72b054a4</email>
</author>
<published>2014-07-16T10:02:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/commit/?id=b87430c1f94fb7e5423d266f6f9d59fc41396ac1'/>
<id>urn:sha1:b87430c1f94fb7e5423d266f6f9d59fc41396ac1</id>
<content type='text'>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@212608 138bc75d-0d04-0410-961f-82ee72b054a4
</content>
</entry>
<entry>
<title>libcpp/</title>
<updated>2014-07-09T15:10:43+00:00</updated>
<author>
<name>emsr</name>
<email>emsr@138bc75d-0d04-0410-961f-82ee72b054a4</email>
</author>
<published>2014-07-09T15:10:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/commit/?id=9ce32611d45fd3ed98307b2454c286b8a8a36b26'/>
<id>urn:sha1:9ce32611d45fd3ed98307b2454c286b8a8a36b26</id>
<content type='text'>
2014-07-09  Edward Smith-Rowland  &lt;3dw4rd@verizon.net&gt;

	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  &lt;3dw4rd@verizon.net&gt;

	PR c++/58155 - -Wliteral-suffix warns about tokens which are skipped
	g++.dg/cpp0x/pr58155.C: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@212393 138bc75d-0d04-0410-961f-82ee72b054a4
</content>
</entry>
<entry>
<title>Mark ChangeLog</title>
<updated>2014-04-22T09:41:53+00:00</updated>
<author>
<name>gccadmin</name>
<email>gccadmin@138bc75d-0d04-0410-961f-82ee72b054a4</email>
</author>
<published>2014-04-22T09:41:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/commit/?id=bd2dbc393faaa21f134bd35a0de8c1847339b099'/>
<id>urn:sha1:bd2dbc393faaa21f134bd35a0de8c1847339b099</id>
<content type='text'>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@209584 138bc75d-0d04-0410-961f-82ee72b054a4
</content>
</entry>
<entry>
<title>TILE-Gx big endian support.</title>
<updated>2014-02-24T15:08:00+00:00</updated>
<author>
<name>walt</name>
<email>walt@138bc75d-0d04-0410-961f-82ee72b054a4</email>
</author>
<published>2014-02-24T15:08:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/commit/?id=2da355155a16445440cdd9ffedd55dd9c5771eb8'/>
<id>urn:sha1:2da355155a16445440cdd9ffedd55dd9c5771eb8</id>
<content type='text'>
/:
	* 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&lt;n&gt;): Ditto.
	(insn_st&lt;n&gt;_add&lt;bitsuffix&gt;): Ditto.
	(insn_stnt&lt;n&gt;): Ditto.
	(insn_stnt&lt;n&gt;_add&lt;bitsuffix&gt;):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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208069 138bc75d-0d04-0410-961f-82ee72b054a4
</content>
</entry>
<entry>
<title>	PR preprocessor/58844</title>
<updated>2014-02-19T06:05:55+00:00</updated>
<author>
<name>jakub</name>
<email>jakub@138bc75d-0d04-0410-961f-82ee72b054a4</email>
</author>
<published>2014-02-19T06:05:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/commit/?id=9b48364fddff647aa4036a47ddceb623f63fce15'/>
<id>urn:sha1:9b48364fddff647aa4036a47ddceb623f63fce15</id>
<content type='text'>
	* macro.c (enter_macro_context): Only push
	macro_real_token_count (macro) tokens rather than
	macro-&gt;count tokens, regardless of
	CPP_OPTION (pfile, track-macro-expansion).

	* c-c++-common/cpp/pr58844-1.c: New test.
	* c-c++-common/cpp/pr58844-2.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207871 138bc75d-0d04-0410-961f-82ee72b054a4
</content>
</entry>
<entry>
<title>	PR preprocessor/56824</title>
<updated>2014-02-07T16:42:24+00:00</updated>
<author>
<name>jakub</name>
<email>jakub@138bc75d-0d04-0410-961f-82ee72b054a4</email>
</author>
<published>2014-02-07T16:42:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/commit/?id=6e5a79132dcd23182f1ce7a6f1960002956100aa'/>
<id>urn:sha1:6e5a79132dcd23182f1ce7a6f1960002956100aa</id>
<content type='text'>
	* 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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207606 138bc75d-0d04-0410-961f-82ee72b054a4
</content>
</entry>
<entry>
<title>PR preprocessor/58580 - preprocessor goes OOM with warning for zero literals</title>
<updated>2014-01-23T09:13:08+00:00</updated>
<author>
<name>dodji</name>
<email>dodji@138bc75d-0d04-0410-961f-82ee72b054a4</email>
</author>
<published>2014-01-23T09:13:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/ppe42-gcc/commit/?id=ffc2c526023e15824d3bb96e9d7a1a908fefe862'/>
<id>urn:sha1:ffc2c526023e15824d3bb96e9d7a1a908fefe862</id>
<content type='text'>
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 &lt;dodji@seketeli.org&gt;

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206957 138bc75d-0d04-0410-961f-82ee72b054a4
</content>
</entry>
</feed>
