.ONESHELL causes quoting in .SHELLFLAGS to not work as expected

2022-01-11 Thread Britton Kerin
$ cat Makefile .ONESHELL: SHELL = /usr/bin/perl .SHELLFLAGS = -w -E 'use warnings FATAL => "all";' -E all: print 'it works' $ make all print 'it works' Can't find string terminator "'" anywhere before EOF at -e line 1. make: *** [Makefile:5: all] Error 255 $ Without .ONESHELL: the above

.SILENT: clobbered by .SILENT: with_target

2022-01-11 Thread Britton Kerin
.SILENT: (without prerequisites) doesn't work as expected when .SILENT: some_target (with prerequisites) is present: $ cat Makefile .SILENT: .SILENT: target_a target_a: echo target_a_recipe target_b: echo target_b_recipe $ make target_b

Re: Invalid use of const pointer?

2022-01-11 Thread Paul Smith
On Tue, 2022-01-11 at 10:57 +, Edward Welbourne wrote: > Indeed. The compiler is allowed to place a string literal in read- > only memory, where modifying it (even if you do "put it back the way > it was" later) is an access violation. Passing such a const char * > to your function would

Re: Invalid use of const pointer?

2022-01-11 Thread Edward Welbourne
On Sat, 08 Jan 2022 17:29:33 -0500 Paul Smith wrote: >>> It turns out to be innocuous because none of the callers care that >>> the value of the input string is modified if we return a different >>> string, but it's still wrong and should be fixed. Indeed. The compiler is allowed to place a