This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 4.8 libcpp Issue...Possibly Related To "Disable libcpp with GCC 4.8"
- From: Cyd Haselton <chaselton at gmail dot com>
- To: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Fri, 25 Oct 2013 13:35:27 -0500
- Subject: Re: GCC 4.8 libcpp Issue...Possibly Related To "Disable libcpp with GCC 4.8"
- Authentication-results: sourceware.org; auth=none
- References: <CAHu5Prba_7MGZZUH-VrgRSuV2e=0M=1OK38NCqifoK_R1TRd0Q at mail dot gmail dot com>
ADDENDUM: Near as I can tell from trying to parse what's going on,
the complaint is with this bit passed to _cpp_convert_input
&file->st.st_size
In internal.h, the argument of this function is defined as off_t *
extern unsigned char *_cpp_convert_input (cpp_reader *, const
char *, unsigned char *, size_t, size_t, const unsigned char **, off_t
*);
I'm guessing this should just work if Android headers are correct.
Either that or...like if statements, else statements need braces as
well and they were left out in read_file_guts...
On Fri, Oct 25, 2013 at 12:34 PM, Cyd Haselton <chaselton@gmail.com> wrote:
> Thanks to Ian's suggestion, I was able to push past the conversion
> error with macro.c. Unfortunately two more problems have surfaced.
>
> The first happened after "fixing" the macro.c issue; the build
> continued but then threw a number of undefined errors for functions
> contained in libcpp when trying to build part of the cc1 binary. I
> don't have the exact functions; I'll post them if they show up again.
>
> Since I'd been making some changes to internal.h and files.c in the
> interim source directory, I ran make distclean in the build directory,
> copied the original files over to the interim source, and re-ran
> configure.
>
> The second error appears after the above; make fails after the following error
>
> ../../gcc-4.8/libcpp/files.c: In fuction 'bool
> read_file_guts(cpp_reader*, _cpp_file*)':
> ../../gcc-4.8/lilbcpp/files/c:723:27: error: cannot convert 'long
> long int*' to 'off_t* {aka long int*}' for argument '7' to 'unsigned
> char* _cpp_convert_input(cpp_reader*, const char*, unsigned char*,
> size_t, size_t, const unsigned char**, off_t*)'
>
> I've done some research on this error while trying to resolve this;
> for Android, off_t is always 32bits and there is an off64_t, but I
> don't know if the error I'm getting above is because of this fact or
> something related to the problem I was having with macro.c.
>
> Any help is appreciated.