From 51fce2d3968d485cc72fb22740e82d0c31ce9ae9 Mon Sep 17 00:00:00 2001
From: Dodji Seketeli <dodji@redhat.com>
Date: Mon, 30 Apr 2012 11:43:43 +0000
Subject: [PATCH] Switch -ftrack-macro-expansion=2 on by default.

This switches the compiler to -ftrack-macro-expansion=2 by default.

Tested and bootstrapped on x86_64-unknown-linux-gnu against trunk.

libcpp/

	* init.c (cpp_create_reader): Switch -ftrack-macro-expansion=2 on
	by default.  Add comments.

gcc/docs/

	* cppopts.texi: Adjust for enabling -ftrack-macro-expansion=2 by
	default.

From-SVN: r186977
---
 gcc/ChangeLog        | 4 ++++
 gcc/doc/cppopts.texi | 2 ++
 libcpp/ChangeLog     | 4 ++++
 libcpp/init.c        | 6 ++++++
 4 files changed, 16 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c47ba21dde58..43d3f5daa042 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
 
+	Switch -ftrack-macro-expansion=2 on by default.
+	* docs/cppopts.texi: Adjust for enabling -ftrack-macro-expansion=2
+	by default.
+
 	Fix va_start related location
 	* builtins.c (fold_builtin_next_arg): Unwinds to the first
 	location in real source code.
diff --git a/gcc/doc/cppopts.texi b/gcc/doc/cppopts.texi
index 205d87088335..27b10952976e 100644
--- a/gcc/doc/cppopts.texi
+++ b/gcc/doc/cppopts.texi
@@ -617,6 +617,8 @@ tokens locations completely. This value is the most memory hungry.
 When this option is given no argument, the default parameter value is
 @samp{2}.
 
+Note that -ftrack-macro-expansion=2 is activated by default.
+
 @item -fexec-charset=@var{charset}
 @opindex fexec-charset
 @cindex character set, execution
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 2c05214d4f7a..271148cc07d0 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,5 +1,9 @@
 2012-04-30  Dodji Seketeli  <dodji@redhat.com>
 
+	Switch -ftrack-macro-expansion=2 on by default.
+	* init.c (cpp_create_reader): Switch -ftrack-macro-expansion=2 on
+	by default.  Add comments.
+
 	Strip "<built-in>" loc from displayed expansion context
 	* include/line-map.h (linemap_unwind_toward_expansion): Fix typo
 	in comment.
diff --git a/libcpp/init.c b/libcpp/init.c
index 3262184c9c5e..7752fea17aca 100644
--- a/libcpp/init.c
+++ b/libcpp/init.c
@@ -174,6 +174,12 @@ cpp_create_reader (enum c_lang lang, hash_table *table,
   CPP_OPTION (pfile, warn_dollars) = 1;
   CPP_OPTION (pfile, warn_variadic_macros) = 1;
   CPP_OPTION (pfile, warn_builtin_macro_redefined) = 1;
+  /* By default, track locations of tokens resulting from macro
+     expansion.  The '2' means, track the locations with the highest
+     accuracy.  Read the comments for struct
+     cpp_options::track_macro_expansion to learn about the other
+     values.  */
+  CPP_OPTION (pfile, track_macro_expansion) = 2;
   CPP_OPTION (pfile, warn_normalize) = normalized_C;
   CPP_OPTION (pfile, warn_literal_suffix) = 1;
 
-- 
GitLab