aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2015-05-13 10:24:30 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2015-05-13 10:24:30 +0000
commit60c1209564a4d0011da013f189c40af9481b8a43 (patch)
tree7997cc36377ce49f4bd716ec5ebc9904d6b53c72 /libcpp
parentfcd424cecbe8874404fc92520954ec806e7886fc (diff)
downloadgcc-60c1209564a4d0011da013f189c40af9481b8a43.zip
gcc-60c1209564a4d0011da013f189c40af9481b8a43.tar.gz
gcc-60c1209564a4d0011da013f189c40af9481b8a43.tar.bz2
line-map.h: move linemap_assert and friends higher up within the file
libcpp/ChangeLog: * include/line-map.h (linemap_assert): Move up within the file to before all of the map accessor macros. (linemap_assert_fails): Likewise. (linemap_check_ordinary): Likewise. (linemap_macro_expansion_map_p): Likewise. From-SVN: r223121
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/ChangeLog8
-rw-r--r--libcpp/include/line-map.h71
2 files changed, 44 insertions, 35 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index c0f04ac..848b3c4 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,11 @@
+2015-05-13 David Malcolm <dmalcolm@redhat.com>
+
+ * include/line-map.h (linemap_assert): Move up within the file to
+ before all of the map accessor macros.
+ (linemap_assert_fails): Likewise.
+ (linemap_check_ordinary): Likewise.
+ (linemap_macro_expansion_map_p): Likewise.
+
2015-05-12 David Malcolm <dmalcolm@redhat.com>
* directives.c (do_line): Set seen_line_directive on line_table.
diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h
index ddeaf0c..51dc09d 100644
--- a/libcpp/include/line-map.h
+++ b/libcpp/include/line-map.h
@@ -279,6 +279,42 @@ struct GTY(()) line_map {
} GTY((desc ("%1.reason == LC_ENTER_MACRO"))) d;
};
+#if defined ENABLE_CHECKING && (GCC_VERSION >= 2007)
+
+/* Assertion macro to be used in line-map code. */
+#define linemap_assert(EXPR) \
+ do { \
+ if (! (EXPR)) \
+ abort (); \
+ } while (0)
+
+/* Assert that becomes a conditional expression when checking is disabled at
+ compilation time. Use this for conditions that should not happen but if
+ they happen, it is better to handle them gracefully rather than crash
+ randomly later.
+ Usage:
+
+ if (linemap_assert_fails(EXPR)) handle_error(); */
+#define linemap_assert_fails(EXPR) __extension__ \
+ ({linemap_assert (EXPR); false;})
+
+/* Assert that MAP encodes locations of tokens that are not part of
+ the replacement-list of a macro expansion. */
+#define linemap_check_ordinary(LINE_MAP) __extension__ \
+ ({linemap_assert (!linemap_macro_expansion_map_p (LINE_MAP)); \
+ (LINE_MAP);})
+#else
+/* Include EXPR, so that unused variable warnings do not occur. */
+#define linemap_assert(EXPR) ((void)(0 && (EXPR)))
+#define linemap_assert_fails(EXPR) (! (EXPR))
+#define linemap_check_ordinary(LINE_MAP) (LINE_MAP)
+#endif
+
+/* Return TRUE if MAP encodes locations coming from a macro
+ replacement-list at macro expansion point. */
+bool
+linemap_macro_expansion_map_p (const struct line_map *);
+
#define MAP_START_LOCATION(MAP) (MAP)->start_location
#define ORDINARY_MAP_FILE_NAME(MAP) \
@@ -571,10 +607,6 @@ extern const struct line_map *linemap_lookup
macro expansion, FALSE otherwise. */
bool linemap_tracks_macro_expansion_locs_p (struct line_maps *);
-/* Return TRUE if MAP encodes locations coming from a macro
- replacement-list at macro expansion point. */
-bool linemap_macro_expansion_map_p (const struct line_map *);
-
/* Return the name of the macro associated to MACRO_MAP. */
const char* linemap_map_get_macro_name (const struct line_map*);
@@ -641,37 +673,6 @@ bool linemap_location_from_macro_expansion_p (const struct line_maps *,
#define MAIN_FILE_P(MAP) \
((linemap_check_ordinary (MAP)->d.ordinary.included_from < 0))
-#if defined ENABLE_CHECKING && (GCC_VERSION >= 2007)
-
-/* Assertion macro to be used in line-map code. */
-#define linemap_assert(EXPR) \
- do { \
- if (! (EXPR)) \
- abort (); \
- } while (0)
-
-/* Assert that becomes a conditional expression when checking is disabled at
- compilation time. Use this for conditions that should not happen but if
- they happen, it is better to handle them gracefully rather than crash
- randomly later.
- Usage:
-
- if (linemap_assert_fails(EXPR)) handle_error(); */
-#define linemap_assert_fails(EXPR) __extension__ \
- ({linemap_assert (EXPR); false;})
-
-/* Assert that MAP encodes locations of tokens that are not part of
- the replacement-list of a macro expansion. */
-#define linemap_check_ordinary(LINE_MAP) __extension__ \
- ({linemap_assert (!linemap_macro_expansion_map_p (LINE_MAP)); \
- (LINE_MAP);})
-#else
-/* Include EXPR, so that unused variable warnings do not occur. */
-#define linemap_assert(EXPR) ((void)(0 && (EXPR)))
-#define linemap_assert_fails(EXPR) (! (EXPR))
-#define linemap_check_ordinary(LINE_MAP) (LINE_MAP)
-#endif
-
/* Encode and return a source_location from a column number. The
source line considered is the last source line used to call
linemap_line_start, i.e, the last source line which a location was