summaryrefslogtreecommitdiffstats
path: root/contrib/gcclibs/libcpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcclibs/libcpp')
-rw-r--r--contrib/gcclibs/libcpp/ChangeLog.apple9
-rw-r--r--contrib/gcclibs/libcpp/charset.c1
-rw-r--r--contrib/gcclibs/libcpp/include/cpplib.h5
-rw-r--r--contrib/gcclibs/libcpp/init.c4
-rw-r--r--contrib/gcclibs/libcpp/lex.c8
5 files changed, 27 insertions, 0 deletions
diff --git a/contrib/gcclibs/libcpp/ChangeLog.apple b/contrib/gcclibs/libcpp/ChangeLog.apple
new file mode 100644
index 0000000..c38bfe2
--- /dev/null
+++ b/contrib/gcclibs/libcpp/ChangeLog.apple
@@ -0,0 +1,9 @@
+2008-08-04 Bill Wendling <wendling@apple.com>
+
+ Radar 6121572
+ * charset.c (_cpp_convert_input): Don't read to.text[-1].
+
+2005-02-17 Devang Patel <dpatel@apple.com>
+
+ Radar 3958387
+ * libcpp/lex.c (_cpp_get_fresh_line): Check warn_newline_at_eof.
diff --git a/contrib/gcclibs/libcpp/charset.c b/contrib/gcclibs/libcpp/charset.c
index 6361f8c..009106b 100644
--- a/contrib/gcclibs/libcpp/charset.c
+++ b/contrib/gcclibs/libcpp/charset.c
@@ -1628,6 +1628,7 @@ _cpp_convert_input (cpp_reader *pfile, const char *input_charset,
terminate with another \r, not an \n, so that we do not mistake
the \r\n sequence for a single DOS line ending and erroneously
issue the "No newline at end of file" diagnostic. */
+ /* APPLE LOCAL don't access to.text[-1] radar 6121572 */
if (to.len > 0 && to.text[to.len - 1] == '\r')
to.text[to.len] = '\r';
else
diff --git a/contrib/gcclibs/libcpp/include/cpplib.h b/contrib/gcclibs/libcpp/include/cpplib.h
index 5acef41..ac596d6 100644
--- a/contrib/gcclibs/libcpp/include/cpplib.h
+++ b/contrib/gcclibs/libcpp/include/cpplib.h
@@ -320,6 +320,11 @@ struct cpp_options
/* Nonzero means warn if there are any trigraphs. */
unsigned char warn_trigraphs;
+ /* APPLE LOCAL begin -Wnewline-eof 2001-08-23 --sts */
+ /* Nonzero means warn if no newline at end of file. */
+ unsigned char warn_newline_at_eof;
+ /* APPLE LOCAL end -Wnewline-eof 2001-08-23 --sts */
+
/* Nonzero means warn about multicharacter charconsts. */
unsigned char warn_multichar;
diff --git a/contrib/gcclibs/libcpp/init.c b/contrib/gcclibs/libcpp/init.c
index 248d84f..9620676 100644
--- a/contrib/gcclibs/libcpp/init.c
+++ b/contrib/gcclibs/libcpp/init.c
@@ -146,6 +146,10 @@ cpp_create_reader (enum c_lang lang, hash_table *table,
pfile = XCNEW (cpp_reader);
cpp_set_lang (pfile, lang);
+ /* APPLE LOCAL begin -Wnewline-eof 2001-08-23 --sts */
+ /* Suppress warnings about missing newlines at ends of files. */
+ CPP_OPTION (pfile, warn_newline_at_eof) = 0;
+ /* APPLE LOCAL end -Wnewline-eof 2001-08-23 --sts */
CPP_OPTION (pfile, warn_multichar) = 1;
CPP_OPTION (pfile, discard_comments) = 1;
CPP_OPTION (pfile, discard_comments_in_macro_exp) = 1;
diff --git a/contrib/gcclibs/libcpp/lex.c b/contrib/gcclibs/libcpp/lex.c
index ef59f900..1a3cad7 100644
--- a/contrib/gcclibs/libcpp/lex.c
+++ b/contrib/gcclibs/libcpp/lex.c
@@ -854,6 +854,14 @@ _cpp_get_fresh_line (cpp_reader *pfile)
{
/* Clip to buffer size. */
buffer->next_line = buffer->rlimit;
+ /* APPLE LOCAL begin suppress no newline warning. */
+ if ( CPP_OPTION (pfile, warn_newline_at_eof))
+ {
+ cpp_error_with_line (pfile, CPP_DL_PEDWARN, pfile->line_table->highest_line,
+ CPP_BUF_COLUMN (buffer, buffer->cur),
+ "no newline at end of file");
+ }
+ /* APPLE LOCAL end suppress no newline warning. */
}
return_at_eof = buffer->return_at_eof;
OpenPOWER on IntegriCloud