r230497 - in /trunk/gcc: c/ChangeLog c/c-parser...

dmalcolm@gcc.gnu.org dmalcolm@gcc.gnu.org
Tue Nov 17 20:09:00 GMT 2015


Author: dmalcolm
Date: Tue Nov 17 20:09:56 2015
New Revision: 230497

URL: https://gcc.gnu.org/viewcvs?rev=230497&root=gcc&view=rev
Log:
Fix uninitialized src_range values for c_expr

gcc/c/ChangeLog:
	* c-parser.c (set_c_expr_source_range): Bulletproof both
	overloaded implementations against NULL expr->value.
	(c_parser_braced_init): Set src_range for "ret" to a sane pair of
	values.
	(c_parser_unary_expression): Likewise when handling addresses of
	labels.
	(c_parser_postfix_expression): Likewise for statement expressions,
	for __FUNCTION__, __PRETTY_FUNCTION_ and __func__ keywords, for
	__builtin_va_arg, and for __builtin_offset_of.
	(c_parser_postfix_expression_after_paren_type): Initialize expr's
	src_range using the range of the braced initializer.
	(c_parser_transaction_expression): Set src_range for "ret" to a
	sane pair of values.

gcc/testsuite/ChangeLog:
	* gcc.dg/plugin/diagnostic-test-expressions-1.c (vector): New
	macro.
	(test_braced_init): New function.
	(test_statement_expression): New function.
	(test_address_of_label): New function.
	(test_transaction_expressions): New function.
	(test_keywords): New function.
	(test_builtin_va_arg): New function.
	(test_builtin_offsetof): New function.
	* lib/multiline.exp (_build_multiline_regex): Escape braces.


Modified:
    trunk/gcc/c/ChangeLog
    trunk/gcc/c/c-parser.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/plugin/diagnostic-test-expressions-1.c
    trunk/gcc/testsuite/lib/multiline.exp



More information about the Gcc-cvs mailing list