diff mbox

[committed] Workaround buggy clang++ parser

Message ID 20170620071325.GC2123@tucnak
State New
Headers show

Commit Message

Jakub Jelinek June 20, 2017, 7:13 a.m. UTC
Hi!

Apparently clang++ 3.2 and later (including current trunk, according to
godbolt https://godbolt.org/g/ekDs6H ) has a bug in its C++ parser that
it fails to properly parse the recent ubsan.h.

I've committed a workaround for that as obvious, after
bootstrapping/regtesting it on x86_64-linux and i686-linux.

2017-06-20  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/81125
	* ubsan.h (ubsan_encode_value): Workaround buggy clang++ parser
	by removing enum keyword.
	(ubsan_type_descriptor): Likewise.  Formatting fix.


	Jakub
diff mbox

Patch

--- gcc/ubsan.h.jj	2017-06-19 22:56:36.000000000 +0200
+++ gcc/ubsan.h	2017-06-20 00:31:16.714978973 +0200
@@ -55,8 +55,9 @@  extern bool ubsan_expand_objsize_ifn (gi
 extern bool ubsan_expand_vptr_ifn (gimple_stmt_iterator *);
 extern bool ubsan_instrument_unreachable (gimple_stmt_iterator *);
 extern tree ubsan_create_data (const char *, int, const location_t *, ...);
-extern tree ubsan_type_descriptor (tree, enum ubsan_print_style = UBSAN_PRINT_NORMAL);
-extern tree ubsan_encode_value (tree, enum ubsan_encode_value_phase
+extern tree ubsan_type_descriptor (tree, ubsan_print_style
+					 = UBSAN_PRINT_NORMAL);
+extern tree ubsan_encode_value (tree, ubsan_encode_value_phase
 				      = UBSAN_ENCODE_VALUE_GENERIC);
 extern bool is_ubsan_builtin_p (tree);
 extern tree ubsan_build_overflow_builtin (tree_code, location_t, tree, tree,