On Thu, 9 May 2019 at 22:47, Sudhindra kulkarni <sudhindrakkulkarni...@gmail.com> wrote: > > Thanks Richard for the answer. > > I have another question regarding the include(-I) option. > > If we have a c file called cfile.c and a header file called header.h both in > the same directory say (dir x). cfile.c includes header.h as shown below > #include "header.h" > And if in some other directory say (dir y)we have another header file with > the same name(header.h) but with a different content then when I try to > generate the preprocessed file using the below command, > clang.exe -E path of cfile.c -I path of dir y > The header.h present in the directory dir x is getting considered even though > -I points to dir y. > > Is this the intended behavior that the current directory is searched first > for the header files irrespective of the directory provided against the -I > option. > If not how to make clang consider only the directories provided against the > -I option and not the current directory.
I think the only way to suppress the search in the directory of the file containing the #include is with the -I- (dash, capital i, dash) option. (That option also has other effects on the #include path, and it matters where you place it relative to other -I flags.) It'd probably be worth adding a dedicated flag for just the "don't look in the directory containing the file" effect. > Thanks in advance > > > > > > > > On May 9, 2019 5:01 AM, "Richard Smith" <rich...@metafoo.co.uk> wrote: > > On Mon, 6 May 2019 at 23:09, Sudhindra kulkarni via cfe-users > <cfe-users@lists.llvm.org> wrote: > > > > > > ---------- Forwarded message ---------- > > From: "Tim Northover" <t.p.northo...@gmail.com> > > Date: May 1, 2019 3:48 PM > > Subject: Re: [llvm-dev] Overriding macro values defined in source code > > To: "Sudhindra kulkarni" <sudhindrakkulkarni...@gmail.com> > > Cc: "LLVM Developers Mailing List" <llvm-...@lists.llvm.org> > > > > On Tue, 30 Apr 2019 at 22:28, Sudhindra kulkarni via llvm-dev > > <llvm-...@lists.llvm.org> wrote: > > > Is it possible to override the value of AVAL through the -D option? > > > For eg is it possible to set the value of AVAL to 2 through -D in clang ? > > > > This is more a question for the cfe-users list, but as far as I know > > there's no way to prevent redefinitions in source files. > > > > Cheers. > > > > Tim. > > > > Hi Team, > > Consider the below C code, > > #define AVAL 5 > > void func() > > { > > int a=5; > > if(a==AVAL) > > { > > //Do something > > } > > else > > { > > //Do something else > > } > > > > } > > My question is > > Is it possible to override the value of AVAL through the -D option? > > For eg is it possible to set the value of AVAL to 2 through -D in clang so > > that the else part executes? > > Also apart from -D option we are also open to other ways of achieving this > > The normal approach is to change the source to something like > > #ifndef AVAL > #define AVAL 5 > #endif > > > Thanks in advance > > _______________________________________________ > > cfe-users mailing list > > cfe-users@lists.llvm.org > > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users > > _______________________________________________ cfe-users mailing list cfe-users@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users